CS-511 - Assignment 4 (5%)
Surface Modeling
Due by: November 11, 2008
In this assignment you need to implement the half-edge data structure
discussed in class for efficient processing of mesh surfaces and use
it to manipulate a triangle mesh in ONE of the following ways. You do
not need to consider open meshes.
- Mesh simplification: Support interactive simplification of
an object using the quadric error simplification method.
The command line arguments to the program are the name of
the object to be processed and a parameter specifying the number of
simplification iterations between the different levels of detail.
The program should display the object and allow for interactive
simplification of it using the ``-'' key.
Pressing ``r'' should enter a mode in which the mesh is rendered
from the most detailed to the least detailed level of
detail. Pressing ''s'' should save the current object into a
file. Make sure to stop the simplification when further
simplification is not possible.
- Mesh subdivision: Support interactive subdivision of an
object. The command line argument to the program is the name of the
object to be processed. The program should display the object and allow
for interactive subdivision of it using the ``+'' key.
Pressing ``r'' should perform two subdivision steps.
Pressing ''s'' should save the current object into a file.
The methods that may be implemented in this option are the Loop,
, and the Modified Butterfly subdivision schemes.
- The program should allow rotating the object and zooming in/out.
Pressing ``w'' should toggle between wireframe and solid rendering.
Pressing ``h'' should provide description of the interactive keys used
in the program.
- Multiple algorithms can achieve the desired results. It is up to
you to select the algorithms for implementation.
- Make sure that your report is detailed enough and contains all
the necessary details as described for the previous assignments.
- Use SVL/VL for vector operations.
- Use OpenGL for rendering.
- The support code for this assignment is identical to that of
assignment 2.
Please follow the submission procedure of assignment 1.
Gady Agam
2008-10-28