3-D Viewing Pipeline - Writeup
Phil Katz and Stephen St.Vincent
home   |   images
Lab description


Lab summary:

The goal of this lab was to implement a full 3D viewing system, by which three-dimensional objects can be viewed from arbitrary angles and distances using a perspective projection.

We had to add some matrix operations, such as scaling, translating, and rotating in arbitrary directions in all three dimensions. We also had to create a PerspectiveView object, which holds all of the information regarding the viewing region, including the view reference point (VRP), distances to the front and back clip planes, the dimensions of the viewing window, and the view plane normal vector (VPN).

With this implemented, we can now create a view transformation matrix (VTM) that we can pass into Module_draw such that an entire scene can be rendered from a particular vantage point with relative ease.

Questions:
  1. What are the (x,y) values for the eight corners of the cube in the first required image?
    75, 75
    25, 75
    25, 25
    75, 25
    30, 70
    30, 30
    70, 30
    70, 70


  2. How does modifying the distance between the COP and the VRP affect the appearance of the cube in the first required image?

    The distance between the COP and the VRP affects the size of the cube in the image; as the distance increases (as in the image on the right, where we doubled the distance), the cube appears smaller. If the distance decreases, the cube appears larger, as in the image on the left.


  3. How does modifying the direction of VUP modify the appearance of the cube in the first required image?
    The direction of VUP affects the orientation of the cube; changing VUP rotates the cube within the image. In this image, we used [.5,.5,0] as VUP, and the cube appears rotated by 45 degrees.


  4. How does modifying the size of the view window modify the appearance of the cube in the first required image?

    Modifying the size of the view window affects the size of the cube in the image. When the view window is larger, the cube appears smaller in the image, as it fills less of the window. In the image on the right, we doubled the x value of the window, but left the y value the same, which distorts the cube into a rectangular prism.


  5. What extensions did you do for this assignment, how did you do them, and how well did they work?
    We did not do any extensions for this lab.