p5collide

2.0.2 • Public • Published

p5collide

A 2d collision detection module for nodejs

p5collide provides tools for calculating collision detection for 2D geometry.

p5collide contains some versions of, and references to, the functions in Jeffrey Thompson's Collision Detection Book. His code is CC BY-NC-SA 4.0, so, this is too! I highly, highly, reccomend reading his book to better understand all of the details involved in collision detection. Implementing this library into your code will be much easier and more efficent after reading it!

It's an incredible resource for this kind of work! – http://www.jeffreythompson.org/collision-detection/

All p5collide functions return true if the specified geometry is colliding and false if they are not.

Install

npm install p5collide

Table of Contents

2D Collision Detection

collideAll()

1. Usage

With "Rect":

const Rect = {
  type: "Rect",
  data: [x, y, width, height]
}

With "Circle":

const Circle = {
  type: "Circle",
  data: [x, y, diameters]
}

With "Point":

const Point = {
  type: "Point",
  data: [x, y]
}

With "Ellipse":

const Ellipse = {
  type: "Ellipse",
  data: [x, y, width, height]
}

With "Line":

const Line = {
  type: "Line",
  data: [x1, y1, x2, y2, buffer]
}

With "Poly":

const PolyData = [
  { x1, y1 },
  { x2, y2 },
  { x3, y3 },
  { x4, y4 }
]
const Poly = {
  type: "Poly",
  data: [PolyData]
}

With "Triangle":

const Triangle = {
  type: "Triangle",
  data: [x1, y1, x2, y2, x3, y3]
}

2. Example

const Collides = require("p5collide");
 
let object1 = {
    type: "RECT",
    data: [0, 1, 2, 3]
}
 
let object2 = {
    type: "CIRCLE",
    data: [1, 1, 2]
}
 
console.log(Collides.collideAll(object1, object2)); // Yes, it's true

3. List possible object type

  • Rect
  • Circle
  • Point
  • Ellipse
  • Line
  • Poly
  • Triangle

Other p5collide's function examples & documentation

You can see it here: https://github.com/bmoren/p5.collide2D

Source

https://github.com/bmoren/p5.collide2D

Package Sidebar

Install

npm i p5collide

Weekly Downloads

2

Version

2.0.2

License

ISC

Unpacked Size

18.4 kB

Total Files

3

Last publish

Collaborators

  • visualpascalc
  • khoakomlem