Ray tracing generalized cylinders

Abstract
An algorithm is presented for ray tracing generalized cylinders, that is, objects defined by sweeping a two-dimensional contour along a three-dimensional trajectory. The contour can be any 'well-behaved' curve in the sense that it is continuous, and that the points where the tangent is horizontal or vertical can be determined, the trajectory can be any spline curve. First a definition is given of generalized cylinders in terms of the Frenet frame of the trajectory. Then the main problem in ray tracing these objects, the computation of the intersection points with a ray, is reduced to the problem of intersecting two two-dimensional curves. This problem is solved by a subdivision algorithm. The three-dimensional normal at the intersection point closest to the eye point, necessary to perform shading, is obtained by transforming the two-dimensional normal at the corresponding intersection point of the two two-dimensional curves. In this way it is possible to obtain highly realistic images for a very broad class of objects.

This publication has 7 references indexed in Scilit: