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