CPS 124/296.3
Fall 2001

Take Home Midterm

 

Given the OpenGL program cube.cpp, describe how the graphics pipeline maps the 3D unit cube, centered at the origin, to the 2D picture that is displayed. In particular, you should derive the values printed by the program for the model and projection matrices as well as identify the final screen coordinates of the cube.
Since models in OpenGL are complex entities in general, simple approximations are often needed in order to perform certain operations, like collision detection. A common approximation used is the minimum bounding box. Write a procedure to compute the smallest axis-parallel box that contains any standard GLUT primitive object.
Prove that the perspective projection produces a single vanishing point for all line segments parallel to each other but not to the view plane, regardless of their starting and ending positions. Examples of vanishing points can be found online here.
Given a unit cube with one corner at (0, 0, 0) and the opposite corner at (1, 1, 1), derive the transformation matrix necessary to rotate the cube by n degrees about its main diagonal using composed affine transformations and quaternions.
 

Feedback?