1.1.0 • Published 2 years ago

@stein197/point v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

N-dimentional point implementation

This tiny package contains only one class Point that can be used to represen any-dimentional points.

Installation

npm i @stein197/point

Usage

Represents an N-dimentional point which can be applied in both two or three dimentions and more. Basic usage is:

let p = new Point<3>(0, 1, 2); // three-dimentional point
p.vector; // [0, 1, 2]: plain tuple
p.x; // 0
p.y; // 1
p.z; // 2

When working with two-dimentional points it's worth using static Point.create() function which excludes redundant z property from the instance:

let p = Point.create<2>(1, 2);
p.x; // 1
p.y; // 2
p.z; // Error - z does not exist

The same applies to one-dimentional points:

let p = Point.create<1>(1);
p.x; // 1
p.y; // Error - y does not exist

API

MethodReturn typeDescription
Point<N>.getDistance(point: Point<N>)numberResolves the distance length between two points
Point.interpolate<N>(p1: Point<N>, p2: Point<N>, t: number)Point<N>Returns a new point at t between points p1 and p2

NPM scripts

  • build builds the project
  • test runs unit tests