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.)