Project Ideas
Your project need not be from this list. However, if you want
to pick a topic not on this list you need to discuss it with me first.
Each project described here builds on existing previous work;
to understand what needs to be done you need to read a part
of the referenced paper (typically the introduction is sufficient).
 Surface splines. Implement Jorg Peters'
surface splines. Also see additional information here YOur implementation should work for meshes with boundaries.
 PCCM. Implement
Patching CatmullClark meshes. You can use the software available on
the net for reference but your implementation should be done independently,
and should include boundaries.
 Natural parameterization.
Implement the natural parameterization of Desbrun et al. and extend it
to a method that guarantees absence of boundary selfintersections using a
technique described in Sheffer and de Sturler's
Parameterization using anglebased flattening
Try to find a way to guarantee that there is no triangle flips.

Mesh simplification. Implement an edgecontraction simplification algorithm
with cost function similar to Garland and Heckbert's
but also taking into account the effect of edge collapse on the vertex normals.
 Wiener subdivision. Derive and implement a subdivision scheme based on Marc Alexa's
Wiener filtering of meshes
 Simple Manifolds. Implement Cindy Grimm's
Simple Manifolds Extend to higher genus.
 Penrose subdivision. Derive and implement a subdivision scheme for surfaces based on
Penrose tiling. (P. Prusinkiewicz's idea).
 Implicit surface rendering.
Implement hardwareaccelerated ray caster based on the
Ray Engine and
use it to render isosurfaces.
 Surfaceplane intersection. Design and implement an algorithm for
accurate computation of intersections of CatmullClark subdivision surfaces
with planes.
The starting point can be Bezier clipping (ask me for the copies of relevant
papers).