@mapbox/point-geometry
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/mapbox__point-geometry package

    0.1.0 • Public • Published

    point-geometry

    build status Coverage Status

    a point geometry with transforms

    Point(x, y)

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

    Parameters

    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.

    Example

    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.

    Parameters

    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.

    Parameters

    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.

    Parameters

    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.

    Parameters

    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.

    Parameters

    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.

    Parameters

    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

    Parameters

    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

    Parameters

    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

    Parameters

    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.

    Parameters

    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

    Parameters

    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.

    Parameters

    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

    Parameters

    parameter type description
    b Point the other point

    Returns Number, angle

    angleWith(b)

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

    Parameters

    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 θ.

    Parameters

    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

    Parameters

    parameter type description
    a Array.<Number>,Point any kind of input value

    Example

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

    Returns Point, constructed point, or passed-through value.

    Installation

    Requires nodejs.

    $ npm install point-geometry

    Tests

    $ npm test

    Install

    npm i @mapbox/point-geometry

    DownloadsWeekly Downloads

    783,382

    Version

    0.1.0

    License

    ISC

    Last publish

    Collaborators

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