Title

Lecture 3D Geometry Processing
Trivial Connections Context
Prof. Edward Chien
Geometry Processing & Computer Graphics

Schedule Updates

  • Weekly progress report assignment up on Gradescope. Due by end of Friday. At least 1-2 sentences on each question below:
    • What were my goals this week?
    • What did I accomplish this week?
    • Why do the above two answers differ?
    • What are my goals for next week?
    • What sources did I read or access this week?
  • Responded to project proposals on Gradescope
    • Come see me in office hours if requested, or if you have questions
  • Pinged some folks about their paper presentation choices with some suggestions

Homology Generators

  • Recall that a closed (no boundary) orientable surface is characterized by genus \(g\) (number of “handles”)
  • For such a surface, there are \(2g\) closed curves, up to homotopy (see right), that generate all closed curves on the surface

HomotopySmall.gif

  • As an example, consider the torus, with the curves illustrated to the right.
Torus_homology.png

Tree-Cotree for finding generators

  • Build a spanning tree \(T^*\) of dual edges
  • Build a spanning tree \(T\) of primary edges that doesn’t cross \(T^*\)
  • There should be \(2g\) dual edges not contained in \(T^*\), and not crossed by \(T\)
  • For each such edge, the corresponding generator is gotten by connecting the endpoints through \(T^*\)
torus_cw.png

Levi-Civita Connections and Holonomy

  • Primary question(s): how do you compare vectors in different tangent spaces? How can you transport vectors from one tangent space to another?
  • A connection tells you how to do this. Levi-Civita connection is the canonical one.
  • Allows one to differentiate one vector field \(\mathbf{w}\) with respect to another \(\mathbf{v}\).
    • For an embedded surface: \(\nabla_\mathbf{v} \mathbf{w} = \mathrm{proj}_{T_\mathbf{p}\mathcal{S}} (\mathbf{w} \circ \alpha)'(0)\)
  • One may also use it to parallel transport a vector along a curve.
    • Holonomy associated with a path is the difference you get upon return.
Parallel_Transport.png

Poincare-Hopf Theorem

For a closed surface \(\mathcal{S}\) of genus \(g\), with a vector field \(\mathbf{v}\), with isolated zeros \(p_i\):

\[ \sum_{p_i} \mathrm{ind}_{p_i}(v) = \chi(\mathcal{S}) = 2-2g\] A popular folk theorem that results is the Hairy Ball Theorem. On the sphere, there are no non-vanishing vector fields.

hairy_sphere.png hairy_torus.png

Index of a vector field

The index describes the winding that occurs around the zeros. Specifically, as you walk around the zero, consider the map:

\[ x \mapsto \frac{\mathbf{v}(x)}{\lVert \mathbf{v}(x) \rVert}\]

index_examples.png

Discussion questions

  • How does the user-specified singularities affect the algorithm output? Does it matter where these singularities are specificed? (Sandra)
  • What are the applications for this method? (Multiple)
  • How does distributing curvature help them do transport without dealing with holonomy? How does this ensure that jumps do not happen? (Laixian)
  • How could this aid fur and hair animation? (Jayna)
  • Could you imagine a way to have automatic singularity placement? (Multiple)
  • What is a connection or singularity? (Johanne)
  • Why is setting singularities important? (Evan)
  • Could you add soft direction constraints on the vector field? (Zezhou)
  • How would the layout of meshes affect the solution? (Silei)
  • Would this algorithm work and still be efficient on an infinite mesh? (Zhou)