This homework is due Thursday December 18 at 11:59pm. It is worth 30 points. This program will not be accepted late.

Create a graphics package capable of displaying a three-d polygon mesh. The mesh should be read from a file. The format of the file is

n m
x(0,0) y(0,0) z(0,0)
x(0,1) y(0,1) z(0,1)
...
x(n,m) y(n,m) z(n,m)

Where n and m are the dimensions of the mesh and x(a,b), y(a,b) and z(a,b) are the coordinates for each point in the mesh.

You should be able to specify and change, a camera location, look at position, up vector, viewport location, and center of projection in your package.

Please implement the following commands:
Camera x y z camera location
Look x y z look at location
Up x y z up vector
Projection x y z center of projection
Viewport z distance from camera to viewport
Load filename
Quit