1.0.1 • Published 9 years ago

ray-aabb-intersection v1.0.1

Weekly downloads
431
License
MIT
Repository
github
Last release
9 years ago

ray-aabb-intersection

stable

Determine the point of intersection between a ray and axis-aligned bounding box (AABB). Theoretically works in an arbitrary number of dimensions!

Many thanks to @BSVino for providing the original C++ implementation and accompanying videos.

view demo

Usage

NPM

out = intersection(out, origin, dir, aabb)

Determines if the given ray (origin, direction) intersects with the aabb.

If no intersection occurs, returns null. Otherwise, the intersection point is stored in out and then returned.

const origin = new Float32Array([0, 4, 0])
const dir = new Float32Array([0, 1, 0])
const out = new Float32Array(3)

const aabb = [
  [-1, -1, -1],
  [+1, +1, +1]
]

intersection(out, origin, dir, aabb)

d = intersection.distance(origin, dir, aabb)

Returns the distance from the given ray (origin, direction) to the supplied aabb. If no intersection occurs, returns Infinity.

Note that the direction vector should be normalized.

See Also

License

MIT, see LICENSE.md for details.