Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
point-geometry
Advanced tools
a point geometry with transforms
Point(x, y)
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
Clone this point, returning a new point that can be modified without affecting the old one.
Returns Point
, the clone
add(p)
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
sub(p)
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
multByPoint(p)
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
divByPoint(p)
Divide this point's x & y coordinates by point, yielding a new point.
parameter | type | description |
---|---|---|
p | Point | the other point |
Returns Point
, output point
mult(k)
Multiply this point's x & y coordinates by a factor, yielding a new point.
parameter | type | description |
---|---|---|
k | Point | factor |
Returns Point
, output point
div(k)
Divide this point's x & y coordinates by a factor, yielding a new point.
parameter | type | description |
---|---|---|
k | Point | factor |
Returns Point
, output point
rotate(a)
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
rotateAround(a, p)
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
matMult(m)
Multiply this point by a 4x1 transformation matrix
parameter | type | description |
---|---|---|
m | Array.<Number> | transformation matrix |
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 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
equals(other)
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
dist(p)
Calculate the distance from this point to another point
parameter | type | description |
---|---|---|
p | Point | the other point |
Returns Number
, distance
distSqr(p)
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
angle
Get the angle from the 0, 0 coordinate to this point, in radians coordinates.
Returns Number
, angle
angleTo(b)
Get the angle from this point to another point, in radians
parameter | type | description |
---|---|---|
b | Point | the other point |
Returns Number
, angle
angleWith(b)
Get the angle between this point and another point, in radians
parameter | type | description |
---|---|---|
b | Point | the other point |
Returns Number
, angle
angleWithSep(x, y)
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
convert(a)
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
FAQs
a point geometry with transforms
The npm package point-geometry receives a total of 4,440 weekly downloads. As such, point-geometry popularity was classified as popular.
We found that point-geometry demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.