a point geometry with transforms
A standalone point geometry with useful accessor, comparison, and modification methods.
| parameter | type | description |
|---|---|---|
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. |
var point = new Point(-77, 38);Clone this point, returning a new point that can be modified without affecting the old one.
Returns Point, the clone
Add this point's x & y coordinates to another point, yielding a new point.
| parameter | type | description |
|---|---|---|
p |
Point | the other point |
Returns Point, output point
Subtract this point's x & y coordinates to from point, yielding a new point.
| parameter | type | description |
|---|---|---|
p |
Point | the other point |
Returns Point, output point
Multiply this point's x & y coordinates by fractor, yielding a new point.
| parameter | type | description |
|---|---|---|
k |
Number | fractor |
Returns Point, output point
Divide this point's x & y coordinates by divider, yielding a new point.
| parameter | type | description |
|---|---|---|
k |
Number | divider |
Returns Point, output point
Multiply this point's x & y coordinates by point, yielding a new point.
| parameter | type | description |
|---|---|---|
p |
Point | the other point |
Returns Point, output point
Divide this point's x & y coordinates with from point, yielding a new point.
| parameter | type | description |
|---|---|---|
p |
Point | the other point |
Returns Point, output point
Rotate this point around the 0, 0 origin by an angle a, given in radians
| parameter | type | description |
|---|---|---|
a |
Number | angle to rotate around, in radians |
Returns Point, output point
Rotate this point around p point by an angle a, given in radians
| parameter | type | description |
|---|---|---|
a |
Number | angle to rotate around, in radians |
p |
Point | Point to rotate around |
Returns Point, output point
Multiply this point by a 4x1 transformation matrix
| parameter | type | description |
|---|---|---|
m |
Array.<Number> | transformation matrix |
Returns Point, output point
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
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
Return a version of this point with the x & y coordinates rounded to integers.
Returns Point, rounded point
Return the magitude of this point: this is the Euclidean distance from the 0, 0 coordinate to this point's x and y coordinates.
Returns Number, magnitude
Judge whether this point is equal to another point, returning true or false.
| parameter | type | description |
|---|---|---|
other |
Point | the other point |
Returns boolean, whether the points are equal
Calculate the distance from this point to another point
| parameter | type | description |
|---|---|---|
p |
Point | the other point |
Returns Number, distance
Calculate the distance from this point to another point, without the square root step. Useful if you're comparing relative distances.
| parameter | type | description |
|---|---|---|
p |
Point | the other point |
Returns Number, distance
Get the angle from the 0, 0 coordinate to this point, in radians coordinates.
Returns Number, angle
Get the angle from this point to another point, in radians
| parameter | type | description |
|---|---|---|
b |
Point | the other point |
Returns Number, angle
Get the angle between this point and another point, in radians
| parameter | type | description |
|---|---|---|
b |
Point | the other point |
Returns Number, angle
Find the angle of the two vectors, solving the formula for the cross product a x b = |a||b|sin(θ) for θ.
| parameter | type | description |
|---|---|---|
x |
Number | the x-coordinate |
y |
Number | the y-coordinate |
Returns Number, the angle in radians
Construct a point from an array if necessary, otherwise if the input is already a Point, or an unknown type, return it unchanged
| parameter | type | description |
|---|---|---|
a |
Array.<Number>,Point | any kind of input value |
// this
var point = Point.convert([0, 1]);
// is equivalent to
var point = new Point(0, 1);Returns Point, constructed point, or passed-through value.
Requires nodejs.
$ npm install point-geometry$ npm test