Lecture 3D Geometry Processing
Shape Deformation
Prof. Dr. David Bommes
Computer Graphics Group
Membrane Surfaces
- Minimize surface area \[\int_\set{S} \func{d}A \;\to\; \min
\quad\text{with}\quad \delta\set{S}=\bar{\vec{x}}\]
- Simpler energy using partial derivatives \[\int_\Omega
\norm{\vec{x}_{,u}}^2 +
\norm{\vec{x}_{,v}}^2
\func{d}u\func{d}v
\;\to\;\min\]
- Variational calculus gives \[
\begin{align}
\laplace_{\set{S}} \vec{x} &= \vec{0}, &
\vec{x} \in \set{S} \setminus \partial\set{S} \\
\vec{x} &= \bar{\vec{x}}, &
\vec{x} \in \partial\set{S}
\end{align}
\]
Thin Plate Surfaces
- Minimize surface curvature \[\int_\set{S} \kappa_1^2 + \kappa_2^2 \,\func{d}A \to \min
\;\text{with}\;
\begin{cases}
\delta\set{S}=\bar{\vec{x}} \\
\vec{n}\of{\delta\set{S}}=\bar{\vec{n}}
\end{cases}\]
- Simpler energy using partial derivatives \[\int_\Omega
\norm{\vec{x}_{,uu}}^2 +
2\norm{\vec{x}_{,uv}}^2 +
\norm{\vec{x}_{,vv}}^2
\func{d}u\func{d}v
\;\to\;\min\]
- Variational calculus gives \[\begin{align}
\laplace_{\set{S}}^2 \vec{x} &= \vec{0}, &
\vec{x} \in \set{S} \setminus \partial\set{S} \\
\vec{x} &= \bar{\vec{x}}, & \vec{x} \in \partial\set{S} \\
\vec{n}\of{\vec{x}} &= \bar{\vec{n}}, & \vec{x} \in \partial\set{S} \\
\end{align}\]
Fairness Functionals
\[\laplace_{\set{S}} \vec{x} = 0\]
\[\laplace_{\set{S}}^2 \vec{x} = 0\]
\[\laplace_{\set{S}}^3 \vec{x} = 0\]
Spline Surfaces
- Tensor product surfaces
- “Curves of curves”
- Rectangular grid of control points
- Rectangular surface patch
- Problems
- Many patches for complex models
- Smoothness across patch boundaries
- Trimming for non-rectangular patches
Spline & Subdivision Surfaces
- Basis functions are smooth bumps
- Fixed support
- Fixed control grid
- Bound to control points
- Initial patch layout is crucial
- Patch design requires experts
- Decouple deformation from surface representation!
Discretization
- Discretization of Laplace & bi-Laplace
- \[
\begin{align}
\laplace \vec{d}_i &= \frac{1}{2A_i} \sum_{j\in\set{N}_i}
\left( \cot\alpha_{ij}+\cot\beta_{ij} \right)
\left( \vec{d}_j - \vec{d}_i \right) \\[2mm]
\laplace^2\vec{d}_i &= \laplace\of{\laplace\vec{d}_i}
\end{align}
\]
- Leads to sparse linear system \[
\matrix{
& \color{blue}{\laplace^2} & \\
\mat{0} & \color{gray}{\mat{I}} & \mat{0} \\
\mat{0} & \mat{0} & \color{green}{\mat{I}}
}
\matrix{ \vdots \\ \vec{d}_i \\ \vdots }
\;=\;
\matrix{
\color{blue}{\mat{0}} \\
\color{gray}{\mat{0}} \\
\color{green}{\delta\vec{h}_i}
}
\]
Limitations
Problematic cases for surface-based/mesh-based deformations
Direct Manipulation FFD
- How to prescribe displacement constraints?
- Solve linear system for control points
- Can be over- or under-determined
- Pseudo-inverse: least squares, least norm
Direct Manipulation FFD
- Bad: results depends a lot on grid resolution
- Minimize control point movement ≠ minimize physical energies!
Radial Basis Functions
- Represent deformation by RBFs \[
\vec{d}\of{\vec{x}} =
\sum_j \vec{w}_j \, \phi\of{\norm{\vec{c}_j - \vec{x} }}
\]
- Triharmonic basis function \(\phi(r)=r^3\)
- Satisfy \(\laplace^3 \vec{d}=\vec{0}\) by construction
- Therefore the deformaton minimizes \[
\int_{\R^3}
\norm{\vec{d}_{uuu}}^2+
\norm{\vec{d}_{vuu}}^2+
\ldots +
\norm{\vec{d}_{www}}^2
\,\func{d}u\,\func{d}v\,\func{d}w
\]
- Leads to very smooth and fair deformations
Complex Meshes
Linear vs. Nonlinear
Linear vs. Nonlinear
Linear vs. Nonlinear
Linear vs. Nonlinear
Linear vs. Nonlinear
Literature
- Botsch et al., Polygon Mesh Processing, AK Peters, 2010
- Chapter 9 (without Sections 9.1, 9.3, 9.4, 9.5.2)