29.01.2014 Views

Mesh Parameterization: Theory and Practice Mesh Parameterization ...

Mesh Parameterization: Theory and Practice Mesh Parameterization ...

Mesh Parameterization: Theory and Practice Mesh Parameterization ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!