3D viewing
This assignment is to complete the following classes to implement 3D
viewing (both orthographic and perspecitive projection).
Part 1: Matrices
Complete a Matrix class, which includes many static methods that return
4x4 matrices:
- translate
- scale
- rotate
- camera
- perspective
- orthographic
- viewport
The first three matrices (translate, scale, and rotate) are given in
chapter 20 of the textbook, "Ray Tracing from the Ground Up". You will
need to provide additional references on the other four topics. One
possibility would be to use chapter 7 on Viewing from "Fundamentals of
Graphics" by Peter Shirley.
Part 2: Viewing
Complete a Geometry class that has the following incomplete methods:
- translate
- getOrthographic
- getPerspective
My Viewer3D code allows the user to rotate the object using
the left mouse button. You should modify the ObjGeometry class so the user can
translate the object horizontally and vertically with the middle mouse
button, and scale the object in z with the right mouse button.
You should not need to modify the Viewer3D class, but you may if you wish.
(Warning: scaling in z will have no effect in orthographic viewing!)
Last modified: Thu Mar 10 11:02:10 MST 2011