2.0.2 • Published 4 years ago

p5collide v2.0.2

Weekly downloads
8
License
ISC
Repository
github
Last release
4 years ago

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

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago