FigureRotationApplet - Project Description

Overview
This applet provides a rather simple demonstration of figures of rotation. It was developed at the end of a busy semester and was created primarily by modifying an early version of the BezierPatchApplet. As such, many of the details of this applet are the same as those of the parent applet and will not be discussed again.

Areas of Interest
Multi-threading - See the BezierPatchApplet description for details.
Three-dimensional view - See the BezierPatchApplet description for details.
Click-and-drag the control points directly - See the BezierPatchApplet description for details.
Double-buffering - See the BezierPatchApplet description for details.
Two views of the data - Rather than providing an interface with two separate "modes" (requiring the user to switch between control-point-specification mode and figure-display mode), the applet provides two simultaneous views of the data. These two views are updated together so that they always depict the current settings of the control points. By handling things in this manner, the interface is cleaner, easier to use, and a better demonstration of the desired concepts.

Conclusion
This applet was created to provide a quick-and-dirty demonstration of figures of rotation. There are a number of areas I feel could be improved upon (hidden surface removal, polygon shading, etc.), but time constraints and other projects limited the amount of effort I was able to devote to this applet. Despite these excuses, I feel that the applet provides a reasonably good demonstration of how figures of rotation are created as well as how they behave. In this respect, I am satisfied with the way the applet turned out - there are no major changes I wish I had made.

The applet is available.
The source code is available for educational purposes.