SCHOOL OF ENGINEERING AND APPLIED SCIENCES
CS 277: Geometric Modeling in Computer Graphics
|Steven J. Gortler
Material for the mesh editing assignment:
- You'll need a fast (sparse) linear solver: we recommend TAUCS.
- You may need eigendecomposition code, this is included in the started code provided (file: linear_algebra.h).
- You may need to compute SVD. There are some packages that compute it listed here.
We haven't tested them but this one looks like the most appropriate.
- We provide a mesh class (with simple-to-use neighborhood operations: ask Guille (firstname.lastname@example.org) if code is not clear),
and a viewer with a user interface that allows you to view the mesh, and select/deselect vertices and move them around.
We also provide several simple meshes (with varying resolutions and tesselations) for editing, that can be used by the viewer.
The code should run as-is and let you use the UI, but with no mesh editing (that will be the assignment.)
Tasks for the assignment:
Recall that the objective is to implement and compare a couple of mesh editing methods that were discussed in class and are described in the notes.
- The (single) laplacian mesh editing system. Triangle based.
- The (single) laplacian mesh editing system. One-ring based.
- The double-laplacian mesh editing system.
Note that your system should be relatively invariant to the way the input surfaces are tesselated (the cotangent weights are meant for this purpose).
This is the reason that more than one version of each input mesh is provided: this way you can verify that the algorithm behaves similarly regardless of the way a given surface is tesselated.