@mapbox/point-geometry
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

@mapbox/point-geometry

A Point class for representing point geometry with useful utility methods.

Installation

$ npm install @mapbox/point-geometry

API

Point

A standalone point geometry with useful accessor, comparison, and modification methods.

Parameters

  • x number the x-coordinate. This could be longitude or screen pixels, or any other sort of unit.
  • y number the y-coordinate. This could be latitude or screen pixels, or any other sort of unit.

Examples

const point = new Point(-77, 38);

clone

Clone this point, returning a new point that can be modified without affecting the old one.

Returns Point the clone

add

Add this point's x & y coordinates to another point, yielding a new point.

Parameters
  • p Point the other point

Returns Point output point

sub

Subtract this point's x & y coordinates to from point, yielding a new point.

Parameters
  • p Point the other point

Returns Point output point

multByPoint

Multiply this point's x & y coordinates by point, yielding a new point.

Parameters
  • p Point the other point

Returns Point output point

divByPoint

Divide this point's x & y coordinates by point, yielding a new point.

Parameters
  • p Point the other point

Returns Point output point

mult

Multiply this point's x & y coordinates by a factor, yielding a new point.

Parameters

Returns Point output point

div

Divide this point's x & y coordinates by a factor, yielding a new point.

Parameters

Returns Point output point

rotate

Rotate this point around the 0, 0 origin by an angle a, given in radians

Parameters
  • a number angle to rotate around, in radians

Returns Point output point

rotateAround

Rotate this point around p point by an angle a, given in radians

Parameters
  • a number angle to rotate around, in radians
  • p Point Point to rotate around

Returns Point output point

matMult

Multiply this point by a 4x1 transformation matrix

Parameters

Returns Point output point

unit

Calculate this point but as a unit vector from 0, 0, meaning that the distance from the resulting point to the 0, 0 coordinate will be equal to 1 and the angle from the resulting point to the 0, 0 coordinate will be the same as before.

Returns Point unit vector point

perp

Compute a perpendicular point, where the new y coordinate is the old x coordinate and the new x coordinate is the old y coordinate multiplied by -1

Returns Point perpendicular point

round

Return a version of this point with the x & y coordinates rounded to integers.

Returns Point rounded point

mag

Return the magnitude of this point: this is the Euclidean distance from the 0, 0 coordinate to this point's x and y coordinates.

Returns number magnitude

equals

Judge whether this point is equal to another point, returning true or false.

Parameters
  • other Point the other point

Returns boolean whether the points are equal

dist

Calculate the distance from this point to another point

Parameters
  • p Point the other point

Returns number distance

distSqr

Calculate the distance from this point to another point, without the square root step. Useful if you're comparing relative distances.

Parameters
  • p Point the other point

Returns number distance

angle

Get the angle from the 0, 0 coordinate to this point, in radians coordinates.

Returns number angle

angleTo

Get the angle from this point to another point, in radians

Parameters
  • b Point the other point

Returns number angle

angleWith

Get the angle between this point and another point, in radians

Parameters
  • b Point the other point

Returns number angle

angleWithSep

Find the angle of the two vectors, solving the formula for the cross product a x b = |a||b|sin(θ) for θ.

Parameters

Returns number the angle in radians

convert

Construct a point from an array if necessary, otherwise if the input is already a Point, or an unknown type, return it unchanged

Parameters
Examples
// this
var point = Point.convert([0, 1]);
// is equivalent to
var point = new Point(0, 1);

Returns Point constructed point, or passed-through value.

Package Sidebar

Install

npm i @mapbox/point-geometry

Weekly Downloads

1,570,073

Version

1.1.0

License

ISC

Unpacked Size

24.2 kB

Total Files

5

Last publish

Collaborators

  • mbx-npm-ci-production
  • mbx-npm-ci-staging
  • mbx-npm-advanced-actions-production
  • mbx-npm-advanced-actions-staging
  • mbx-npm-09-production
  • mbx-npm-08-production
  • mbx-npm-07-production
  • mbx-npm-06-production
  • mbx-npm-05-production
  • mbx-npm-04-production
  • mbx-npm-03-production
  • mbx-npm-02-production
  • mbx-npm-01-production
  • mbx-npm-02-staging
  • mapbox-npm-01
  • mapbox-npm-02
  • mapbox-npm-07
  • mapbox-npm-03
  • mapbox-npm-04
  • mapbox-npm-09
  • mapbox-npm-05
  • mapbox-npm-06
  • mapbox-npm-08
  • mapbox-npm-advanced-actions
  • mapbox-npm-ci
  • mapbox-npm
  • mapbox-admin
  • mapbox-machine-user