JSPM

@thi.ng/geom-isec

2.1.15
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 448
  • Score
    100M100P100Q109354F
  • License Apache-2.0

2D/3D shape intersection checks

Package Exports

  • @thi.ng/geom-isec
  • @thi.ng/geom-isec/api
  • @thi.ng/geom-isec/circle-circle
  • @thi.ng/geom-isec/line-line
  • @thi.ng/geom-isec/line-poly
  • @thi.ng/geom-isec/plane-plane
  • @thi.ng/geom-isec/point
  • @thi.ng/geom-isec/ray-circle
  • @thi.ng/geom-isec/ray-line
  • @thi.ng/geom-isec/ray-plane
  • @thi.ng/geom-isec/ray-poly
  • @thi.ng/geom-isec/ray-rect
  • @thi.ng/geom-isec/rect-circle
  • @thi.ng/geom-isec/rect-rect

Readme

geom-isec

npm version npm downloads Twitter Follow

This project is part of the @thi.ng/umbrella monorepo.

About

2D/3D shape intersection checks. This is a support package for @thi.ng/geom.

Type Circle Line Poly Ray Rect Tri
Circle
Line
Point
Ray
Rect

3D tests

Type AABB Plane Point Ray Sphere
AABB
Plane
Point
Ray
Sphere

Current implementations partially based on toxiclibs (Java) and Clojure version of thi.ng/geom.

Status

STABLE - used in production

Search or submit any issues for this package

Installation

yarn add @thi.ng/geom-isec

ES module import:

<script type="module" src="https://cdn.skypack.dev/@thi.ng/geom-isec"></script>

Skypack documentation

For Node.js REPL:

# with flag only for < v16
node --experimental-repl-await

> const geomIsec = await import("@thi.ng/geom-isec");

Package sizes (gzipped, pre-treeshake): ESM: 3.13 KB

Dependencies

API

Generated API docs

import * as isec from "@thi.ng/geom-isec";

const res = isec.intersectLineLine([0, 0], [100, 50], [50, 100], [50, -100]);
// { type: 4, isec: [ 50, 25 ], alpha: 0.5, beta: 0.375, det: -20000 }

res.type === isec.IntersectionType.INTERSECT
// true

Authors

Karsten Schmidt

If this project contributes to an academic publication, please cite it as:

@misc{thing-geom-isec,
  title = "@thi.ng/geom-isec",
  author = "Karsten Schmidt",
  note = "https://thi.ng/geom-isec",
  year = 2013
}

License

© 2013 - 2022 Karsten Schmidt // Apache Software License 2.0