gjk

0.0.1 • Public • Published

gjk

Implementation of GJK (Gilbert-Johnson-Keerthi) algorithm for calculation distance between convex polygons and intersection detection.

Basic usage

var gjk = require('gjk');
 
var polygon = [
    {x: 1, y: 1},
    {x: 2, y: 1},
    {x: 2, y: 2},
    {x: 1, y: 2}
];
 
var notIntersectedPolygon = [
    {x: 3, y: 1},
    {x: 4, y: 1},
    {x: 4, y: 2},
    {x: 3, y: 2}
];
 
var distance = gjk.distance(polygon, notIntersectedPolygon); //1
var intersected = gjk.intersect(polygon, notIntersectedPolygon); //false

Polygons

Polygons might be one of the next formats

Array of objects

var polygon = [
    {x: 1, y: 1},
    {x: 2, y: 1},
    {x: 2, y: 2},
    {x: 1, y: 2}
];

Array of numbers

var polygon = [
    1, 1,
    2, 1,
    2, 2,
    1, 2
];

Array of arrays of numbers

var polygon = [
    [1, 1],
    [2, 1],
    [2, 2],
    [1, 2]
];

Package Sidebar

Install

npm i gjk

Weekly Downloads

66

Version

0.0.1

License

ISC

Last publish

Collaborators

  • rayz13