Geometric Modeling | Spring, 2013 | ||||
Overview | Lectures | Readings | Assignments | Schedule |
Programming Environment Setup: Setup your programming environment
to compile, debug, and run the skeleton code which is based on OpenGL,
QT (local mirror: Qt libraries 4.8.4 for Windows (VS 2008),
Visual Studio Add-in 1.1.11 for Qt4 (does not work with the express edition) ),
and CGAL (local mirror: bin). In order to
use CGAL, boost is also needed
(local mirror: bin).
In addition, in order to ease the creation of OpenGL 3D viewers, libQGLViewer library
is needed (local mirror: src).
The
skeleton code can be used to load a 3D model with OBJ format and
show it in wire-frame or smooth shading mode alternatively. The viewing
angle can be manipulated by dragging the mouse. Please make sure you can
use this program to load all models in
this archive or this archive.
Materials Download: assignment#0 slide, and a document "how to compile"
deadlines = 3/11
Subdivision Surface: Write a program to implement Loop
subdivision method. Your program should process all (closed
manifold genus-0) models in this
archive.
You can add any extra feature to your program or implement other
subdivision schemes, such as modified butterfly, or sqrt(3). [sample
program]
deadlines = 3/18
Mesh Simplification: Write a program that simplifies closed
manifold 3D meshes. This program should use the edge
collapse operation and use (vertex based)
distance to least-squares plane as the simplification metrics.
Your program should process all (closed
manifold genus-0) models in this
archive.
You can add any extra feature to your program or implement other
simplification schemes, such as vertex removal operation, (vertex based)
Gaussian curvature metrics, or global error calculation. [sample
program]
deadlines = 4/15
Surface Parameterization: Write a program to implement graph
embedding (Tutte) parameterization method and map the boundary vertices
to a circle. Your program should process all (disk-like)
models in this archive.
You can add any extra feature to your program or implement other
parameterization methods, such as shape-preserving (Floater), conformal
(Desbrun), mean value, and harmonic (Eck). [sample
program]
deadlines = 5/13
One or two students form a group. A group should decide the project topic and get the permission first. To get the permission, a group has to deliver a short report (1 page, printed), which contains the following items:
project topic due = 4/8
Then, a group should present the proposal in the class, which contains
the following items:
proposal presentation date = 5/6
Finally, a group has to deliver a report (10 pages or
above, printed) and demonstrate the result. Of course, a short
presentation is also required. The report must contain the following
items:
A group also needs to deliver a CD-ROM or
DVD-ROM which contains the source and executable codes, result
images or animations, presentation slides (PPT or PDF or HTML file), and
the above report (DOC or PDF or HTML file).
demonstration and presentation date = 6/17
report deadline = 6/24