Matrix3D
The Specifications
Requirements satisfied
- Correct implementation of all methods in the Matrix3D class
- Construction of a test applet to test these methods
Issues
- This applet does not seem to run under Netscape. It runs fine
on Internet Explorer for Solaris.
- One of the methods we were supposed to implement was a skew()
method. However, I believe this might have been intended to be
a shear() method. Hence, I implemented both a skew() and a shear()
method. The test applet only tests the shear() method, but
skew() is tested implicity because it is used inside of the rotate()
method.
The Tests
To prove that my scan converter works correctly, I have constructed
the following test applet:
Directions:
Select the desired transformation with the "transformation" choice box.
Then click and drag upwards on the image to show that transformation
in one direction, and downwards to show it in the opposite direction.
Use the "projection" choice box to switch between perspective and orthographic
project. To move the camera, enter new values in for the camera position
and hit "enter".
The Source
Unfortunately, due to time constraints I was not able to tidy up my code
as much as I would have liked. Therefore, although these files contain
tested and working source code, it is largely undocumented, and difficult
to understand.