ray-sphere-intersection

test whether a ray intersects with a sphere

MIT License

Downloads
2.3K
Stars
6

ray-sphere-intersection

Test whether a ray intersects with a sphere.

var intersect = require('ray-sphere-intersection')

var origin = [0, 0, 4], 
    direction = [0, 0, -1], 
    center = [0, 0, 0], 
    radius = 1

var hit = intersect([], origin, direction, center, radius)

if (hit) {
  console.log(hit) // [0, 0, 1]
}

Adapted from LibGDX. PRs for optimizations/etc welcome.

Usage

out = intersect(out, origin, direction, center, radius)

Determines if the 3D ray (origin, direction) intersects with the 3D sphere (center, radius).

Note: direction must be normalized before calling this method

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

License

MIT, see LICENSE.md for details.