Isotropic Distortion Energies

One Machine for Parameterization, Deformation, and Dynamics

Huanyu Chen · University of Southern California · UCLA, October 26, 2026

Which is bigger: Greenland or Africa?

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

An equal-area map gets the areas right…

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

No flat map of the Earth is free of distortion

Theorema Egregium [Gauss 1827]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Tissot: a tiny circle on the globe becomes an ellipse


Mercator: round, but sizes explode


Equal-area: same size, but squashed

[Tissot 1859]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

A third lie: cut the globe open

→
Tissot ellipses on the result
Icosahedral map, cuts placed in the oceans; after Fuller's Dymaxion map [Fuller 1943]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Graphics fights this lie in six places

3D maps here are quasi-3D (triangles coned to the center); true volume maps: [Abulnaga et al. 2023]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Key questions we answer today

  1. How do we measure distortion?


2. How do we minimize it, fast and safely?


3. Why are all six cells one problem?

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

1 · Measuring distortion

zoom in: locally, every map is linear

x↦F x,F=∂ map∂x∈R2×2x \mapsto F\,x, \qquad F = \frac{\partial\,\text{map}}{\partial x}\in\mathbb{R}^{2\times 2}

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Every linear map = rotate, stretch, rotate

F=U Σ V⊤,U=[ u1  u2 ],Σ=diag⁡(σ1,σ2),V=[ v1  v2 ]F = U\,\Sigma\,V^\top, \qquad U = [\,u_1\;u_2\,],\quad \Sigma = \operatorname{diag}(\sigma_1, \sigma_2),\quad V = [\,v_1\;v_2\,]

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

The singular values are Tissot's ellipse

σ₁, σ₂ = the ellipse's semi-axes = principal stretches
uᵢ, vᵢ: the i-th columns of U, V
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Three ways to read the SVD

  1. Algebra: F=U Σ V⊤F = U\,\Sigma\,V^\top,   GL(2)→SO(2)×R2×SO(2)\;GL(2) \to SO(2) \times \mathbb{R}^2 \times SO(2)

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Three ways to read the SVD

  1. Algebra: F=U Σ V⊤F = U\,\Sigma\,V^\top,   GL(2)→SO(2)×R2×SO(2)\;GL(2) \to SO(2) \times \mathbb{R}^2 \times SO(2)
  2. Geometry: rotate, stretch, rotate

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Three ways to read the SVD

  1. Algebra: F=U Σ V⊤F = U\,\Sigma\,V^\top,   GL(2)→SO(2)×R2×SO(2)\;GL(2) \to SO(2) \times \mathbb{R}^2 \times SO(2)
  2. Geometry: rotate, stretch, rotate
  3. A basis: uivj⊤u_i v_j^\top (uiu_i, vjv_j: columns of UU, VV) is orthonormal, and F=∑iσi uivi⊤F = \sum_i \sigma_i\, u_i v_i^\top uses 2 of 4 coefficients

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

A distortion measure must ignore rotations

ψ(R F Q)=ψ(F)    ⟹    ψ(F)=ψ^(σ1,σ2),ψ^ symmetric\psi(R\,F\,Q) = \psi(F) \;\;\Longrightarrow\;\; \psi(F) = \hat\psi(\sigma_1, \sigma_2), \quad \hat\psi \text{ symmetric}

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

The σ-plane: every tiny piece is a point

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Swapping σ₁ and σ₂ gives the same ellipse: fold the plane

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Maps of the Earth are curves on the σ-plane

Mercator: round, growing
Gall–Peters: same area, squashed
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

An energy measures how far you are from where you want to be

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Choosing an energy = choosing which lie you tolerate


angles: distance from the diagonal


area: distance from the hyperbola


both: distance from (1, 1) (ARAP)

ARAP: "as-rigid-as-possible" [Sorkine & Alexa 2007; Liu et al. 2008]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Cut the Earth along the 180° meridian and minimize ARAP

Africa : Greenland = 6.7 : 1 (true 13.9; Mercator 0.95)
every triangle's stretches, by area
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

2 · Flatten a surface: parameterization

Figure: Ligang Liu, GAMES 301 (Surface Parameterization), Lecture 1, USTC
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

