2D Point
Create and manipulate 2d point object.
Installation
Available as a node package. To install use
$ npm install 2d-point
Methods
The following methods are available.
Use
create Point.create(x, y)
Creates a frozen 2D point. Defaults to origin coordinate if no arguments given.
var Point = require('2d-point');
var pt = Point.create(2, 4);
var origin = Point.create();
add Point.add(p, q)
Vector add two points returning a new point.
var p = Point.create(2, 3);
var q = Point.create(4, 5);
Point.add(p, q);
subtract Point.subtract(p, q)
Vector subtract two points returning a new point.
var p = Point.create(2, 3);
var q = Point.create(4, 5);
Point.subtract(p, q);
multiply Point.multiply(a, p)
Vector scalar multiply a point returning a new point.
var a = 3;
var p = Point.create(2, 3);
Point.multiply(a, p);
fitWithin Point.fitWithin(container, vector)
Scales vector to fit just within the bounding box of the container point.
var container = Point.create(2, 2);
var landscape = Point.create(8, 4);
var portrait = Point.create(0.5, 1);
Point.fitWithin(container, landscape);
Point.fitWithin(container, portrait);
fitOnce Point.fitWithin(container, vector)
Scales vector to fit just within on dimension of the bounding box of the container point.
var container = Point.create(2, 2);
var landscape = Point.create(8, 4);
var portrait = Point.create(0.5, 1);
Point.fitWithin(container, landscape);
Point.fitWithin(container, portrait);
Considered extensions
- fit within to deal with zeros ?
- negate ?
- Curry methods ?
- comparison methods ?
- conditionally make svg point if available ? No
- tests in browser ? No
- dot product ?
- convert to radial ? No
- furthest ?
- nearest ?