Fast, minimum storage ray/triangle intersection

We present a clean algorithm for determining whether a ray intersects a triangle. The algorithm translates the origin of the ray and then changes the base of that vector which yields a vector (t u v)T, where t is the distance to the plane in which the triangle lies and (u, v) represents the coordinates inside the triangle.One advantage of this method is that the plane equation need not be computed on the fly nor be stored, which can amount to significant memory savings for triangle meshes. As we found our method to be comparable in speed to previous methods, we believe it is the fastest ray/triangle intersection routine for triangles which do not have precomputed plane equations.

[1]  Eric Haines,et al.  Point in Polygon Strategies , 1994, Graphics Gems.

[2]  D. Badouel An efficient ray-polygon intersection , 1990 .

[3]  L Britton,et al.  A Web of Information , 1999 .