# stackgl/ray-aabb-intersection

Determine the point of intersection between a ray and axis-aligned bounding box (AABB)
Switch branches/tags
Nothing to show
hughsk Merge pull request #4 from stackgl/fix-ray-aabb-note
as of ray-aabb@3.0.0 there is a way to compute the intersection
Latest commit 31b6785 Oct 19, 2015
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Sep 29, 2015
.npmignore Sep 29, 2015
bench.js Sep 30, 2015
demo.js Sep 29, 2015
index.html Sep 29, 2015
index.js Sep 30, 2015
package.json Sep 30, 2015

# ray-aabb-intersection

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

### 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.