A surface = many tiny triangles = many tiny linear maps

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Total energy = sum over triangles ≈ an integral

E(x)=∑tAt ψ(Ft)  ≈  ∫Ωψ(F) dXE(x) = \sum_t A_t\,\psi(F_t) \;\approx\; \int_\Omega \psi(F)\,dX

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Flatten a face: an optimization problem

min⁡x  E(x)=∑tAt ψ(Ft(x)),ψARAP=(σ1−1)2+(σ2−1)2\min_{x}\; E(x) = \sum_t A_t\,\psi(F_t(x)), \qquad \psi_{\text{ARAP}} = (\sigma_1-1)^2 + (\sigma_2-1)^2

Tutte start [Tutte 1963; Floater 1997]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

✗ Gradient descent: cheaper steps, still not flat after minutes

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Newton's method needs ∇E and ∇²E

x←x−α (∇2E)−1 ∇Ex \leftarrow x - \alpha\,\big(\nabla^2 E\big)^{-1}\,\nabla E

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

The gradient pulls along the ellipse's axes

∂ψ∂F=U (∂1ψ^00∂2ψ^)V⊤  =  ∂1ψ^  u1v1⊤+∂2ψ^  u2v2⊤\frac{\partial \psi}{\partial F} = U\,\begin{pmatrix}\partial_1\hat\psi & 0\\ 0 & \partial_2\hat\psi\end{pmatrix} V^\top \;=\; \partial_1\hat\psi\; u_1 v_1^\top + \partial_2\hat\psi\; u_2 v_2^\top

uᵢ, vᵢ: the i-th columns of U, V
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Same basis uivj⊤u_i v_j^\top for the Hessian: it turns block-diagonal

Q⊤∂2ψ∂F2 Q  =  ∇σ2ψ^⏟scaling  ⊕  (abba)⏟twist, flip,Q=[vec⁡(u1v1⊤)    vec⁡(u2v2⊤)    vec⁡(u1v2⊤)    vec⁡(u2v1⊤)]Q^\top \frac{\partial^2\psi}{\partial F^2}\, Q \;=\; \underbrace{\nabla^2_\sigma\hat\psi}_{\text{scaling}} \;\oplus\; \underbrace{\begin{pmatrix} a & b\\ b & a\end{pmatrix}}_{\text{twist, flip}}, \qquad Q = \big[\operatorname{vec}(u_1v_1^\top)\;\; \operatorname{vec}(u_2v_2^\top)\;\; \operatorname{vec}(u_1v_2^\top)\;\; \operatorname{vec}(u_2v_1^\top)\big]

ARAP: the gray 0s are exact. Other energies couple σ₁ and σ₂ and fill them in, so the box covers the whole 2 × 2
uᵢ, vᵢ: the i-th columns of U, V
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

One step more: the eigenbasis makes the Hessian diagonal

Di=uivi⊤,T12=12(u1v2⊤−u2v1⊤),L12=12(u1v2⊤+u2v1⊤)D_i = u_i v_i^\top, \qquad T_{12} = \tfrac{1}{\sqrt2}\big(u_1 v_2^\top - u_2 v_1^\top\big), \qquad L_{12} = \tfrac{1}{\sqrt2}\big(u_1 v_2^\top + u_2 v_1^\top\big)

λDi=eig⁡(∇σ2ψ^),λT=∂1ψ^+∂2ψ^σ1+σ2,λL=∂1ψ^−∂2ψ^σ1−σ2\lambda_{D_i} = \operatorname{eig}\big(\nabla^2_{\sigma}\hat\psi\big), \qquad \lambda_{T} = \frac{\partial_1\hat\psi+\partial_2\hat\psi}{\sigma_1+\sigma_2}, \qquad \lambda_{L} = \frac{\partial_1\hat\psi-\partial_2\hat\psi}{\sigma_1-\sigma_2}

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

The blocks' eigenvectors: 4 geometric modes

uᵢ, vᵢ: the i-th columns of U, V
[Smith, De Goes, Kim 2019]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Fix: clamp the negative eigenvalues, per triangle

Ht=∑kmax⁡(λk,0)  qkqk⊤H_t = \sum_k \max(\lambda_k, 0)\; q_k q_k^\top

