Socket
Socket
Sign inDemoInstall

2d-point

Package Overview
Dependencies
0
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    2d-point

2D point object


Version published
Weekly downloads
35
increased by59.09%
Maintainers
1
Install size
6.80 kB
Created
Weekly downloads
 

Readme

Source

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.

  • create
  • add
  • multiply
  • subtract
  • fitWithin
  • fitOnce

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);
// => {x: 2, y: 4}

var origin = Point.create();
// => {x: 0, y: 0}
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);
// => {x: 6, y: 8}
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);
// => {x: -2, y: -2}
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);
// => {x: 6, y: 9}
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);
// => {x: 2, y: 1}

Point.fitWithin(container, portrait);
// => {x: 1, y: 2}
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);
// => {x: 4, y: 2}

Point.fitWithin(container, portrait);
// => {x: 2, y: 4}

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 ?

Keywords

FAQs

Last updated on 22 Aug 2014

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc