Geometry Processing
(601.458/658)


Course Description

This course introduces techniques for processing both signals defined over a triangle mesh, and the geometry of the mesh itself. To this end, we will develop the finite-elements methods for representing functions over a triangle mesh. We will focus on providing an algebraic formulation describing the spaces in which different operators live, and will leverage the method to formulate the problems of geometry processing in the language of spectral-analysis. The course will embrace a learn-by-doing paradigm in which students become familiar with the methodology by using it to solve a range of classical problems (including smoothing, sharpening, stitching, and deformation).

Discussions

To facilitate discussion among students, a Piazza page has been set up. Please keep in mind that the instructor will only check the Piazza status infrequently, so if you have a question you would like him to address, please either email him directly or make sure Piazza notifies him of your post. (That said, you should feel very comfortable either contacting the instructor by email or having Piazza notify him.)

Source Code

The code you will be using is packed in the GeometryProcessing.zip archive. The archive contains Visual Studio 2022 solution files as well as Makefiles that should allow you to compile the code. The code includes software visualization which requires OpenGL support. For Windows compilation, the necessary .dll and .lib files can be found in the Bin/x64 directory. For Linux/Mac, you will need to install these yourself.
Please be aware that this repo will be updated as new assignments are introduced.
If you are compiling under Windows, make sure that you are compiling in Release/x64 mode.

Data

Data you can use for evaluating your method is packed in the GeometryProcessing.zip archive. It includes one triangle mesh with per-vertex values/colors (rooster.ply) and three without (Armadillo.ply, Bunny.iso.ply, and Bunny.aniso.ply).
Please be aware that this repo may be updated as new assignments are introduced.

Logistics


Assignments


Date Subject Reading Recording
Week 1 01/21/26 Course overview and assignment 1
Week 2 01/26/26
01/28/26 Class Cancelled
Week 3 02/02/26
02/04/26
Week 4 02/09/26
02/11/26
Week 5 02/16/26
02/18/26
Week 6 02/23/26
02/25/26
Week 7 03/02/26
03/04/26
Week 8 03/09/26
03/11/26
Week 9 03/23/26
03/25/26
Week 10 03/30/26
04/01/26
Week 11 04/06/26
04/08/26
Week 12 04/13/26
04/15/26
Week 13 04/20/26
04/22/26
Week 14 04/27/26