PSD per triangle ⇒ PSD total ⇒ always downhill
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Result: projected Newton wins

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

3 · Deform a shape: pin the feet, drag the hand up

the setup
minimizing ARAP
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

✗ Now turn the head half a turn: ARAP flips triangles

the setup
minimizing ARAP
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

What is a flip? The sheet folds over itself

same ellipse; the flip is σ₂ < 0
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Why: ARAP is finite at σ = 0, so a triangle slides into a flip

ψARAP=∑i(σi−1)2,ψARAP(σ1,0)=(σ1−1)2+1<∞\psi_{\text{ARAP}} = \sum_i(\sigma_i-1)^2, \qquad \psi_{\text{ARAP}}(\sigma_1, 0) = (\sigma_1 - 1)^2 + 1 < \infty

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Symmetric Dirichlet puts an infinite wall at σ = 0

ψSD=∑iσi2+σi−2  →  ∞as σi→0\psi_{\text{SD}} = \sum_i \sigma_i^2 + \sigma_i^{-2} \;\to\; \infty \quad\text{as } \sigma_i \to 0

[Smith & Schaefer 2015]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

✗ Twist the head half a turn: no flips is not enough

Boundary barrier: [Smith & Schaefer 2015]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Same twist, with a texture: what the overlaps do to a face

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Energy personalities: same drag, different energies

(σ1−1)2+(σ2−1)2(\sigma_1-1)^2 + (\sigma_2-1)^2

∑iσi2+σi−2\sum_i \sigma_i^2 + \sigma_i^{-2}

σ1σ2+σ2σ1\dfrac{\sigma_1}{\sigma_2} + \dfrac{\sigma_2}{\sigma_1}

μ2(∑iσi2−2)−μlog⁡J\tfrac{\mu}{2}\big(\sum_i \sigma_i^2 - 2\big) - \mu \log J
+ λ2log⁡2J,    J=σ1σ2+\, \tfrac{\lambda}{2}\log^2 J, \;\; J = \sigma_1\sigma_2

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Takeaway: what each energy protects

Energy Protects Barrier at σ = 0?
ARAP lengths no
Symmetric Dirichlet lengths yes
Conformal angles yes
Neo-Hookean lengths + volume yes

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

4 · Add time: each time step is one minimization

xn+1=arg⁡min⁡x  12h2∥x−x~∥M2⏟inertia+∑tAt ψ(Ft)⏟E(x): elastic energy+κ∑kb(dk(x))⏟contact barrier (IPC)x_{n+1} = \arg\min_x\; \underbrace{\frac{1}{2h^2}\|x - \tilde x\|_M^2}_{\text{inertia}} + \underbrace{\textstyle\sum_t A_t\,\psi(F_t)}_{E(x):\ \text{elastic energy}} + \underbrace{\kappa \textstyle\sum_k b\big(d_k(x)\big)}_{\text{contact barrier (IPC)}}

h: time step · M: mass matrix (vertex masses) · x̃ = xₙ + h vₙ + h² g: where inertia and gravity alone would go
d_k: gap of contact pair k, and b → ∞ as d_k → 0 [IPC: Li et al. 2020]
E is now the elastic energy, and ψ the material function: it describes the elastic material (for now, in 2D)
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Sixteen soft letters fall into a box

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

The 2D column, done with one energy

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

5 · Up a dimension: what changes with a 3 × 3 F?

3D maps here are quasi-3D (triangles coned to the center); true volume maps: [Abulnaga et al. 2023]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Nothing but the counting

2D 3D 4D any d
SVD SO(2)×R2×SO(2)SO(2)\times\mathbb{R}^2\times SO(2) SO(3)×R3×SO(3)SO(3)\times\mathbb{R}^3\times SO(3) SO(4)×R4×SO(4)SO(4)\times\mathbb{R}^4\times SO(4) SO(d)×Rd×SO(d)SO(d)\times\mathbb{R}^d\times SO(d)
Σ + U + V 2 + 1 + 1 3 + 3 + 3 4 + 6 + 6 d+(d2)+(d2)d + \binom{d}{2} + \binom{d}{2}
basis uivj⊤u_i v_j^\top 4, F uses ≤ 2 9, F uses ≤ 3 16, F uses ≤ 4 d2d^2, F uses ≤ d
Hessian blocks 2×2 + one 2×2 3×3 + three 2×2 4×4 + six 2×2 d×d + (d2)\binom{d}{2} 2×2
modes 2 + 1 + 1 3 + 3 + 3 4 + 6 + 6 d+(d2)+(d2)d + \binom{d}{2} + \binom{d}{2}

