├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── canvaskit.wasm ├── cli-figure-to-apng.ts ├── collision-2d.js ├── docs ├── aabb-aabb-overlap.png ├── aabb-aabb-sweep1.png ├── aabb-aabb-sweep2.png ├── aabb-point-overlap.png ├── aabb-segment-overlap.png ├── aabb-segment-sweep1.png ├── aabb-segments-sweep1-indexed.png ├── circle-circle-overlap.png ├── cone-point-overlap.png ├── ray-circle-overlap.png ├── ray-plane-distance.png ├── segment-circle-overlap.png ├── segment-point-overlap.png ├── segment-segment-overlap.png ├── segments-circle-sweep1.png ├── segments-segment-overlap.png └── triangle-point-overlap.png ├── figures.html ├── figures ├── aabb-aabb-overlap.js ├── aabb-aabb-sweep1.js ├── aabb-aabb-sweep2.js ├── aabb-point-overlap.js ├── aabb-segment-overlap.js ├── aabb-segment-sweep1.js ├── aabb-segments-sweep1-indexed.js ├── circle-circle-overlap.js ├── common.js ├── cone-point-overlap.js ├── ray-circle-overlap.js ├── ray-plane-distance.js ├── segment-circle-overlap.js ├── segment-point-overlap.js ├── segment-segment-overlap.js ├── segments-circle-sweep1.js ├── segments-segment-overlap.js └── triangle-point-overlap.js ├── package.json ├── src ├── AABB.js ├── Plane.js ├── Polygon.js ├── PolylinePath.js ├── TraceInfo.js ├── aabb-aabb-contain.js ├── aabb-aabb-overlap.js ├── aabb-aabb-sweep1.js ├── aabb-aabb-sweep2.js ├── aabb-point-overlap.js ├── aabb-segment-overlap.js ├── aabb-segment-sweep1.js ├── aabb-segments-sweep1-indexed.js ├── circle-circle-collision-response.js ├── circle-circle-overlap.js ├── circle-circle-sweep2.js ├── circle-point-overlap.js ├── cone-point-overlap.js ├── contact-copy.js ├── contact.js ├── cpa-time.js ├── get-lowest-root.js ├── point-polygon-overlap.js ├── ray-circle-overlap.js ├── segment-circle-overlap.js ├── segment-normal.js ├── segment-point-overlap.js ├── segment-segment-overlap.js ├── segments-circle-sweep1-indexed.js ├── segments-circle-sweep1.js ├── segments-ellipsoid-sweep1-indexed.js ├── segments-segment-overlap-indexed.js ├── segments-segment-overlap.js ├── segseg-closest.js ├── toji-tris.js ├── triangle-area.js ├── triangle-get-center.js └── triangle-point-overlap.js └── test ├── _assert.js ├── aabb-aabb-overlap.js ├── aabb-aabb-sweep1.js ├── aabb-point-overlap.js ├── aabb-segment-overlap.js ├── segment-segment-overlap.js ├── segments-ellipsoid-sweep1-indexed.js └── trace-circle-triangle.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | deno.lock 4 | 5 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/README.md -------------------------------------------------------------------------------- /canvaskit.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/canvaskit.wasm -------------------------------------------------------------------------------- /cli-figure-to-apng.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/cli-figure-to-apng.ts -------------------------------------------------------------------------------- /collision-2d.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/collision-2d.js -------------------------------------------------------------------------------- /docs/aabb-aabb-overlap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/docs/aabb-aabb-overlap.png -------------------------------------------------------------------------------- /docs/aabb-aabb-sweep1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/docs/aabb-aabb-sweep1.png -------------------------------------------------------------------------------- /docs/aabb-aabb-sweep2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/docs/aabb-aabb-sweep2.png -------------------------------------------------------------------------------- /docs/aabb-point-overlap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/docs/aabb-point-overlap.png -------------------------------------------------------------------------------- /docs/aabb-segment-overlap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/docs/aabb-segment-overlap.png -------------------------------------------------------------------------------- /docs/aabb-segment-sweep1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/docs/aabb-segment-sweep1.png -------------------------------------------------------------------------------- /docs/aabb-segments-sweep1-indexed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/docs/aabb-segments-sweep1-indexed.png -------------------------------------------------------------------------------- /docs/circle-circle-overlap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/docs/circle-circle-overlap.png -------------------------------------------------------------------------------- /docs/cone-point-overlap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/docs/cone-point-overlap.png -------------------------------------------------------------------------------- /docs/ray-circle-overlap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/docs/ray-circle-overlap.png -------------------------------------------------------------------------------- /docs/ray-plane-distance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/docs/ray-plane-distance.png -------------------------------------------------------------------------------- /docs/segment-circle-overlap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/docs/segment-circle-overlap.png -------------------------------------------------------------------------------- /docs/segment-point-overlap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/docs/segment-point-overlap.png -------------------------------------------------------------------------------- /docs/segment-segment-overlap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/docs/segment-segment-overlap.png -------------------------------------------------------------------------------- /docs/segments-circle-sweep1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/docs/segments-circle-sweep1.png -------------------------------------------------------------------------------- /docs/segments-segment-overlap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/docs/segments-segment-overlap.png -------------------------------------------------------------------------------- /docs/triangle-point-overlap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/docs/triangle-point-overlap.png -------------------------------------------------------------------------------- /figures.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures.html -------------------------------------------------------------------------------- /figures/aabb-aabb-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures/aabb-aabb-overlap.js -------------------------------------------------------------------------------- /figures/aabb-aabb-sweep1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures/aabb-aabb-sweep1.js -------------------------------------------------------------------------------- /figures/aabb-aabb-sweep2.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures/aabb-aabb-sweep2.js -------------------------------------------------------------------------------- /figures/aabb-point-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures/aabb-point-overlap.js -------------------------------------------------------------------------------- /figures/aabb-segment-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures/aabb-segment-overlap.js -------------------------------------------------------------------------------- /figures/aabb-segment-sweep1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures/aabb-segment-sweep1.js -------------------------------------------------------------------------------- /figures/aabb-segments-sweep1-indexed.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures/aabb-segments-sweep1-indexed.js -------------------------------------------------------------------------------- /figures/circle-circle-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures/circle-circle-overlap.js -------------------------------------------------------------------------------- /figures/common.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures/common.js -------------------------------------------------------------------------------- /figures/cone-point-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures/cone-point-overlap.js -------------------------------------------------------------------------------- /figures/ray-circle-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures/ray-circle-overlap.js -------------------------------------------------------------------------------- /figures/ray-plane-distance.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures/ray-plane-distance.js -------------------------------------------------------------------------------- /figures/segment-circle-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures/segment-circle-overlap.js -------------------------------------------------------------------------------- /figures/segment-point-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures/segment-point-overlap.js -------------------------------------------------------------------------------- /figures/segment-segment-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures/segment-segment-overlap.js -------------------------------------------------------------------------------- /figures/segments-circle-sweep1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures/segments-circle-sweep1.js -------------------------------------------------------------------------------- /figures/segments-segment-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures/segments-segment-overlap.js -------------------------------------------------------------------------------- /figures/triangle-point-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/figures/triangle-point-overlap.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/package.json -------------------------------------------------------------------------------- /src/AABB.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/AABB.js -------------------------------------------------------------------------------- /src/Plane.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/Plane.js -------------------------------------------------------------------------------- /src/Polygon.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/Polygon.js -------------------------------------------------------------------------------- /src/PolylinePath.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/PolylinePath.js -------------------------------------------------------------------------------- /src/TraceInfo.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/TraceInfo.js -------------------------------------------------------------------------------- /src/aabb-aabb-contain.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/aabb-aabb-contain.js -------------------------------------------------------------------------------- /src/aabb-aabb-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/aabb-aabb-overlap.js -------------------------------------------------------------------------------- /src/aabb-aabb-sweep1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/aabb-aabb-sweep1.js -------------------------------------------------------------------------------- /src/aabb-aabb-sweep2.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/aabb-aabb-sweep2.js -------------------------------------------------------------------------------- /src/aabb-point-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/aabb-point-overlap.js -------------------------------------------------------------------------------- /src/aabb-segment-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/aabb-segment-overlap.js -------------------------------------------------------------------------------- /src/aabb-segment-sweep1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/aabb-segment-sweep1.js -------------------------------------------------------------------------------- /src/aabb-segments-sweep1-indexed.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/aabb-segments-sweep1-indexed.js -------------------------------------------------------------------------------- /src/circle-circle-collision-response.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/circle-circle-collision-response.js -------------------------------------------------------------------------------- /src/circle-circle-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/circle-circle-overlap.js -------------------------------------------------------------------------------- /src/circle-circle-sweep2.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/circle-circle-sweep2.js -------------------------------------------------------------------------------- /src/circle-point-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/circle-point-overlap.js -------------------------------------------------------------------------------- /src/cone-point-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/cone-point-overlap.js -------------------------------------------------------------------------------- /src/contact-copy.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/contact-copy.js -------------------------------------------------------------------------------- /src/contact.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/contact.js -------------------------------------------------------------------------------- /src/cpa-time.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/cpa-time.js -------------------------------------------------------------------------------- /src/get-lowest-root.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/get-lowest-root.js -------------------------------------------------------------------------------- /src/point-polygon-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/point-polygon-overlap.js -------------------------------------------------------------------------------- /src/ray-circle-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/ray-circle-overlap.js -------------------------------------------------------------------------------- /src/segment-circle-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/segment-circle-overlap.js -------------------------------------------------------------------------------- /src/segment-normal.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/segment-normal.js -------------------------------------------------------------------------------- /src/segment-point-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/segment-point-overlap.js -------------------------------------------------------------------------------- /src/segment-segment-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/segment-segment-overlap.js -------------------------------------------------------------------------------- /src/segments-circle-sweep1-indexed.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/segments-circle-sweep1-indexed.js -------------------------------------------------------------------------------- /src/segments-circle-sweep1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/segments-circle-sweep1.js -------------------------------------------------------------------------------- /src/segments-ellipsoid-sweep1-indexed.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/segments-ellipsoid-sweep1-indexed.js -------------------------------------------------------------------------------- /src/segments-segment-overlap-indexed.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/segments-segment-overlap-indexed.js -------------------------------------------------------------------------------- /src/segments-segment-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/segments-segment-overlap.js -------------------------------------------------------------------------------- /src/segseg-closest.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/segseg-closest.js -------------------------------------------------------------------------------- /src/toji-tris.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/toji-tris.js -------------------------------------------------------------------------------- /src/triangle-area.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/triangle-area.js -------------------------------------------------------------------------------- /src/triangle-get-center.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/triangle-get-center.js -------------------------------------------------------------------------------- /src/triangle-point-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/src/triangle-point-overlap.js -------------------------------------------------------------------------------- /test/_assert.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/test/_assert.js -------------------------------------------------------------------------------- /test/aabb-aabb-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/test/aabb-aabb-overlap.js -------------------------------------------------------------------------------- /test/aabb-aabb-sweep1.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/test/aabb-aabb-sweep1.js -------------------------------------------------------------------------------- /test/aabb-point-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/test/aabb-point-overlap.js -------------------------------------------------------------------------------- /test/aabb-segment-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/test/aabb-segment-overlap.js -------------------------------------------------------------------------------- /test/segment-segment-overlap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/test/segment-segment-overlap.js -------------------------------------------------------------------------------- /test/segments-ellipsoid-sweep1-indexed.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/test/segments-ellipsoid-sweep1-indexed.js -------------------------------------------------------------------------------- /test/trace-circle-triangle.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mreinstein/collision-2d/HEAD/test/trace-circle-triangle.js --------------------------------------------------------------------------------