Mathematical Visualization SS07 Technical University Berlin
Assignment 3
Theme: More jReality programming + homogeneous coordinates
Note: there is a rudimentary tutorial for jReality programming which I failed to mention in the previous assignment. In particular, there is an introduction to the geometry factories (especially useful since these often lack JavaDoc documentation). The images are out-of-date with the current version of the ViewerApp application.
Part 1. Programming project 2
In eclipse, update the MathVisSS07 project:
- In the Package Explorer, select the project MathVisSS07 and use the right-mouse context menu to select "Team->Synchronize with Repository".
- In the CVS Synchronize perspective (which should appear automatically) select the project MathVisSS07 and use the context menu to select "Update"
- Reselect the Java perspective when the update is finished.
Back in the Package Explorer, you should find a new class file Assignment03.java. To explore this class:
- Use the "Run as...->Java application" context-menu item to run the new application.
- You should see a torus in the 3D graphics window.
-
- Click in the window and type 'e' to encompass the geometry (which makes it bigger than at start-up).
- Also, drag the divider between the navigator panel and the 3D graphics window to make the navigator about twice as wide as on start-up.
- You should see a tab titled "Torus" in the navigator panel. Select it.
- Play with the slider labeled "R" in this tab, and see that it controls the large radius of the torus.
- Click on the "animate" check box on this tab. You should see the major radius of the torus change its value automatically, until you click again to stop this animation.
- Open the class file Assignment03.java in the Java editor and study it to see how what you see in the application was created in the source code of the class:
- the geometry of the torus (using the ParametricSurfaceFactory)
- the appearance of the torus (vertices, edges, and faces)
- the inspection panel for the large radius
- the animation of the large radius.
The assignment is to modify Assignment03 in the following ways, and then turn it in as you turned in last week's assignment using CVS.
- Redefine the Immersion used to produce a different surface than a torus. It should include 3 parameters, and you should create an inspector panel for these three parameters to allow interactive control of the shape of the surface.
- Additionally use transformations (as in Assignment02) to make 4 copies of the surface, each of which is attached to a different appearance. Customize these four appearances in ways which you find meaninful for the better understanding of the surface.
- Both the slider and the check box change the value of the large radius. Devise a strategy to keep these values synchronized and implement it if possible. If not practical to implement, write up your strategy as a comment in the source file of your assignment.
Part 2. Mathematics
From this exercise sheet, do Problem 2, Homogeneous Coordinates. The exercise uses notation which I will explain in the Uebung session this afternoon (May 2). If you miss the Uebung, please be sure to contact me to clarify the notation.
|
|