After spending a great deal of time understanding some basic algebraic and analytic tools (exterior algebra and exterior calculus), we’ll finally start talking about *geometry* in earnest, starting with smooth plane and space curves. Even low-dimensional geometry like curves reveal a lot of the phenomena that arise when studying curved manifolds in general. Our main result for this lecture is the *fundamental theorem of space curves*, which reveals that (loosely speaking) a curve is entirely determined by its curvatures. Descriptions of geometry in terms of “auxiliary” quantities such as curvature play an important role in computation, since different algorithms may be easier or harder to formulate depending on the quantities or variables used to represent the geometry. Next lecture, for instance, we’ll see some examples of algorithms for *curvature flow*, which naturally play well with representations based on curvature!

# Category: Slides

## Supplemental: Vector-Valued Differential Forms

This short-but-important supplemental lecture introduces some language we’ll need for describing geometry (curves, surfaces, etc.) in terms of differential forms. So far, we’ve said that a differential \(k\)-form produces a scalar measurement. But when talking about geometry, we often care about quantities that are *vector-valued* rather than scalar-valued. For instance, positions in \(\mathbb{R}^n\), tangents, and normals are all vector-valued quantities. For the most part, all of our operations look pretty much the same as before. The one exception is the wedge product, which in \(\mathbb{R}^3\) we now define in terms of the cross product.

## Lecture 9: Discrete Exterior Calculus

This lecture wraps up our discussion of discrete exterior calculus, which will provide the basis for many of the algorithms we’ll develop in this class. Here we’ll encounter the same operations as in the smooth setting (Hodge star, wedge product, exterior derivative, etc.), which in the discrete setting are encoded by simple matrices that translate problems involving differential forms into ordinary linear algebra problems.

## Lecture 8: Discrete Differential Forms

In this lecture, we turn smooth differential \(k\)-forms into discrete objects that we can actually compute with. The basic idea is actually quite simple: to capture some information about a differential \(k\)-form, we integrate it over each oriented \(k\)-simplex of a mesh. The resulting values are just ordinary numbers that give us some sense of what the original \(k\)-form must have looked like.

## Lecture 7: Integration

Our first lecture on exterior calculus covered differentiation; our second lecture completes the picture by discussing integration of differential forms. The relationship between integration and differentiation is encapsulated by *Stokes’ theorem*, which generalizes the fundamental theorem of calculus, as well as many other important theorems from vector calculus and complex analysis (divergence theorem, Green’s theorem, Cauchy’s integral formula, *etc.*). Stokes’ theorem also plays a key role in numerical discretization of geometric problems, appearing for instance in finite volume methods and boundary element methods; for us it will be the essential tool for developing a discrete version of differential forms that we can actually compute with.

Video
Slides

## Lecture 6: Exterior Derivative

Ordinary calculus provides tools for understanding rates of change (via derivatives), total quantities (via integration), and the total change (via the fundamental theorem of calculus). Exterior calculus generalizes these ideas to \(n\)-dimensional quantities that arise throughout geometry and physics. Our first lecture on exterior calculus studies the *exterior derivative*, which describes the rate of change of a differential form, and (together with the Hodge star) generalizes the gradient, divergence, and curl operators from standard vector calculus.

## Lecture 4: \(k\)-Forms

Today we continue our journey toward building up (discrete) exterior calculus by talking about how to *measure* little k-dimensional volumes. Just like rulers measure length, and cups measure volume, *k-forms* will be used to take measurements of the little *k*-dimensional volumes or *k-vectors* that we built up using exterior algebra in our previous lecture. Such measurements will ultimately allow us to talk about integration over curved spaces; in the discrete setting, these measurements will be the basic data we associate with the elements of mesh.

## Recitation: halfedges, sparse linear systems, intro to coding assignments

This is a short video recitation from the TAs reviewing how the halfedge data structure, sparse matrices, and solving linear systems will be used in the course assignments. We’ve also included information on how to get started with both the Javascript and C++ versions of the coding assignments.

You can find the full video below (or watch just a portion), as well as the slides.

- Full video
- Concept review (0:00 – 16:58)
- Intro to ddg-exercises-js (16:58 – 23:22)
- Intro to ddg-exercises (C++) (23:22 – 31:41)

- Slides

## Lecture 3: Exterior Algebra

Our next lecture will cover one of the basic tools we’ll use throughout the rest of the course: *exterior algebra*. The basic idea is to add a couple new operations to our usual list of vector operations (dot product, cross product, etc.) that make it easy to talk about *volumes* rather than just vectors. If you felt ok working with things like the cross product and the determinant in your linear algebra/vector calculus courses, this shouldn’t be too big of a leap. (If not, could be a good moment for a review!)

## Lecture 2B: Introduction to Manifolds

In tomorrow’s lecture we will catch a first glimpse of the idea of *manifolds*, which are pretty central to differential geometry. Rather than giving a formal definition in the smooth case, we’ll introduce a notion of *discrete manifolds* that capture the most important ideas. These discrete manifolds build on the idea of a *simplicial complex*, introduced in the previous lecture.