600.657: Mesh Processing

31
600.657: Mesh Processing Chapter 5

Transcript of 600.657: Mesh Processing

600.657: Mesh Processing

Chapter 5

Outline

• Tutte Embeddings

• Harmonic Maps

• Conformal Maps

• Stretch Minimization

Parameterization

Definition:

A parameterization of a surface S is a bijective (diffeomorophic) map to/from a region R2

from/to the surface S:

S:

Parameterization

Definition:

For discrete surfaces, with vertices {x1,…,xn}, the parameterization can be characterized by where it maps the vertices:

),(: iiii vuwx

[Botsch et al., Polygon Mesh Processing]

Parameterization

Definition:

For discrete surfaces, with vertices {x1,…,xn}, the parameterization can be characterized by where it maps the vertices: Using barycentric coordinates the, map can be extended to the interior of the triangles:

[Botsch et al., Polygon Mesh Processing]

)()()()( kkjjiikkjjii xxxxxx

),(: iiii vuwx

Parameterization

Goals:

• The parameterization cannot self-intersect:

• The parameterization should minimally distort the surface in mapping it from 3D to 2D.

yxSyxyx |, )()(

[Botsch et al., Polygon Mesh Processing]

Tutte’s Theorem

Given a triangulated surface homeomorphic to a disk, if the (u,v) coordinates at the boundary vertices lie on a convex polygon, and if the coordinates of the internal vertices are a convex combination of their neighbors, then the (u,v) coordinates form a valid parameterization.

S

S

u

v

Tutte’s Theorem (Implication)

Given a surface S and:

1. Constraints (xi)=ci for all boundary vertices xiS to lie on a convex polygon C,

2. Weights ij associated with every pair of neighboring vertices xiS and xjS such that:

ij

ijij 1 and 0

Tutte’s Theorem (Implication)

Given a surface S and:

1. Constraints (xi)=ci for all boundary vertices xiS to lie on a convex polygon C,

2. Weights ij associated with every pair of neighboring vertices xiS and xjS such that:

Then the solution to the constrained system: gives a valid parameterization.

Sxcwww ii

ij

jiji

, i

ij

ijij 1 and 0

Tutte’s Theorem (Implication)

Given a surface S and:

1. Constraints (xi)=ci for all boundary vertices xiS to lie on a convex polygon C,

2. Weights ij associated with every pair of neighboring vertices xiS and xjS such that:

Then the solution to the constrained system: gives a valid parameterization.

ij

ijij 1 and 0 Note: This does not mean that this gives a good parameterization.

Sxcwww ii

ij

jiji

, i

Harmonic Maps

Recall:

The Dirichlet Energy is a measure of the “smoothness” of a map:

S

S dppE2

)()(

Harmonic Maps

Recall:

The Dirichlet Energy is a measure of the “smoothness” of a map:

Fixing the boundary, we can solve for the map which minimizes the energy.

S

S dppE2

)()(

Harmonic Maps

Recall:

The Dirichlet Energy is a measure of the “smoothness” of a map:

Fixing the boundary, we can solve for the map which minimizes the energy.

Since the “gradient” of the energy at is S, the minimizer can be found by solving:

S

S dppE2

)()(

Sxxcx

S

)()(

0

Harmonic Maps

In the discrete setting, we have the cotangent Laplacian: which gives the linear system:

Sxxcx

S

)()(

0

j

ijii

ijij

i

ij

LL

RL cotcot

2

1

Sxcw

SxwLwL

iii

i

ij

iij

ij

jij

0 ij

ij

xi xj

Harmonic Maps

Re-writing this, we get: which expresses the position of each wi=(xi) as the average of the positions of its neighbors.

SxwLwL i

ij

iij

ij

jij

0

SxwL

wL

ii

ij

ij

ij

jij

Harmonic Maps

Re-writing this, we get: which expresses the position of each wi=(xi) as the average of the positions of its neighbors.

Note: Since the values of Lij are not guaranteed to be positive, Tutte’s theorem does not guarantee that the parameterization is valid.

SxwLwL i

ij

iij

ij

jij

0

SxwL

wL

ii

ij

ij

ij

jij

Harmonic Maps

In particular, if the triangulation is not Delaunay then the associated entry in the cotangent Laplacian will be negative:

0 ijijij L

ij

ij

xi xj

Harmonic Maps

Possible Fixes:

– Re-triangulate the mesh (using edge-flips) to ensures that the triangulation is Delaunay [Fisher et al., 2007]

0 ijijij L

Harmonic Maps

Possible Fixes:

– Re-triangulate the mesh (using edge-flips) to ensures that the triangulation is Delaunay [Fisher et al., 2007]

– Use weights that are guaranteed to be non-negative, e.g. mean-value weights of Floater:

0 ijijij L

2tan

2tan

1 ijij

ji

ijxx

L

ij

ij

xi xj

ij

ij

Conformal Maps

Goal:

To come up with a parameterization of the surface S that preserves the angles.

[Global Conformal Surface Parameterization, Gu and Yau]

Conformal Maps

A (differentiable) mapping F: from one 2D domain to another 2D domain is angle-preserving if:

vu

vu

vdFudF

vdFudF ,

)()(

)(),(

F

u

v

dF(v) dF(u)

[Botsch et al., Polygon Mesh Processing]

Conformal Maps

This is equivalent* to the statement that: i.e. that locally, the map is a combination of a rotation and a uniform scale.

vu

vu

vdFudF

vdFudF ,

)()(

)(),(

cossinsincos

dF

F

u

v

dF(v) dF(u)

[*Assuming orientation preserving]

[Botsch et al., Polygon Mesh Processing]

Conformal Maps

This is can also be expressed as the condition that equivalent to the statement that: where x and y are an orthonormal frame for .

cossinsincos

dF

x

F

y

F

F

u

v

dF(v) dF(u)

[Botsch et al., Polygon Mesh Processing]

Conformal Maps

Goal:

Given a triangulated surface S and given a parameterization sending vertex xi to wi, we would like a measure of the extent to which the map is angle preserving.

Conformal Maps

Given a triangulated surface S and given a triangle T=(xi,xj,xk)S with normal n, we can define an orthonormal frame over T by setting X to be the unit-vector: and setting Y to be the orthogonal vector lying in the plane of T:

ij

ij

xx

xxX

XnY

[Botsch et al., Polygon Mesh Processing]

xj

xk

Conformal Maps

Within the triangle T, the mapping can be expressed with respect to the orthonormal basis (X,Y) as:

kijjiijjiii wxxbwwbxxvT

hwhwuT

wvYuXx ||2

1

||2

1

xj

xk

h

b

[Botsch et al., Polygon Mesh Processing]

Conformal Maps

Taking the derivative, we get:

xj

xk

kijjiijjiTwxxbwwxxbhwhw

Td

||2

1

kijjiijjiii wxxbwwbxxvT

hwhwuT

wvYuXx ||2

1

||2

1

[Botsch et al., Polygon Mesh Processing]

Conformal Maps

Taking the derivative, we get:

Thus, we can measure the lack of conformality by looking at the size of the difference:

2

2

0110

||

1

||

1)(

T

kijjTiijTjTiT

T

TT

wxxwbwxxbwhwhT

YXTE

kijjiijjiii wxxbwwbxxvT

hwhwuT

wvYuXx ||2

1

||2

1

kijjiijjiTwxxbwwxxbhwhw

Td

||2

1

Conformal Maps

Since the parameterization minimizing this energy is invariant to translations and rotations, an optimal solution by constraining the position of (at least) two points on the mesh.

[Botsch et al., Polygon Mesh Processing]

2

0110

||

1)(

T

kijjTiijTjTiTwxxwbwxxbwhwh

TE

Conformal Maps

Since the parameterization minimizing this energy is invariant to translations and rotations, an optimal solution by constraining the position of (at least) two points on the mesh.

[Botsch et al., Polygon Mesh Processing]

To avoid (arbitrarily) fixing positions, other methods formulate the problem in a way that supports “free” boundaries.

2

0110

||

1)(

T

kijjTiijTjTiTwxxwbwxxbwhwh

TE

Conformal Maps

Since the parameterization minimizing this energy is invariant to translations and rotations, an optimal solution by constraining the position of (at least) two points on the mesh.

[Botsch et al., Polygon Mesh Processing]

To avoid (arbitrarily) fixing positions, other methods formulate the problem in a way that supports “free” boundaries.

Question: Doesn’t the Mobius transformation allow for three fixed points?

2

0110

||

1)(

T

kijjTiijTjTiTwxxwbwxxbwhwh

TE