npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

intersects

v2.7.2

Published

a simple collection of 2d collision/intersects functions, supporting points, circles, circle outlines (circumference), lines, axis-aligned boxes, and polygons (convex)

Downloads

20,183

Readme

intersects

Collection of 2d collision/intersection checkers, supporting points, circles, circle circumferences (outline of circle), ellipses, lines, rectangles, and polygons (covex).

Live Example

https://davidfig.github.io/intersects/

Installation

npm i intersects

or

yarn add intersects

Usage

var intersects = require('intersects');

var intersected = intersects.boxBox(x1, y1, w1, h1, x2, y2, w2, h2);

or

var circleBox = require('intersects/circle-box');

var intersected = circleBox(x, y, r, x1, y1, w1, h1);

Alternative Usage

If you don't want to package the library using rollup, browserify, etc., you can also include the prepackaged library, which includes a global Intersects object:

<script src="https://unpkg.com/intersects/umd/intersects.min.js"></script>
<script>
    var intersected = Intersects.polygonPoint(points, x, y);
</script>

API


boxBox(x1, y1, w1, h1, x2, y2, w2, h2)

Box-box collision.

Param | Meaning ---|--- x1 | top-left corner of first box y1 | top-left corner of first box w1 | width of first box h1 | height of first box x2 | top-left corner of second box y2 | top-left corner of second box w2 | width of second box h2 | height of second box


boxCircle(xb, yb, wb, hb, xc, yc, rc)

Box-circle collision.

Param | Meaning ---|--- xb | top-left corner of box yb | top-left corner of box wb | width of box hb | height of box xc | center of circle yc | center of circle rc | radius of circle


boxEllipse(xb, yb, wb, hb, xe, ye, rex, rey)

Box-ellipse collision.

Param | Meaning ---|--- xb | top-left corner of box yb | top-left corner of box wb | width of box hb | height of box xe | center of ellipse ye | center of ellipse rex | x-radius of ellipse rey | y-radius of ellipse


boxLine(xb, yb, wb, hb, x1, y1, x2, y2)

Box-line collision.

Param | Meaning ---|--- xb | top-left corner of box yb | top-left corner of box wb | width of box hb | height of box x1 | first point of line y1 | first point of line x2 | second point of line y2 | second point of line


boxPoint(x1, y1, w1, h1, x2, y2)

Box-point collision.

Param | Meaning ---|--- x1 | top-left corner of box y1 | top-left corner of box w1 | width of box h1 | height of box x2 | point x y2 | point y


boxPolygon(xb, yb, wb, hb, points)

Box-polygon (convex) collision.

Param | Meaning ---|--- xb | top-left corner of box yb | top-left corner of box wb | width of box hb | height of box points | [x1, y1, x2, y2, ... xn, yn] of polygon


boxCircleOutline(xb, yb, wb, hb, xc, yc, rc)

Box (axis-oriented rectangle)-Circle outline (circumference of circle) collision.

Param | Meaning ---|--- xb | top-left corner of rectangle yb | top-left corner of rectangle wb | width of rectangle hb | height of rectangle xc | center of circle outline yc | center of circle outline rc | radius of circle outline


circleBox(xc, yc, rc, xb, yb, wb, hb)

Circle-box (axis-oriented rectangle) collision.

Param | Meaning ---|--- xc | center of circle yc | center of circle rc | radius of circle xb | top-left corner of rectangle yb | top-left corner of rectangle wb | width of rectangle hb | height of rectangle


circleCircle(x1, y1, r1, x2, y2, r2)

Circle-circle collision.

Param | Meaning ---|--- x1 | center of circle 1 y1 | center of circle 1 r1 | radius of circle 1 x2 | center of circle 2 y2 | center of circle 2 r2 | radius of circle 2


circleEllipse(xc, yc, rc, xe, ye, rex, rey)

Circle-ellipse collision.

Param | Meaning ---|--- x1 | center of circle y1 | center of circle r1 | radius of circle xe | center of ellipse ye | center of ellipse rex | x-radius of ellipse rey | y-radius of ellipse


circleLine(xc, yc, rc, x1, y1, x2, y2)

Circle-line collision.

Param | Meaning ---|--- xc | center of circle yc | center of circle rc | radius of circle x1 | first point of line y1 | first point of line x2 | second point of line y2 | second point of line


circlePoint(x1, y1, r1, x2, y2)

Circle-point collision.

Param | Meaning ---|--- x1 | center of circle y1 | center of circle r1 | radius of circle x2 | point x y2 | point y


circlePolygon(xc, yc, rc, points)

Circle-polygon (convex) collision.

Param | Meaning ---|--- xc | center of circle yc | center of circle rc | radius of circle points | [x1, y1, x2, y2, ... xn, yn] of polygon


