polygon-points

0.6.0 • Public • Published

polygon-points

Build Status Build status GitHub issues GitHub license Greenkeeper badge

Determine if an x y coordinate exists in a polygon. This is being used in a motion detection project where specific regions of an image are being filtered and measured. It works fast when iterating pixels because it caches the bounding box value and uses it to quickly eliminate non-targeted pixels from unnecessary difference calculations. It is designed to be used with positive integer values starting with an x y value of 0 0 at the top left.

installation:

npm install polygon-points --save

usage:

const PP = require('polygon-points');
 
const polygonPoints = new PP([{x: 0, y: 0}, {x: 0, y: 100}, {x: 100, y: 100}, {x: 100, y: 0}]);
 
//public methods
 
//check if a point exists in the polygon
polygonPoints.containsPoint(1, 1);//returns true
 
//get bounding box of polygon
polygonPoints.boundingBox;//returns an array of 4 x y coordinates
 
//get total number of points that exist in polygon
polygonPoints.pointsLength;//returns 10000
 
//set vertexes after creating polygonPoints object
polygonPoints.vertexes = [{x: 0, y: 0}, {x: 0, y: 100}, {x: 100, y: 100}, {x: 100, y: 0}];
 
//get minX, maxX, minY, and maxY unsigned integers of bounding box
polygonPoints.minX, polygonPoints.maxX, polygonPoints.minY, polygonPoints.maxY;

Package Sidebar

Install

npm i polygon-points

Weekly Downloads

1,029

Version

0.6.0

License

MIT

Unpacked Size

10.2 kB

Total Files

5

Last publish

Collaborators

  • kevingodell