uᵢ, vᵢ: the columns of U, V (now d of each)
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

A good coordinate system makes the symmetry diagonal

Rotation invariance ⇒ work in singular values
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

The recipe

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Spherical parameterization: closed surface → sphere, one-to-one

a closed surface (genus 0)
→
the unit sphere

min⁡x  ∑tAt ψ(Ft)s.t.    ∥xi∥=1,    no triangle flips\min_{x}\; \sum_t A_t\,\psi(F_t) \quad \text{s.t.}\;\; \|x_i\| = 1, \;\; \text{no triangle flips}

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Why a sphere? A flat map needs cuts: texture atlases

[Sander et al. 2001; Lévy et al. 2002; Sorkine et al. 2002; Poranne et al. 2017; Li et al. 2018]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

This was my undergraduate thesis

a checker on the sphere…
→
…carried onto every shape
Efficient flip-free spherical parameterization, USTC 2021 (advisor: Ligang Liu)
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Same recipe, one change: triangle + center = tetrahedron

Ft∈R3×3F_t \in \mathbb{R}^{3\times3}, det⁡Ft∝\det F_t \propto tet volume

Symmetric Dirichlet ⇒ no spherical flips

Eigensystem: the 3D column of the table

[Wang, Liu, Liu 2014]. Quasi-3D: the radial direction is pinned; true volume maps: [Abulnaga et al. 2023]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Staying on the sphere, by geometry

Minimize E(P(x))E(P(x)), PP = radial projection

Max step: first root of det⁡(si+αdi)=0\det(s_i + \alpha d_i) = 0, a cubic

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Flip-free on 108 meshes

the texture,
on the sphere
→
100-mesh benchmark [Hu, Fu, Liu 2018] + 7 thesis meshes + Spot [Crane, public domain]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

The Earth on a skull

↓
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Where this map lies

conformal map
Symmetric Dirichlet
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

A conformal map keeps angles… and shrinks the fingers exponentially

on the sphere: hexagons, every corner ≈ 120°
→
on the hand: still ≈ 120°, but tiny
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Symmetric Dirichlet trades some angle for area

the same hexagons
→
fingers covered; hexagons squeezed at the finger bases
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Seen from the sphere: where the triangles go

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Given a plain giraffe mesh: paint it, then make it graze

given: triangles, no color
→
1. paint it (standing)
2. deform it (head down to the grass)
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

The industry way: cut into patches, paint each patch


the texture: 127 flat patches (white is wasted)


painted giraffe, seams in black

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

A sphere map: one piece, no seams

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Same simulation, two textures

atlas: the coat breaks along the patch seamssphere: one continuous coat
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

In 3D: an armadillo falls on a cantilever

xn+1=arg⁡min⁡x  12h2 ∥x−x~∥M2+E(x)+κ Bcontact(x)x_{n+1} = \arg\min_x\; \frac{1}{2h^2}\,\|x - \tilde x\|_M^2 + E(x) + \kappa\,B_{\text{contact}}(x)

contact barrier and collision-free steps: IPC [Li et al. 2020], via ipc-toolkit
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Six soft toys, two springboards, one minimization per step

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Mapping, editing and physics are the same problem

spherical map
shape editing
physics
Application Unknowns Energy Constraints
Spherical map points on S² Sym. Dirichlet (tets) on the sphere
Shape editing vertex positions ARAP / Sym. Dirichlet pinned handles
Physics positions per step inertia + Neo-Hookean contact
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

6 · My research: materials as functions of σ

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Simulation uses many materials: same E and ν, different landscapes

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Weak Nonlinearity and Linear Equalization for Isotropic Hyperelastic Materials

Near rest, every ψ is quadratic:
its quadratic part is Linear Corotational

