600.657: Mesh Processing
Transcript of 600.657: Mesh Processing
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