**Instructor**: Keenan Crane (kmcrane@cs.cmu.edu)

Office hours: Thursday 4:30-6pm, Smith 217

**TA**:

Mark Gillespie (mgillesp@andrew.cmu.edu)

Office hours: Monday 2:30-4pm, outside Smith 232

**Prerequisites**: linear algebra, vector calculus, some programming experience.

This course focuses on three-dimensional geometry processing, while simultaneously providing a first course in traditional differential geometry. Our main goal is to show how fundamental geometric concepts (like curvature) can be understood from complementary computational and mathematical points of view. This dual perspective enriches understanding on both sides, and leads to the development of practical algorithms for working with real-world geometric data. Along the way we will revisit important ideas from calculus and linear algebra, putting a strong emphasis on *intuitive*, *visual* understanding that complements the more traditional formal, algebraic treatment. The course provides essential mathematical background as well as a large array of real-world examples and applications. It also provides a short survey of recent developments in digital geometry processing and discrete differential geometry. Topics include: curves and surfaces, curvature, connections and parallel transport, exterior algebra, exterior calculus, Stokes’ theorem, simplicial homology, de Rham cohomology, Helmholtz-Hodge decomposition, conformal mapping, finite element methods, and numerical linear algebra. Applications include: approximation of curvature, curve and surface smoothing, surface parameterization, vector field design, and computation of geodesic distance.

Course material has been used for semester-long courses at CMU (2016, 2017, 2019), Caltech (2011, 2012, 2013, 2014, 2016, 2017), Columbia University (2013), and RWTH Aachen University (2014, 2015, 2016, 2017), as well as special sessions at SIGGRAPH (2013) and SGP (2012, 2013, 2014, 2017).