FM 04 Parametrization

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