Foundations of 3D Computer Graphics

Hierarchical Transformations and Picking


In this project, you will implement a system for drawing articulated bodies, as well as provide the ability to select objects on the screen. It will rely on a scene graph structure. Your program will draw two robots, (instead of two cubes as done in the previous assignments), and allow the manipulation of robot parts in a way the preserves the hierarchical structure of the robot. You will allow the user to rotate and translate the robots as well each of their movable joints.

This project builds off of a completed version of the Quaternion assignment.

Included with this code:

  1. A scene graph data structure.

Main differences from the book's code:
  1. This project relies heavily on the use of a scene graph data structure. The details of this structure and its use is described in the spec. The approach here is much more well developed here than in the text.
  2. The scene graph is operated on using by defining appropriate "visitor" classes.