Mesh Parameterization: Theory and Practice Mesh Parameterization ...
Mesh Parameterization: Theory and Practice Mesh Parameterization ...
Mesh Parameterization: Theory and Practice Mesh Parameterization ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Mesh</strong> <strong>Parameterization</strong>:<br />
<strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods<br />
Alla Sheffer
Direct<br />
Planar, Non‐Linear Methods<br />
MIPS<br />
stretch minimization<br />
circle patterns<br />
ABF ++<br />
Indirect<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
Direct Methods<br />
• Define (non‐linear) distortion metric to minimize<br />
– Function of &<br />
– On mesh constant per triangle (more later)<br />
– Examples<br />
• Conformal –MIPS[Hormann & Greiner 2000]<br />
• Stretch [S<strong>and</strong>er et al. 2001, Sorkine et al. 2002]<br />
– ( , , <strong>and</strong> symmetric stretch)<br />
• Area preserving [Degener et al. 2003]<br />
• Solve resulting optimization problem<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
Direct Methods: Solution Mechanism<br />
• Challenge ‐ Metric complexity<br />
– Convergence<br />
– Speed<br />
• Solution Mechanism<br />
– Start from linear solution as initial guess<br />
– “Gauss‐Seidel” solver<br />
• Move one vertex at a time<br />
– Explicitly check/prevent for flips<br />
– Use hierarchical solution<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
Hierarchical Solution<br />
When adding vertices<br />
“improve” local<br />
neighbourhood only<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
MIPS [Hormann & Greiner 2000]<br />
• Measure conformality ( ):<br />
• Scale independent<br />
– in contrast to linear conformal formulations<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods<br />
Linear (LSCM) [Levy’02]
Stretch Minimization<br />
[S<strong>and</strong>er et al,2001]<br />
• Measure “averaged” per triangle stretch<br />
• Balances stretch<br />
– Increase one σ to decrease another<br />
MIPS<br />
Stretch Minimizing<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
So what is f ?<br />
• Barycentric coordinates per triangle<br />
2D<br />
p<br />
p2<br />
p3<br />
f(p)<br />
=<br />
p 1<br />
q 1<br />
f<br />
q 2<br />
f(p)<br />
( p , p<br />
)<br />
2<br />
, p3<br />
q1<br />
+ p,<br />
p3,<br />
p1<br />
q2<br />
+ p,<br />
p1<br />
, p2<br />
q3<br />
p1<br />
, p2,<br />
p3<br />
3D<br />
q 3<br />
• Obtain J f by explicit derivation<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
Alternative Variables<br />
• Alternative:<br />
– Use parameters which define 2D mesh uniquely<br />
– Search in alternative parameter space & convert to UV<br />
– Enforce constraints defining 2D mesh in parameter space<br />
• Examples<br />
– 2D mesh angles [Sheffer & de Sturler:00; Kharevych:06]<br />
– Gradients [Gu & Yau:03; Ray:06]<br />
– Angle deficit [Gotsman:07]<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
Angle Space: ABF [Sheffer & de Sturler:00]<br />
• Triangular 2D mesh is defined by its angles<br />
• Formulate parameterization as problem in angle space<br />
[Sheffer & de Sturler,00]<br />
• Angle based flattening (ABF):<br />
– Distortion as function of angles (conformality)<br />
– Validity: set of angle constraints<br />
• No flips<br />
– Convert solution to UV<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
ABF :Formulation<br />
• Distortion:<br />
– 2D/3D angle difference<br />
∑<br />
(<br />
t t<br />
)<br />
2 t<br />
α − β = 1<br />
2<br />
t<br />
w j j j<br />
, w<br />
j<br />
t<br />
t∈T<br />
, j=<br />
1..3<br />
β<br />
j<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
ABF Formulation<br />
• Constraints:<br />
– Triangle validity:<br />
– Planarity:<br />
– Reconstruction (sine rule)<br />
• Distortion:<br />
∑<br />
(<br />
t t<br />
)<br />
2 t<br />
α − β = 1<br />
2<br />
t<br />
w j j j<br />
, w<br />
j<br />
t<br />
t∈T<br />
, j=<br />
1..3<br />
β<br />
j<br />
• Solve: constrained<br />
optimization (Lagrange<br />
multipliers)<br />
– Positivity<br />
t<br />
α j<br />
> 0<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
Comparison<br />
MIPS ABF ++<br />
Linear (LSCM)<br />
stretch minimization<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
ABF++: Up to x100 speedup<br />
[Sheffer et al:05]<br />
• Solver:<br />
∇<br />
2<br />
– Newton<br />
ABF<br />
• At each step solve<br />
Fδ = −∇F,<br />
∇<br />
• Conversion<br />
⎛<br />
= ⎜<br />
⎝<br />
– Triangle unfolding<br />
2<br />
F<br />
A<br />
T<br />
B<br />
• accumulates error<br />
B⎞<br />
⎟<br />
0 ⎠<br />
• Solver:<br />
ABF++<br />
– Gauss‐Newton<br />
• Allows drastic system simplification<br />
Diagonal<br />
• Conversion:<br />
t<br />
– LSCM ( as target angles)<br />
α j<br />
∇<br />
2<br />
F<br />
=<br />
⎛ Λ<br />
⎜<br />
T<br />
⎝ B<br />
B⎞<br />
⎟<br />
0 ⎠<br />
• allow less accurate solution<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
Convergence<br />
1 Iteration 2 iterations 10 iterations<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
Speedup: ABF vs ABF++<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
Circle Patterns [Kharevych:06]<br />
• Three Points make a Triangle…<br />
or a Circle<br />
• Local geometry<br />
Edge angles<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
Geometry Preserving<br />
Edge Angles<br />
• Edge angle constraints<br />
– positivity<br />
– planarity<br />
• Extract from 3D geometry?<br />
• Idea: extract “feasible” triangle<br />
angles & convert to edge angles<br />
– feasible angles close to 3D<br />
angles<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
Feasible angles<br />
• Minimize<br />
• Subject to<br />
β<br />
– Compare to ABF: replace reconstruction constraint<br />
• Solve with quadratic programming<br />
• Convert:<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
2D Geometry From Edge Angles<br />
• To get radii from edge angles solve global minimization<br />
problem<br />
– Convex energy ‐ Unique minimum<br />
• Given radii <strong>and</strong> edge angles get UV by unfolding<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
Intrinsic Delaunay<br />
• Enforce:<br />
• Large distortion if 3D mesh not Delaunay<br />
• Solution: Intrinsic Delaunay triangulation<br />
– perform implicit (local) edge flips in 3D<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
Planar, Non‐Linear Methods<br />
MIPS ABF ++<br />
circle patterns<br />
stretch minimization<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
Cone Singularities [Kharevych:06]<br />
• What separates boundary from interior in angle space?<br />
• Answer: Sum of angles at vertex<br />
• Formulation specific<br />
– Circle patterns<br />
• Planarity<br />
– ABF/ABF++<br />
• Planarity & Reconstruction<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
Cone Singularities<br />
• Idea: Reduce boundary to small set of vertices<br />
• Implementation:<br />
– Enforce “interior” constraints at all other vertices<br />
• To unfold choose any sequence of edges connecting<br />
“boundary” vertices<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
Circle Patterns + Cone Singularities<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
ABF + Cone Singularities<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
Recent Advances<br />
• [Zayer:07] Reformulate ABF to increase convergence (1 iter +<br />
LSCM)<br />
• [Gotsman:07]: Formulate in terms of angle deficit at<br />
interior/boundary vertices<br />
– Single linear system (almost...)<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods
Main References<br />
• Hormann, K. Greiner, G.,MIPS: An efficient global<br />
parametrization method. In Curve <strong>and</strong> Surface Design, 1999.<br />
• P. S<strong>and</strong>er, J. Snyder, S. Gortler, H. Hoppe. Texture mapping<br />
progressive meshes, ACM SIGGRAPH 2001, 409‐416<br />
• L. Kharevych, B. Springborn, <strong>and</strong> P. Schröder. Discrete conformal<br />
mappings via circle patterns. ACM Transactions on Graphics,<br />
25(2):412‐438, 2006.<br />
• A. Sheffer <strong>and</strong> E. de Sturler. Surface parameterization for<br />
meshing by triangulation flattening. In Proc. 9th International<br />
<strong>Mesh</strong>ing Roundtable (IMR 2000), 161‐172, 2000.<br />
<strong>Mesh</strong> <strong>Parameterization</strong>: <strong>Theory</strong> <strong>and</strong> <strong>Practice</strong><br />
Non‐Linear Methods