CS 426 Exercises
  Ray Tracing

  1. What is a primary ray? a secondary ray?
  2. What is a ray tree? What determines the branching factor at each node of the ray tree?
  3. Describe how shadows are determined in a recursive ray tracer. Extend your answer to consider polygonal area light sources.
  4. Derive the algebraic solution for the intersection of a ray and a plane.
  5. Derive the algebraic solution for the intersection of a ray and a sphere.
  6. Derive the algebraic solution for the intersection of a ray and an infinite cylinder.
  7. Which of the following spatial data structures partition 3D space into non-overlapping cells: a) grid, b) octree, c) BSP tree, d) bounding volume hierarchy?
  8. What is the expected computational complexity of intersecting a ray with a scene containing N triangles using the following spatial data structures: a) none, a) grid, c) BSP tree.
  9. If L represents emission from a light source, C represents reception at a camera, D represents a diffuse reflection at a surface, and S is a pure specular reflection at a surface, which of the following ray paths are modeled by your ray tracer of assignment #3: a) LDC b) LSC c) LDDC d) LSSC e) LSDSC f) LDSDC
  10. Ray tracing is an approximate solution method for the rendering equation. Explain.