Discrete Differential Geometry introduces the mathematics and algorithms for digital geometry processing and simulation problems.
What is discrete differential geometry? In the traditional approach for many computational and engineering problems, one (1) derives the governing equation with multivariable calculus on a coordinate system; (2) applies a generic discretization scheme (finite difference/finite element) to approximate the solution. This direction becomes extremely tedious as the domain of the problem becomes a more general shape (as often encountered in computer aided designs and computer graphics), where no natural coordinate system may fit the geometry featured in the problem. Also, discretization schemes based on approximation theory don't usually preserve the structures (e.g. conservation laws) of the underlying physical or geometric system.
Discrete differential geometry takes a different route. Starting from the modeling stage (deriving governing equation) all the way to algorithmic stage, we use the language of geometry. It bypasses any artificial coordinate systems, and only speaks about relationships between points, lines, surfaces, and the field defined on top of them. During discretization, we directly find the discrete analogs of these relation, preserving as many differential geometry theorems as possible.
Some highlight:
Houdini software: We will use the Houdini software for implementation. It is an industry standard in computer graphics. Most of the assignment in this course involves writing some shader code to manipulate the geometry, and occasionally Python code to solve linear equations.
Exterior Calculus: Exterior calculus is an approach to multivariable that is much more resilient to change of coordinates, making differential geometric problem formulation much more elegant.
Laplacian: You may have seen the Laplace operator in physics, image processing or other signal processing. It measures the second order derivative of a field. We will build a discrete Laplacian on a general triangulated surface. Many applications in geometry processing is based on solving a linear system with Laplacian.
Curves and Surfaces: Many simulation problems involve curves and surfaces. Given such a shape, what are the geometrically meaningful thing that we can measure?
Hodge Decomposition: Linear algebra of the differential operators. We can analyze the null space of these problems from the topology of the domain. An application of Hodge decomposition is fluid simulation.
Conformal flattening: Find a texture map from a given surface to the plane that preserves angles (no shearing distortion).
Vector field design: Find a smoothest tangent vector field on a given surface, and observe singularity nucleates at the optimal location on the surface. The underlying theory has its origin in quantum field and condensed matter physics.
Course Logistics
Getting Started (make sure to follow it in Week 1)
Sign up to Piazza and Gradescope.
Submit weekly one-minute report. It is a feedback form due every Saturday night. It takes only a minute. Make sure to catch up on all lectures of the week, and tell us what you have learned or what you don't get. Each week's one-minute report worths 1% of your final grade (10% in total for ten weeks). You will earn those points for free by writing anything meaningful (don't leave it blank though)!
HW0 is due 1/11 (Tue).
Class Rules
Do the assignments individually. Discussion is strongly encouraged, since there are many challenging new mathematical concepts and part of the learning experience is to teach your classmates who didn't get it.
You can look up coding/math questions online. You are also welcomed to post questions (and answer others' questions) on Piazza.