Homework 4

22C:151 Introduction to Computer Graphics

Due Thursday, October 9, 2008

20 points


1. Exercise 5.7, page 286 Angel. It is not sufficient to say "since perspective projection is affine, it preserves lines." Instead, start by considering an arbitrary line passing through two points, say p1 = (x1, y1, z1) and p2 = (x2, y2, z2). Next, consider an arbitrary point on this line, expressed in parametric form. Finally, consider the expression resulting by applying projection to the point. You should be able to argue that the the resulting expression represents a line.

2. Exercise 5.8, page 286 Angel.

3. Implement a simple GL program that displays one or more objects using an oblique projection. Basically, you need to create a shear projection matrx by combining GL's orthographic projection with an appropriate shear matrix. See 5.8.3 of Angel (*except* for this assignment, you can ignore the statement in the second paragraph of 5.8.3 about the viewing volume being different for oblique projections. Just carefully consider how to use an orthographic view volume. You can also ignore the end of the subsection, starting from "We are not finished ..." since you'll simply combine the full OpenGl ortho matrix with a shear matrix. The point of this assignment is just to give a simple demonstration that you understand the basic idea of how to do oblique projection by using shear.)