Upload
thomas-heller
View
238
Download
0
Embed Size (px)
Citation preview
8/8/2019 FM 04 Parametrization
1/67
Surface Parametrization
hapter l chenmodellierung
R Grosso
8/8/2019 FM 04 Parametrization
2/67
Content
Motivation Some History Differential Geometry Background Conformal and Harmonic mappings The Spring Model Some remarks: closed surfaces Deformation Analysis
Most Isometric ParametrizationS
Flchenmodellierung
8/8/2019 FM 04 Parametrization
3/67
Motivation
Literature Siggraph Course Notes: Mesh Parametrization: Theory and
Practice, 2007. Kai Hormann, Bruno Levy and Alla Sheffer
Eurographics 2008 Full-Day Tutorial Geometric Modeling Basedon Polygonal Meshes
Surface Parameterization: a Tutorial and Survey. Michael S.Floater and Kai Hormann
Flchenmodellierung
8/8/2019 FM 04 Parametrization
4/67
Motivation
Texture mapping
Flchenmodellierung
8/8/2019 FM 04 Parametrization
5/67
Motivation
Surface Fitting
Flchenmodellierung
Parameter domain
8/8/2019 FM 04 Parametrization
6/67
Motivation
Mesh completion, surface reconstruction
Mesh completion, Kraevoy and Sheffer 2005
Flchenmodellierung
8/8/2019 FM 04 Parametrization
7/67
Motivation
Remeshing
Flchenmodellierung
parameter domain
8/8/2019 FM 04 Parametrization
8/67
Motivation
Mesh editing
Flchenmodellierung
8/8/2019 FM 04 Parametrization
9/67
Motivation
Detail Mapping
Flchenmodellierung
Siggraph Course Notes 2007: Mesh Parameterization: Theory and Practice
8/8/2019 FM 04 Parametrization
10/67
Motivation
Complex topology
segmentation and texture atlases for Isocharts, Zhou et al. 2004
Flchenmodellierung
8/8/2019 FM 04 Parametrization
11/67
Some History
Notes from Carlos A. Furuti,www.progonos.com/furuti/index.html Azimuthal orthographic
projection
mentioned by Hipparchus200 B.C. but probably older
do not preserve angles andareas
Copyright 2008 C.A.Furu:
Flchenmodellierung
8/8/2019 FM 04 Parametrization
12/67
Some History
Azimuthal stereographic projection attributed to Hipparchus,
190 -120 B.C.
name given by dAiguillon1613
conformal: preserves anglesbut does not preserve areas
maps circles to circles
Copyright 2008 C.A.Furu:
Flchenmodellierung
8/8/2019 FM 04 Parametrization
13/67
Some History
Mercators cylindrical conformal projection Flemish cartographer, 1512 -1594 used navigation from
the 16th century until present
any straight line between twopoints is a loxodrome (line ofconstant course on the sphere)
Mercator loxodrome bearsthe same angle from all
meridians.Copyright 2008 C.A.Furu:
Flchenmodellierung
8/8/2019 FM 04 Parametrization
14/67
Some History
Lamberts azimuthal equal-area projection Johann H. Lambert 1772 preserves areas strong distortion in the
boundary of the worldwidemap
Copyright 2008 C.A.Furu:
Flchenmodellierung
8/8/2019 FM 04 Parametrization
15/67
8/8/2019 FM 04 Parametrization
16/67
Differential Geometry
First fundamental form or metric tensorg = xx, , = 1,2
ds2 = g du du quadratic form
det(g ) = g > 0
Flchenmodellierung
(g) = (If ) = g11 g12
g21
g22
= E FF G
8/8/2019 FM 04 Parametrization
17/67
Differential Geometry
Differentiable ManifoldTopological manifold
Locally homeomorphic to euclidean space V, V open chart pair (V , ), : VR3Atlas: set {(V , )} which covers with transition maps
if (RnRn) is Ck for all transition maps then the atlas {(V ,)} is Ck. In this case we say that the pair {, {(V , )} isCkdifferentiable manifold
Flchenmodellierung
8/8/2019 FM 04 Parametrization
18/67
Differential Geometry
Flchenmodellierung
u2
u1
u2
u1
8/8/2019 FM 04 Parametrization
19/67
Parametrization
Notation: S surface, (u1,u2) coordinates S* second surface fmap, f: SS*A parametrization ofS* is given by * = fA pointp in S* has the same coordinates as in S.
Flchenmodellierung
u2
u1
S
*
S*
f
8/8/2019 FM 04 Parametrization
20/67
Isometric Mapping
Definitionf: SS* is an isometric or length-preserving map if the length of
any arc on S* is the same as its pre-image on SWe call f an isometry.
TheoremA map f: SS* is an isometry iff the coefficient of the firstfundamental form are the same, i.e. I = I*
The surface S and S* are called isometric.
Flchenmodellierung
8/8/2019 FM 04 Parametrization
21/67
Conformal Mapping
Definitionf: SS* is a conformal or angle-preserving map if the angle at the
intersection of two curves on S* is the same as the angle ofintersection of the corresponding curves on S.
Theorem f: SS* is conformal iff the first fundamental form areproportional, i.e. I=(u1,u2)I* ; 0 scalar
Flchenmodellierung
8/8/2019 FM 04 Parametrization
22/67
8/8/2019 FM 04 Parametrization
23/67
Surface Parametrization
Note: Jf: Jacobian off If=JT J (2x2 Matrix) Singular values ofJ (3x2 Matrix) are the square roots of the
eigenvalues ofgSingular values ofJf: i, Eigenvalues ofg: i i2 = i
Then
f is isometric
f is conformal
f is equiareal
Flchenmodellierung
8/8/2019 FM 04 Parametrization
24/67
Surface Parametrization
Strategy for computing a surface parametrization Ideal case: isometric mapping, but not possible in general.
Therefore, attempt one of the following mappings:
1. Conformal: no distortion in angles2. Equiareal: no distortion in areas3. Minimize some combination of both
Flchenmodellierung
8/8/2019 FM 04 Parametrization
25/67
Conformal Map
Conformal map complex transformation w=f(z) w,z Cthat preserves angles fis analytic z=x+iy; w=u+iv It follows u=0; v=0;
i.e. u(x,y) and v(x,y) are harmonic
Flchenmodellierung
8/8/2019 FM 04 Parametrization
26/67
Conformal Map
Minimal surfaces: Plateaus Problem (x,y) displacements on domain
Potential energy
Minimize surface area with boundary conditions =0 on. The Euler-Lagrange equationsxx(1+y
2)+yy(1+x2)-2xyxy=0 (nonlinear!)
Linearized problem: minimize Dirichlets energy
=0 (=0) in !
Flchenmodellierung
8/8/2019 FM 04 Parametrization
27/67
Conformal Map
Result harmonic map can be viewed as minimizing the Dirichlets
energy over the surface S.
Note: In this case the domain is planar, i.e. R2 For S R3 use the generalized Laplace equation: use operators
defined on S: s=divsgrads
Result Isometric conformal harmonic
Remark: Not every harmonic map is conformal.
Flchenmodellierung
8/8/2019 FM 04 Parametrization
28/67
Harmonic Map
Harmonic maps: discretization ST piecewise linear surface T={ti} triangulation ofST
Parametrization problem: Given ST Find polygonal domain S*R2 Piecewise linear map f: STS* f is uniquely determined by the values offat the vertices in T
Flchenmodellierung
8/8/2019 FM 04 Parametrization
29/67
Harmonic Map
1. Set boundary mapping
2. Compute piecewise linear f: STS* which minimizes
Flchenmodellierung
vi
f(vi)
8/8/2019 FM 04 Parametrization
30/67
Harmonic Map
Note: Quadratic minimization problem For a triangle t=[v1v2v3]
Flchenmodellierung
8/8/2019 FM 04 Parametrization
31/67
Harmonic Map
Lest squares minimization:The normal equations are: Let V be the set of all vertices and VI the set of all interior vertices of
T.
LetNi be the set of the indices of the neighbors ofvi VI
Flchenmodellierung
vj
vi
8/8/2019 FM 04 Parametrization
32/67
Harmonic Map
Remark:The matrix is symmetric and positive definiteThe bandwidth of the matrix is given by the max. valence of
viVI
at the boundary for viVI
Flchenmodellierung
boundary edges
8/8/2019 FM 04 Parametrization
33/67
Harmonic Map
Minimize the Dirichlet energy functional: Notation fi=f(vi).
Flchenmodellierung
ED min solve ED = 0,
where the gradient is taken with respect tofi,v iVI
8/8/2019 FM 04 Parametrization
34/67
Harmonic Map
The linear system:
Flchenmodellierung
8/8/2019 FM 04 Parametrization
35/67
8/8/2019 FM 04 Parametrization
36/67
8/8/2019 FM 04 Parametrization
37/67
Harmonic Map
Remark: Harmonic map IfS* is convex fis one-to-one
Discrete harmonic map S* is convex and the weights wij are positive fis one-to-one orientation of triangles is preserved t=[v
1,v
2,v
3] f(t)=[f(v
1) f(v
2) f(v
3)]
This can be seen as follows:
Flchenmodellierung
8/8/2019 FM 04 Parametrization
38/67
Convex Combination
Convex combination Set of points {pi} i=1,,N. Convex combination
Ifp is a convex combination p is in the convex hull of{pi}.
Flchenmodellierung
vi
ij>0 ij
8/8/2019 FM 04 Parametrization
39/67
Convex Combination
The discrete harmonic map ij>0 wij>0 wijij>0 fi is a convex combination of the fjTherefore fi is in the convex hull offj the orientation of thetriangles in S does not change in S* and the map is one-to-one,
i.e. there is no flip-over
Flchenmodellierung
flip-over, weight < 0
8/8/2019 FM 04 Parametrization
40/67
Convex Combination
The weights are negative if:
Flchenmodellierung
quadrilateral opposite angles sum <
8/8/2019 FM 04 Parametrization
41/67
Surface Parametrization
General discrete formulationThe one dimensional case
At the boundary f(p0) = x0, f(p5) = x5.
Flchenmodellierung
p0
p1 p2
p3p4
p5
x0 x1 x2 x3 x4 x5
8/8/2019 FM 04 Parametrization
42/67
8/8/2019 FM 04 Parametrization
43/67
Surface Parametrization
The linear system
Flchenmodellierung
Aij =
wikkN( i) , i = j
wij , jN(i)
0 , otherwise
bi = wijx jjN(i)jB
A x = b
8/8/2019 FM 04 Parametrization
44/67
Surface Parametrization
Procedure Step 1: Parametrization of the boundary: Compute aparametrization for the boundary points
Step 2: Set the weights wij (use some heuristic model) Step 3: Solve linear system for the inner points!
Analysis
Flchenmodellierung
p0
p1 p2
p3 x0 x1 x2 x3
x0 = f(p0)x3 = f(p3)
boundary, fix
f
8/8/2019 FM 04 Parametrization
45/67
Surface Parametrization
The system of equations
Flchenmodellierung
wij =1
pi pjp
(the spring model)
x1 x0
x2 x1=
p1 p0
p2 p1
p
p = 0 uniform
p =1 chordal
p =1
2centripedal
Example: choose
it follows
8/8/2019 FM 04 Parametrization
46/67
8/8/2019 FM 04 Parametrization
47/67
Surface Parametrization
The general two dimensional case Step 1: Parametrization of the boundaryAsumption: the boundary is a closed closed polygon Map the boundary using e.g. the spring model Set the weight, choose p=0,1 or (uniform, chordal,
centripetal) Problem: Form/geometry of boundary curveThe boundary should be mapped to a convex polygon!
Choosing the geometry of the boundaryi. Circle
Flchenmodellierung
convex
8/8/2019 FM 04 Parametrization
48/67
Surface Parametrization
Geometryii. n-polygon
iii. Choose best fitting plane (least squares) project (orthogonally) boundary vertices
Flchenmodellierung
berfaltung
8/8/2019 FM 04 Parametrization
49/67
Surface Parametrization
The inner vertices Requirements for a good mapi. Identity property:
Preserves topology For planar meshes, the resulting map in the identity
ii. Regularity with respect to convolutions (berfaltung) (one-to-one!)
Flchenmodellierung
8/8/2019 FM 04 Parametrization
50/67
Surface Parametrization
Step 2: Set the weights wija) The spring model
wij= || pi pj ||-p, withp=0 (uniform),p=1 (chordal) orp=1/2 (centripetal) p=0 andp=1/2 do not satisfy (i), but satisfy (ii)
b) Harmonic parametrization Solution of Laplace (elliptic) equation
Su=0; Sv=0
Weak formulation
Flchenmodellierung
8/8/2019 FM 04 Parametrization
51/67
Surface Parametrization
b)
Harmonic parametrization cont.
Weak formulation min(ED);
Use Dirichlet boundary conditions wij = cotij + cotij
One-to-one only if
ij+ij < (wij > 0) it satisfy (i) but not (ii)!
Flchenmodellierung
vj
vi
8/8/2019 FM 04 Parametrization
52/67
Surface Parametrization
c)
Shape preserving
Remark: convex combination regular triangulation The method:
Step 1: Flattening
Step 2: Compile weights
Step 3: Solve linear system
Flchenmodellierung
8/8/2019 FM 04 Parametrization
53/67
Surface Parametrization
c)
Shape preserving
Flattening by exponential mp: consider P and corresponding trianglefan
Compute mapping ofP and corresponding triangle fan to a plane
Flchenmodellierung
Q4
Q6Q1
Q2
Q3
Q5
Pq
3q4
q6
q5q1
q2p 1
x
y
8/8/2019 FM 04 Parametrization
54/67
Surface Parametrization
c)
Shape preserving: map of triangle fan
Flchenmodellierung
P p =0
0
Q1 q
1= Q
1 P
1
0
Qi qi = Qi Pcosi
sini
i = 2,K,N QN = Q1
i=
=2
i
; =2
ii=2
N
; i=(Q
i,P,Q
i+1)
8/8/2019 FM 04 Parametrization
55/67
Surface Parametrization
c)
Shape preserving, cont.
Flchenmodellierung
P p
Qi
qii Qi-1
i qi
8/8/2019 FM 04 Parametrization
56/67
8/8/2019 FM 04 Parametrization
57/67
Surface Parametrization
Shape preserving, example Step 1: flattening the 1-neighborhood ofvi (using theexponential map)
Flchenmodellierung
vi
v`i
v j1 v j2
v j3v j4
8/8/2019 FM 04 Parametrization
58/67
Surface Parametrization
Shape preserving, example Step 2: computing the barycentric coords.
Flchenmodellierung
v'i = 12v' j1 +2
2v' j2 +4
2v ' j4
v`i
v j1 v j2
v j3v j4
v`i v`i v`i
8/8/2019 FM 04 Parametrization
59/67
Surface Parametrization
shape preserving, example cont. use the average of the barycentric coords as weights
Result: no deformations, no overlaps! Shape preserving satisfy requirements i) and ii) for a good map!
Flchenmodellierung
v`i
v j1 v j2
v j3v j4
8/8/2019 FM 04 Parametrization
60/67
Surface Parametrization
Closed Surfaces1) Surfaces with genus 0, i.e. spherei. Find map to the unit sphereii. A harmonic map is conformal, Gu. And Yan, 2002iii. Many methods are nonlinear
2) Surfaces with arbitrary genusi. Segment surface into open disk like meshesii. Use network for open surfacesiii. Problem: smooth transition across patch boundaries
Flchenmodellierung
8/8/2019 FM 04 Parametrization
61/67
MIPS
Most Isometric ParametrizationS Fact: except for developable surfaces, such as planes or
cylinders, any parametrization will deform the shape of thetriangles
Problem statement: find a way to measure this deformation
Flchenmodellierung
f
8/8/2019 FM 04 Parametrization
62/67
MIPS
Statement:
the map between two triangles is linear: fj: Tj tj. call the map fjatomic linear map.
Idea find a functional that measures the distortion (or deformation) of
the atomic linear map minimize a functional over all these atomic maps E(fj).
Flchenmodellierung
R3 R2
fj
8/8/2019 FM 04 Parametrization
63/67
MIPS
The deformation functional should be invariant under
translation orthogonal transformations, e.g. rotations uniform scaling
The functional should penalize triangle collaps
Flchenmodellierung
8/8/2019 FM 04 Parametrization
64/67
MIPS
The functional
consider atomic linear map
ignore in the following the translation partb.
Singular value decomposition
2-norm condition
this number gives information on deformation and collaps A value of 1 corresponds to an isometry
Flchenmodellierung
g:R2R
2, xa Ax + b
UTAV = =
1
0
0 2
2(A) = A
2A
1
2=
1
2
8/8/2019 FM 04 Parametrization
65/67
MIPS
Problem
the computation of the two norm condition number is difficult Solution
use the Frobenius norm condition instead.
The global functional takes the form
Flchenmodellierung
F(A) = A F A1
F
=
trace(ATA)
det(A)
= F( fj)
j
8/8/2019 FM 04 Parametrization
66/67
MIPS
The global deformation functional is non linear
solution through an iterative method, e.g. Gau-Seidel likeiteration
the parametrization of the boundary is determined during theiteration and must not be specified before.
needs an efficient technique to compute the Frobeniouscondition number for each atomic linear map.
Flchenmodellierung
8/8/2019 FM 04 Parametrization
67/67
Surface Parametrization
Final remarks
linear methods, e.g. the spring model, are easy to implementand fast
the harmonic energy can produce overlaps, e.g. if some of theweights are negative
non linear methods, e.g. MIPS or more realistic spring models,produce better results. Implementation is difficult and requiremuch more computation time.
Most methods require to specify first the parametrization of theboundary, except MIPS
Flchenmodellierung