A Hands-On Introduction to Discrete Differential Operators on Polygon Meshes

Applications I: Harmonic Parameterization

Photo of Sven D.
                Wagner

Sven D. Wagner

TU Dortmund

Photo of Astrid
                Bunge

Astrid Bunge

AutoForm Engineering

Photo of Mario
                Botsch

Mario Botsch

TU Dortmund

🚀 by Decker

Surface Parameterization

Find bijective mapping between a surface \(\set{S} \subset \R^3\) and a parameter domain \(\Omega \subset \R^2\)

images/texture_mapping.png

Harmonic Parameterization

  • If \(\vec{u} \colon \set{S} \to \R^2\) is harmonic and maps the boundary \(\partial \set{S}\) of \(\set{S}\) homeomorphically onto the boundary \(\partial \Omega\) of some convex region \(\Omega \subset \R^2\), then \(\vec{u}\) is bijective.
  • A function \(\vec{u} \colon \set{S} \to \R^n\) on a surface \(\set{S}\) is harmonic if it satisfies \[\laplace \vec{u} \;=\; \vec{0}\]
  • A harmonic function minimizes the Dirichlet energy \[E_D(\vec{u}) = \int_{\set{S}} \norm{ \grad \vec{u} }^2 \,\d{A}\]

Discrete Mesh Parameterization

  • Piecewise linear map of a discrete 3D triangle mesh \(\set{M}\) onto a planar 2D polygon \(\Omega\)
  • Compute the mapping \(\vec{u} \colon \set{M} \to \Omega\) by finding for each vertex \(v_i\) its coordinate \(\vec{u}_i\)
images/param_tsurf2.png

Discrete Harmonic Parameterization

  1. Map the boundary \(\partial \set{M}\) homeomorphically to some (convex) polygon \(\partial \Omega\) in the parameter plane \[\forall v_i \in \partial\set{M} :\; \vec{u}\of{v_i} = \bar{\vec{u}}_i\]
  2. Solve \(\laplace \vec{u} = \vec{0}\) through a linear system \[\forall v_i \in \set{M}\setminus\partial\set{M} :\; \sum_{v_j \in \set{N}\of{v_i}} w_{ij} \, \left( \vec{u}\of{v_j} - \vec{u}\of{v_i} \right) = \vec{0}\]
    • Cotan Laplacian: \(w_{ij} = \frac{\cot\alpha_{ij} + \cot\beta_{ij}}{2}\)
    • Uniform Laplacian: \(w_{ij}=1\)

images/cotan-laplace.svg

Demo: Harmonic Parameterization

Let’s code it 💻

References