Book contents
- Frontmatter
- Contents
- Preface
- I Introduction
- II Transformations and Viewing
- III Lighting, Illumination, and Shading
- IV Averaging and Interpolation
- V Texture Mapping
- VI Color
- VII Bézier Curves
- VIII B-Splines
- IX Ray Tracing
- X Intersection Testing
- XI Radiosity
- XII Animation and Kinematics
- A Mathematics Background
- B RayTrace Software Package
- Bibliography
- Index
- Plate section
X - Intersection Testing
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- I Introduction
- II Transformations and Viewing
- III Lighting, Illumination, and Shading
- IV Averaging and Interpolation
- V Texture Mapping
- VI Color
- VII Bézier Curves
- VIII B-Splines
- IX Ray Tracing
- X Intersection Testing
- XI Radiosity
- XII Animation and Kinematics
- A Mathematics Background
- B RayTrace Software Package
- Bibliography
- Index
- Plate section
Summary
This chapter discusses issues in intersection testing and describes algorithms for intersecting rays with geometric objects. Intersection testing is one of the fundamental algorithms used in ray tracing, which usually requires intersecting a large number of rays against a large set of geometric objects. For this reason, it is often the case that the bulk of the computational time required for ray tracing is spent on intersection testing. Intersection testing has other applications besides ray tracing (for e.g., in motion planning and collision detection).
Intersection testing is a large and diverse field. In this chapter, we discuss only some of the first topics, namely, intersecting rays against simple geometric objects. We only briefly discuss methods such as bounding boxes and bounding spheres and global pruning methods such as octtrees and binary space partitioning. More information on intersection testing can be found in the book (Möller, and, Haines, 1999), which has two chapters devoted to this topic, including numerous references to the literature. The Graphics Gems volumes also contain many articles on intersection testing. For additional reading suggestions, see the end of this chapter.
Two important goals need be kept to in mind when designing software for intersection testing. The first design goal concerns accuracy and robustness. Clearly, it is important that the algorithms be accurate; even more so, the algorithms need to be free from occasional errors that may make visible artifacts, such as holes, or cause an occasional inconsistency in intersection status.
- Type
- Chapter
- Information
- 3D Computer GraphicsA Mathematical Introduction with OpenGL, pp. 257 - 271Publisher: Cambridge University PressPrint publication year: 2003