Number of Points | 100 |
Due Date | Friday, December 9, 2005 at 11pm |
Do the following problems:
It represents a very interesting algebraic surface, where a in the equation is a positive number and the shape would be very good looking if a is between 10 and 12, inclusive. Do some trial-and-error to find the best orientation. Clipping may be necessary.
Grading Policy: You will receive 25 points if the displayed surface is correct and used properly. To receive 40 points, you must have this surface in a non-trivial scene. An extra 10 to 15 bonus points will be given to those creative designs using this interesting surface.
Please name your scene file and image file as surface.pov and surface.jpg, respectively.
The display of each step may be in wireframe, randomly colored faces, flat shaded faces, or smooth shaded faces. From the second subdivision step and on, the display may also include the wireframe of the previous subdivision. Here is an example. Suppose we have the following polyhedron. All faces are shown in random colors initially.
Applying Doo-Sabin algorithm once yields the following. The left image shows the result in random colors while the right image the same color for flat shading.
Random Color Faces | Flat Shaded Faces |
Apply Doo-Sabin algorithm once more yields the following. Note that the wireframe in blue color shows the previous subdivision shown in the above images.
Random Color Faces with Previous Subdivision | Flat Shaded Faces with Previous Subdivision |
After six subdivisions, we have the following results in random and shaded colors. Due to the very dense wireframes, they are not shown.
Random Color Faces After 6 Steps | Flat Shaded Faces After 6 Steps |
Here comes your job:
Your job is to read in an input file representing a 2-manifold without boundary with the winged-edge data structure, perform Doo-Sabin subdivision, and display the result in a window. You may use any environment of the previous exercises for window display. Your program executable must be named as doo-sabin and accept one command line argument, the input file name. I will run your program in the following way for testing:
where test-file.dat is the name of a test file. Your program must accept the following key presses and the Exit button:doo-sabin test-file.dat
Submit the following materials:
To help you have a good start, a Windows program designed and written by Tin-Tin Yu is available in the common directory with filename subdivision.zip. After unzipping this file, you will see a Windows executable and some testing files in winged-edge data structure format.