circleCircleOutline(xc, yc, rc, xco, yco, rco)

(Not available yet.) Circle-Circle outline (circumference of circle) collision.

Param | Meaning ---|--- xc | center of circle yc | center of circle rc | radius of circle xco | center of circle outline yco | center of circle outline rco | radius of circle outline


lineBox(x1, y1, x2, y2, xb, yb, wb, hb)

Line-box collision.

Param | Meaning ---|--- x1 | point 1 of line y1 | point 1 of line x2 | point 2 of line y2 | point 2 of line xb | top-left of box yb | top-left of box wb | width of box hb | height of box


lineCircle(x1, y1, x2, y2, xc, yc, rc)

Line-circle collision.

Param | Meaning ---|--- x1 | point 1 of line y1 | point 1 of line x2 | point 2 of line y2 | point 2 of line xc | center of circle yc | center of circle rc | radius of circle


lineEllipse(x1, y1, x2, y2, xe, ye, rex, rey)

Line-ellipse collision.

Param | Meaning ---|--- x1 | point 1 of line y1 | point 1 of line x2 | point 2 of line y2 | point 2 of line xe | center of ellipse ye | center of ellipse rex | x-radius of ellipse rey | y-radius of ellipse


lineLine(x1, y1, x2, y2, x3, y3, x4, y4, thickness1, thickness2)

Line-line collision.

Param | Meaning ---|--- x1 | first point in line 1 y1 | first point in line 1 x2 | second point in line 1 y2 | second point in line 1 x3 | first point in line 2 y3 | first point in line 2 x4 | second point in line 2 y4 | second point in line 2 thickness1 | of line 1 (the line is centered in its thickness--see demo) thickness2 | of line 2 (the line is centered in its thickness--see demo)


linePolygon(x1, y1, x2, y2, points, tolerance)

Line-polygon (convex) collision.

Param | Meaning ---|--- x1 | point 1 of line y1 | point 1 of line x2 | point 2 of line y2 | point 2 of line points | [x1, y1, x2, y2, ... xn, yn] of polygon tolerance | maximum distance of point to polygon's edges that triggers collision (see pointLine)

linePoint(x1, y1, x2, y2, xp, yp)

Line-point collision.

Param | Meaning ---|--- x1 | point 1 of line y1 | point 1 of line x2 | point 2 of line y2 | point 2 of line xp | point x yp | point y


lineCircleOutline(x1, y1, x2, y2, xc, yc, rc)

Line-Circle outline (circumference of circle) collision.

Param | Meaning ---|--- x1 | first point of line y1 | first point of line x2 | second point of line y2 | second point of line xc | center of circle outline yc | center of circle outline rc | radius of circle outline


pointBox(x1, y1, xb, yb, wb, hb)

Point-box collision.

Param | Meaning ---|--- x1 | point x y1 | point y xb | top-left corner of box yb | top-left corner of box wb | width of box hb | height of box


pointPolygon(x1, y1, points)

Point-polygon (convex) collision.

Param | Meaning ---|--- x1 | point x y1 | point y points | [x1, y1, x2, y2, ... xn, yn] of polygon


pointLine(xp, yp, x1, y1, x2, y2)

point-line collision.

Param | Meaning ---|--- xp | point x yp | point y x1 | point 1 of line y1 | point 1 of line x2 | point 2 of line y2 | point 2 of line


pointCircle(xp, yp, xc, yc, rc)

point-circle collision.

Param | Meaning ---|--- xp | point x yp | point y xc | center of circle yc | center of circle rc | radius of circle


pointEllipse(xp, yp, xe, ye, rex, rey)

point-ellipse collision.

Param | Meaning ---|--- xp | point x yp | point y xe | center of circle ye | center of circle rex | x-radius of circle rey | y-radius of circle


pointCircleOutline(x2, y2, x1, y1, r1)

Point-Circle outline (circumference of circle) collision.

Param | Meaning ---|--- x1 | center of circle outline y1 | center of circle outline r1 | radius of circle outline x2 | point x y2 | point y


polygonBox(points, x, y, w, h)

Polygon (convex)-box collision.

Param | Meaning ---|--- points | [x1, y1, x2, y2, ... xn, yn] of polygon x | of box y | of box w | of box h | of box


polygonCircle(points, xc, yc, rc)

Polygon (convex)-circle collision.

Param | Meaning ---|--- points | [x1, y1, x2, y2, ... xn, yn] of polygon xc | center of circle yc | center of circle rc | radius of circle


polygonEllipse(points, xe, ye, rex, rey)

Polygon (convex)-ellipse collision.

Param | Meaning ---|--- points | [x1, y1, x2, y2, ... xn, yn] of polygon xe | center of ellipse ye | center of ellipse rex | x-radius of ellipse rey | y-radius of ellipse