λ=ψ12(1,1,1)\lambda = \psi_{12}(1,1,1)
μ=12(ψ11(1,1,1)−ψ12(1,1,1))\mu = \tfrac12\big(\psi_{11}(1,1,1) - \psi_{12}(1,1,1)\big)

E=μ(3λ+2μ)λ+μ,ν=λ2(λ+μ)E = \dfrac{\mu(3\lambda + 2\mu)}{\lambda + \mu}, \qquad \nu = \dfrac{\lambda}{2(\lambda + \mu)}

[Chen & Barbič, SCA 2026]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Weak Nonlinearity and Linear Equalization for Isotropic Hyperelastic Materials

ψα(σ)=1α2 ψ(σ1α,σ2α,σ3α)\psi_\alpha(\sigma) = \frac{1}{\alpha^2}\,\psi(\sigma_1^\alpha, \sigma_2^\alpha, \sigma_3^\alpha)

Same E and ν for every α

α < 1: softens under stretch (rubber)
α > 1: stiffens under stretch (foam)

α < 1
α > 1
[Chen & Barbič, SCA 2026]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Shells and rods resist bending: it is stretch varying across the thickness

∫−h/2h/2ψ(1+κ ξ) dξ  ≈  ψ′′24 κ2 h3\int_{-h/2}^{h/2} \psi\big(1 + \kappa\,\xi\big)\,d\xi \;\approx\; \tfrac{\psi''}{24}\,\kappa^2\, h^3

bending stiffness ∝ h³

shell: 2 through-thickness modes
rod: 4 cross-section modes
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Beyond Kirchhoff-Love: A Volumetric Approach to Thin-Shell Mechanics

ψshell:=∫−h/2h/2ψ(F(ξ)) (1−2Hξ+Kξ2) dξ  =  h ψ(λ1,λ2,ρ)  +  h312(ψbend+ψ∇ρ)+O(h5)\psi_{\text{shell}} := \int_{-h/2}^{h/2} \psi\big(F(\xi)\big)\,\big(1 - 2H\xi + K\xi^2\big)\,d\xi \;=\; h\,\psi(\lambda_1, \lambda_2, \rho) \;+\; \frac{h^3}{12}\big(\psi_{\text{bend}} + \psi_{\nabla\rho}\big) + O(h^5)

[Chen, He, Barbič, SIGGRAPH Asia 2026]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

ANIME-Rod: Adjustable Nonlinear Isotropic Materials for Elastic Rods

StVK
Stable Neo-Hookean
Symmetric Dirichlet

ψrod:=1Γ∫Sψ(F(ξ1,ξ2)) ∣G∣ dξ1dξ2  =  πh2ab  ψ(λ,ρ,ρ)  +  π8h4ab (ψbend+ψtwist)+O(h6)\psi_{\text{rod}} := \frac{1}{\Gamma}\int_{\mathcal S} \psi\big(F(\xi_1, \xi_2)\big)\,|G|\,d\xi_1 d\xi_2 \;=\; \pi h^2 ab\;\psi(\lambda, \rho, \rho) \;+\; \frac{\pi}{8} h^4 ab\,\big(\psi_{\text{bend}} + \psi_{\text{twist}}\big) + O(h^6)

[Chen, Wen, Barbič, SIGGRAPH 2025]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

So far: how to simulate a material. Next: where does ψ come from?

given ψ → simulate
solids, shells, rods
→
obtain ψ
measure it · generate it
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Capturing Animation-Ready Isotropic Materials Using Systematic Poking

ψ(σ)=∑if(σi)+λ2log⁡2(σ1σ2σ3)\psi(\sigma) = \sum_i f(\sigma_i) + \tfrac{\lambda}{2}\log^2(\sigma_1\sigma_2\sigma_3),   ff = cubic spline in σ\sigma

poking silicone
force vs. depth, 5 indenters
fitted spline f″ vs. Neo-Hookean
[Chen, Zhao, Barbič, SIGGRAPH Asia 2023]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Ongoing: generate new materials, stable by construction

same E and ν; different large-strain behavior
hung by their top: each finds its own shape
stiffness matching [Chen & Barbič, SCA 2026]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

One σ-space to measure, generate and simulate materials

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Conclusion

  1. Measure: functions of the singular values


2. Minimize: closed-form Hessian modes + clamping + safe steps, any dimension


