Notes / G.03
Deform globally, stay rigid locally.
ARAP alternates between estimating the best local rotations and solving globally consistent vertex positions under user constraints.
01 / Mental model
Move the handles without melting the surface.
The user supplies positional constraints, while the energy asks every local neighborhood to remain as close as possible to a rigid transform. The result balances local shape preservation with global editability.
02 / Core mechanism
A local-global optimization.
The local step estimates each rotation; the global step solves for positions that best agree with those rotations and the fixed handles.
03 / Implementation
Separate what changes from what can be prefactored.
- Choose handles and fixed vertices as explicit constraints.
- Build cotangent weights and the sparse system once.
- Estimate rotations with a small SVD for each neighborhood.
- Solve positions, update rotations, and iterate until stable.
04 / Evidence
Look for preserved local detail.
Good deformation keeps edge lengths and surface features plausible around the edit. Flips, collapsed triangles, or distortion far from the handle reveal weak constraints, poor weights, or a difficult initialization.