polygonLine(points, x1, y1, x2, y2, tolerance)

Polygon (convex)-line collisions.

Param | Meaning ---|--- points | [x1, y1, x2, y2, ... xn, yn] of polygon x1 | first point in line y1 | first point in line x2 | second point in line y2 | second point in line tolerance | maximum distance of point to polygon's edges that triggers collision (see pointLine)


polygonPoint(points, x, y)

Polygon (convex)-point collision.

Param | Meaning ---|--- points | [x1, y1, x2, y2, ... xn, yn] of polygon x | of point y | of point


polygonPolygon(points1, points2)

Polygon (convex)-polygon (convex) collision.

Param | Meaning ---|--- points1 | [x1, y1, x2, y2, ... xn, yn] of first polygon points2 | [x1, y1, x2, y2, ... xn, yn] of second polygon


ellipseBox(xe, ye, rex, rey, x, y, w, h)

Ellipse-box collision.

Param | Meaning ---|--- xe | center of ellipse ye | center of ellipse rex | x-radius of ellipse rey | y-radius of ellipse x | of box y | of box w | of box h | of box


ellipseCircle(xe, ye, rex, rey, xc, yc, rc)

Ellipse-circle collision.

Param | Meaning ---|--- xe | center of ellipse ye | center of ellipse rex | x-radius of ellipse rey | y-radius of ellipse xc | center of circle yc | center of circle rc | radius of circle


ellipseEllipse(x1, y1, r1x, r1y, x2, y2, r2x, r2y)

Ellipse-ellipse collision.

Param | Meaning ---|--- x1 | center of ellipse 1 y1 | center of ellipse 1 r1x | x-radius of ellipse 1 r1y | y-radius of ellipse 1 x2 | center of ellipse 2 y2 | center of ellipse 2 r2x | x-radius of ellipse 2 r2y | y-radius of ellipse 2


ellipseLine(xe, ye, rex, rey, x1, y1, x2, y2)

Ellipse-line collisions.

Param | Meaning ---|--- xe | center of ellipse ye | center of ellipse rex | x-radius of ellipse rey | y-radius of ellipse x1 | first point in line y1 | first point in line x2 | second point in line y2 | second point in line


ellipsePoint(xe, ye, rex, rey, x, y)

Ellipse-point collision.

Param | Meaning ---|--- xe | center of ellipse ye | center of ellipse rex | x-radius of ellipse rey | y-radius of ellipse x | of point y | of point


ellipsePolygon(xe, ye, rex, rey, points2)

Ellipse-polygon (convex) collision.

Param | Meaning ---|--- xe | center of ellipse ye | center of ellipse rex | x-radius of ellipse rey | y-radius of ellipse xe | center of ellipse ye | center of ellipse rex | x-radius of ellipse rey | y-radius of ellipse


circleOutlineBox(xc, yc, rc, xb, yb, wb, hb)

Circle outline (circumference of circle)-box (axis-oriented rectangle) collision.

Param | Meaning ---|--- xc | center of circle outline yc | center of circle outline rc | radius of circle outline xb | top-left corner of rectangle yb | top-left corner of rectangle wb | width of rectangle hb | height of rectangle


circleOutlineCircle(xco, yco, rco, xc, yc, rc)

Circle outline (circumference of circle)-circle collision.

Param | Meaning ---|--- xco | center of circle outline yco | center of circle outline rco | radius of circle outline xc | center of circle yc | center of circle rc | radius of circle


circleOutlineEllipse(xc, yc, rc, xe, ye, rex, rey)

(Not available yet.) Circle outline (circumference of circle)-ellipse collision.

Param | Meaning ---|--- x1 | center of circle outline y1 | center of circle outline r1 | radius of circle outline xe | center of ellipse ye | center of ellipse rex | x-radius of ellipse rey | y-radius of ellipse


circleOutlineLine(xc, yc, rc, x1, y1, x2, y2)

Circle outline (circumference of circle)-line collision.

Param | Meaning ---|--- xc | center of circle outline yc | center of circle outline rc | radius of circle outline x1 | first point of line y1 | first point of line x2 | second point of line y2 | second point of line


circleOutlinePoint(x1, y1, r1, x2, y2)

Circle outline (circumference of circle)-point collision.

Param | Meaning ---|--- x1 | center of circle outline y1 | center of circle outline r1 | radius of circle outline x2 | point x y2 | point y


circleOutlinePolygon(xc, yc, rc, points)

(Not available yet.) Circle outline (circumference of circle)-polygon (convex) collision.

Param | Meaning ---|--- xc | center of circle outline yc | center of circle outline rc | radius of circle outline points | [x1, y1, x2, y2, ... xn, yn] of polygon

License

MIT License

(c) 2019 YOPEY YOPEY LLC by David Figatner