@sakitam-gis/point-geometry
a point geometry with transforms
Installation
Requires nodejs.
$ npm install @sakitam-gis/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
var 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
-
k
Number factor
Returns Point output point
div
Divide this point's x & y coordinates by a factor, yielding a new point.
Parameters
-
k
Point factor
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
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
convert
Construct a point from an array or point-like object 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]);
// and this
var point = Point.convert({x: 0, y: 1});
// are equivalent to
var point = new Point(0, 1);
Returns Point constructed point, or passed-through value.