Assigned: Thursday, September 25
Due: Monday, October 13 before 5:00 p.m.
You will implement a system for smoothing surface meshes. You will also be exploring the eigenvector decomposition of meshes. The required functionality of your project is as follows:
[10 points] Laplacian Smoothing
Implement standard Laplacian smoothing using explicit forward Euler steps. You should implement at least two weight schemes: (1) Unit weights and (2) inverse edge length [Fujiwara] weights.[20 points] Taubin Smoothing
Implement Taubin’s lambda-mu method.[20 points] Eigenmeshes
Construct a Laplacian matrix for a mesh, and extract its eigenvectors. Projecting the coordinates of the vertices onto this eigenbasis provides an eigenmesh. Note: For each coordinate value (xyz) you will have n scalars – one per eigenvector. Hint: Try this on small meshes.[20 points] Explicit Eigensmoothing
Having constructed an eigenmesh representation of the surface, you can explicitly force all high-order frequencies to zero and reconstruct a new smoothed surface.[20 points] Alternate Frequency Transfer
Chopping off the high-order frequencies corresponds to a box filter transfer function. Demonstrate a couple other interesting transfer functions. Interesting examples might include Gaussians and functions which exaggerate low or high frequencies. Think about the sorts of things you usually do with the equalizer on a stereo.[10 points] Quality Code
Your code should be efficient and well-written. It should be easy to follow and demonstrate quality design.
You’ll probably want to browse through our collection of links, particularly the Surface Mesh Libraries and Numerical Libraries sections.
The file format used here is a very limited subset of the Wavefront OBJ format. The files consist of a series of lines:
v x1 y1 z1 v x2 y2 x2 . . . f i1 j1 k1 f i2 j2 k2 . . .
Each v line defines a new vertex. Vertices are implicitly numbered by their order of appearance starting with 1. Each f line defines a triangle by giving the integer IDs of the vertices which forms its 3 corners.
You can generate infinitely many more examples using the Maya software installed in the CSIL labs.
You must hand in all the following things:
To actually hand in your project:
After the due date, we will be arranging times for you to demo your project to me. These demos are required to receive a grade on the project.
Last modified: Thu Sep 25 16:32:38 2003