3. Same problem: maps, deformations and dynamics, 2D and 3D, share one machine

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Thank you! Questions?

code for every cell:
github.com/HuanyuChen618/isotropic-energies-tutorial
Huanyu Chen · University of Southern California
huanyuc@usc.edu
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup

Follows act Slides
0 · Maps of the Earth 82–86
1 · Measuring distortion 87–95
2 · Flatten a surface: the solver 96–101
3 · Deform a shape: energies and flips 102–109
4 · Add time 110–111
5 · Up a dimension 112–127
6 · Materials research 128–133

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Tissot on Mercator: circles stay round, grow toward the poles

[Tissot 1859]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Tissot on Gall–Peters: same area, squashed shapes

[Tissot 1859]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: The result: a map with seams

Icosahedral map, cuts placed in the oceans; after Fuller's Dymaxion map [Fuller 1943]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Cutting keeps every ellipse nearly round and equal

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Cutting pulls the cloud toward (1, 1)

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Every linear map = rotate, stretch, rotate (build 1/4)

F=U Σ V⊤F = U\,\Sigma\,V^\top

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Every linear map = rotate, stretch, rotate (build 2/4)

F=U Σ V⊤F = U\,\Sigma\,\color{#b5005b}{V^\top}

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Every linear map = rotate, stretch, rotate (build 3/4)

F=U Σ V⊤F = U\,\color{#b5005b}{\Sigma}\,V^\top

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Every linear map = rotate, stretch, rotate (build 4/4)

F=U Σ V⊤F = \color{#b5005b}{U}\,\Sigma\,V^\top

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Swapping σ₁ and σ₂ gives the same ellipse

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: The signed SVD keeps U, V rotations and puts the flip in σ

At most one σ < 0: two negatives = a rotation by π, absorbed into U
[Irving et al. 2004]; code: distortion/eigensystem.py, signed_svd
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Conformal energy: distance from the diagonal

ψ=σ1σ2+σ2σ1\psi = \frac{\sigma_1}{\sigma_2} + \frac{\sigma_2}{\sigma_1}

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Area energy: distance from the hyperbola

ψ=(σ1σ2−1)2\psi = (\sigma_1\sigma_2 - 1)^2

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: ARAP: distance from the identity

ψ=(σ1−1)2+(σ2−1)2\psi = (\sigma_1 - 1)^2 + (\sigma_2 - 1)^2

"as-rigid-as-possible" [Sorkine & Alexa 2007; Liu et al. 2008]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: ✗ Gradient descent: cheaper steps, still mush after 12 seconds

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: ✗ Plain Newton goes uphill and stalls

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Why does Newton go uphill? Which motions make the Hessian negative?

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Why the twist goes negative: the orbit is curved

λtwist=ψ1+ψ2σ1+σ2\lambda_{\text{twist}} = \frac{\psi_1+\psi_2}{\sigma_1+\sigma_2}

Flip: λ ≥ 0 ⇔ (ψᵢ − ψⱼ)(σᵢ − σⱼ) ≥ 0 [Baker & Ericksen 1954]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Line search: try the full Newton step, halve until the energy drops

x←x+αd,α=1,12,14,…   until E(x+αd)<E(x)x \leftarrow x + \alpha d, \qquad \alpha = 1, \tfrac12, \tfrac14, \dots \;\text{ until } E(x + \alpha d) < E(x)

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: The complete projected-Newton solver

x ← start (Tutte map / previous frame), flip-free
repeat
    for each triangle t:                    ▹ independent: parallel
        F_t = D_s(x) D_m⁻¹,  F_t = U Σ Vᵀ     (signed SVD)
        g_t = U diag(∂ψ̂/∂σ) Vᵀ               (gradient)
        λ, q = closed-form eigenpairs          (D₁, D₂, T₁₂, L₁₂)
        H_t = Σ_k max(λ_k, 0) q_k q_kᵀ        (projected Hessian)
    g = Σ_t A_t Bᵀ vec(g_t),   H = Σ_t A_t Bᵀ H_t B
    solve  H d = −g                          (sparse Cholesky)
    α = 1, or 0.9 · first α with det F_t(x + αd) = 0  (barrier)
    while E(x + αd) > E(x) + c α gᵀd:  α ← α / 2
    x ← x + α d
until  |gᵀd| or the change in E is tiny

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Can ARAP go indefinite? Yes: a squashed elbow wants to twist

λtwistARAP=2(σ1+σ2−2)σ1+σ2\lambda_{\text{twist}}^{\text{ARAP}} = \frac{2(\sigma_1+\sigma_2-2)}{\sigma_1+\sigma_2}

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: No rotation-invariant energy is convex

Convex E ⇒ convex set of minimizers. But rotations form a circle
[Ball 1977; Ciarlet 1988, Mathematical Elasticity I]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Symmetric Dirichlet, the whole eigensystem in three lines

ψi=2σi−2σi−3\psi_i = 2\sigma_i - 2\sigma_i^{-3}

λscale=2+6σi4,λtwist=2−2 σi2−σiσj+σj2σi3σj3,λflip=2+2 σi2+σiσj+σj2σi3σj3\lambda_{\text{scale}} = 2 + \frac{6}{\sigma_i^4}, \qquad \lambda_{\text{twist}} = 2 - 2\,\frac{\sigma_i^2 - \sigma_i\sigma_j + \sigma_j^2}{\sigma_i^3\sigma_j^3}, \qquad \lambda_{\text{flip}} = 2 + 2\,\frac{\sigma_i^2 + \sigma_i\sigma_j + \sigma_j^2}{\sigma_i^3\sigma_j^3}

Stretch-based Hessians: [Teran et al. 2005; Xu, Sin, Zhu, Barbič 2015]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Two guards against flips: one in theory, one in practice

Barrier: the minimizer has no flips

Max step + backtracking: no iterate flips

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Six energies: same at rest, different when shrinking

Energy ψ̂(σ) per axis at σ → 0
Symmetric Dirichlet σ² + σ⁻² σ⁻²
Symmetric ARAP (σ − 1)² + (σ⁻¹ − 1)² σ⁻²
Hencky log² σ log² σ
Neo-Hookean (λ = 0) ½(σ² − 1) − log σ −log σ
ARAP + barrier (σ − 1)² + b(σ) IPC barrier below σ = ½
StVK + barrier ¼(σ² − 1)² + b(σ) IPC barrier below σ = ½

ARAP (≈ linear corotational) and StVK stay finite at σ = 0, so we add an IPC barrier b(σ), zero for σ ≥ ½: same rest behaviour, flip-free minimizer [Li et al. 2020]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: How an energy prices shrinking decides the fingers

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: ✗ Hencky: past σ = e, stretching gets cheaper

d2dσ2log⁡2σ=2(1−log⁡σ)σ2<0\dfrac{d^2}{d\sigma^2}\log^2\sigma = \dfrac{2(1-\log\sigma)}{\sigma^2} < 0 for σ>e\sigma > e

A few triangles stretch 700× instead of many stretching a little

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: A jelly gingerbread man

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: The same drop in 3D: tetrahedra, same code

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: In 3D, the same Hessian from two viewpoints. Which would you rather derive?

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Viewpoint 1: invariants

∂2ψ∂F2=∑i,j∂2Ψ∂Ii ∂Ij gigj⊤+∑i∂Ψ∂Ii Hi,∥F−1∥2=(I12−I2)24I32−2I1I3\frac{\partial^2\psi}{\partial F^2} = \sum_{i,j} \frac{\partial^2\Psi}{\partial I_i\,\partial I_j}\, g_i g_j^\top + \sum_i \frac{\partial \Psi}{\partial I_i}\, H_i, \qquad \|F^{-1}\|^2 = \frac{(I_1^2 - I_2)^2}{4 I_3^2} - \frac{2 I_1}{I_3}

[Smith, De Goes, Kim 2019; Kim & Eberle, SIGGRAPH course 2020/22]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Scaling modes: a 3 × 3 block with 7 terms per entry…

hii=2Ψ2+Ψ11+4σi2Ψ22+I32σi2Ψ33+4σiΨ12+4I3Ψ23+2I3σiΨ13h_{ii} = 2\Psi_{2} + \Psi_{11} + 4\sigma_i^2\Psi_{22} + \tfrac{I_3^2}{\sigma_i^2}\Psi_{33} + 4\sigma_i\Psi_{12} + 4 I_3\Psi_{23} + \tfrac{2I_3}{\sigma_i}\Psi_{13}

hij=σkΨ3+Ψ11+4I3σkΨ22+σkI3Ψ33+2σk(I2−σk2)Ψ23+(I1−σk)(σkΨ13+2Ψ12)h_{ij} = \sigma_k\Psi_3 + \Psi_{11} + \tfrac{4I_3}{\sigma_k}\Psi_{22} + \sigma_k I_3\Psi_{33} + 2\sigma_k(I_2-\sigma_k^2)\Psi_{23} + (I_1-\sigma_k)(\sigma_k\Psi_{13} + 2\Psi_{12})

Kim & Eberle, course notes Eqs. 7.14–7.15 (Ψₐ = ∂Ψ/∂Iₐ; they write aᵢⱼ for our hᵢⱼ)
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: …which is just the Hessian of ψ̂ in σ

∇σ2 ψ^=[ hij ],hij=∂2ψ^∂σi ∂σj\nabla^2_{\sigma}\,\hat\psi = [\,h_{ij}\,], \qquad h_{ij} = \frac{\partial^2\hat\psi}{\partial\sigma_i\,\partial\sigma_j}

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Twist eigenvalue: invariants vs. stretches

λtwist=2σx+σy ∂Ψ∂I1+2 ∂Ψ∂I2+σz ∂Ψ∂I3\lambda_{\text{twist}} = \frac{2}{\sigma_x+\sigma_y}\,\frac{\partial\Psi}{\partial I_1} + 2\,\frac{\partial\Psi}{\partial I_2} + \sigma_z\,\frac{\partial\Psi}{\partial I_3}

⇓  in singular values\Big\Downarrow\; \text{in singular values}

λtwist=ψx+ψyσx+σy\lambda_{\text{twist}} = \color{#b5005b}{\frac{\psi_x + \psi_y}{\sigma_x + \sigma_y}}

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: People really simulate this in 4D

Our eigensystem code runs unchanged in 4D
Figure: [Shi, Wu, Kim, SIGGRAPH 2025], 4D armadillo prisms shown as 3D slices
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: The 4D check: our eigensystem, unchanged

The same hessian_eigensystem, unchanged, on a random 4 × 4 F:

Energy Modes Orthonormal vs. finite differences
Neo-Hookean 16 = 4 + 6 + 6 yes 5 × 10⁻¹⁰ relative
Symmetric Dirichlet 16 = 4 + 6 + 6 yes 2.5 × 10⁻¹⁰ relative

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: The thesis's solver pipeline

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: The Earth on Max Planck

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Why a conformal map can't be exact on a mesh

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Conformal cube vs. central projection


central: σ₁/σ₂ up to √3


conformal: σ₁/σ₂ ≤ 1.02 except at 8 corners

[Rančić, Purser, Mesinger 1996]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: A conformal map keeps angles… and shrinks the fingers exponentially


squares stay square…


…but shrink below a pixel

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Symmetric Dirichlet trades some angle for area

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Parameterization ignores volume; physics doesn't



ν = 0



ν = 0.49

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Area spread falls, shape distortion rises

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Squeeze a pig: ν decides where the volume goes

ν = 0
ν = 0.45
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Given any ψ, what are its stiffness parameters?

Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Taylor-expand at (1, 1) on the σ-plane

Quadratic part = Linear Corotational

λ=ψ12(1)\lambda = \psi_{12}(1),   μ=12(ψ11−ψ12)\;\mu = \tfrac12(\psi_{11} - \psi_{12})

[Chen & Barbič, SCA 2026]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: A distance between energies

[Chen & Barbič, SCA 2026]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: One knob from rubber to foam

[Chen & Barbič, SCA 2026]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Our contribution: a thin shell that thins like the 3D material

classical (Kirchhoff–Love)
ours
[Chen, He, Barbič, SIGGRAPH Asia 2026]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026

Backup: Our contribution: measure ψ by poking the object in place

force gauge + 1D laser, about $1550; no cameras
[Chen, Zhao, Barbič, SIGGRAPH Asia 2023]
Huanyu Chen · Isotropic Distortion Energies · UCLA, Oct 26 2026