Differential Geometry: Conformal Metrics [Conformal Flattening by Curvature Prescription and Metric Scaling. Ben-Chen et al., 2008] [Conformal Equivalence of Triangle Meshes. Springborn et al., 2009] Conformal Maps Recall: A conformal map is an angle-preserving transformation. Liouville's Theorem: In dimensions greater than 2, the Möbius transformations (translations, rotations, scales, and inversions) are the only conformal maps. Möbius Transformations Given points x,y∈Rn and given a Möbius transformation φ, we have: 1. If φ is a translation: φ(x) −φ(y) = x + c − y − c = x − y Möbius Transformations Given points x,y∈Rn and given a Möbius transformation φ, we have: 1. If φ is a translation: φ(x) −φ(y) = x + c − y − c = x − y 2. If φ is a rotation: φ(x) −φ(y) = φ(x − y) = x − y Möbius Transformations Given points x,y∈Rn and given a Möbius transformation φ, we have: 1. If φ is a translation: φ(x) −φ(y) = x + c − y − c = x − y 2. If φ is a rotation: φ(x) −φ(y) = φ(x − y) = x − y 3. If φ is a scale: φ(x) −φ(y) = sx − sy = s x − y Möbius Transformations Given points x,y∈Rn and given a Möbius transformation φ, we have: 1. If φ is a translation: φ(x) −φ(y) = x + c − y − c = x − y 2. If φ is a rotation: φ(x) −φ(y) = φ(x − y) = x − y 3. If φ is a scale: φ(x) −φ(y) = sx − sy = s x − y 4. If φ is an inversion: x y 1 φ(x) −φ(y) = 2 − 2 = x − y x y x y Möbius Transformations Thus, given points x,y∈Rn and given a Möbius transformation φ, we can express the distance between the transformed points as the original distance, modulated by the product of functions that only depends on the individual points’ positions. φ(x) −φ(y) = ρ(x)ρ(y) x − y Gauss-Bonnet Recall: Given a triangle mesh M with boundary ∂M, the total curvature is: ∑ Kv + ∑κv = 2πχ(M ) v∈M ,v∉∂M v∈∂M with Kv the Gaussian curvature at interior v: Kv = 2π − ∑∠v1vv2 (v1 ,v,v2 )∈T with κv the Gaussian curvature at boundary v: κv = π − ∑∠v1vv2 (v1 ,v,v2 )∈T and χ(M) the Euler characteristic: χ(M ) =|T | − | E | + |V | Conformal Flattening Goal: Given a triangle mesh M, we would like to find a conformal mapping of M into the plane. Conformal Flattening Goal: Given a triangle mesh M, we would like to find a conformal mapping of M into the plane. Approach: Conformally transform the mesh so the Gaussian curvature at all interior vertices is equal to 0. Conformal Flattening Goal: Given a triangle mesh M, we would like to find a conformal mapping of M into the plane. Approach: Conformally transform the mesh so the Gaussian curvatureNote: at all interiorSince the vertices total curvature is constant (Gauss-Bonnet), is equalthis means to 0. that we will have to “push” the curvature to the boundaries. Conformal Flattening Question: How do we “conformally transform” a mesh? Conformal Flattening Question: How do we “conformally transform” a mesh? Answer: Recall that a conformal map φ is a map that locally looks like an isotropic scaling. Conformal Flattening Continuous Setting: Given a map φ from a surface M to a surface N, we can define a metric on M in two ways: 1. We can set the length of vectors in the tangent space of p to be the embedded length of the embedded vectors. φ(p) p φ v w M N Conformal Flattening Continuous Setting: Given a map φ from a surface M to a surface N, we can define a metric on M in two ways: 2. We can set the length of vectors in the tangent space of p to be the embedded length of the image of the vectors under φ. φ(p) dφ w dφpv p p φ M N Conformal Flattening Continuous Setting: Given a map φ from a surface M to a surface N, we can define a metric on M in two ways. The two surfaces are conformally equivalent if at every point p, the two metrics differ by a (positive) scale factor: g = e2u g φ(p) N M dφ w dφpv p for some smooth function p φ u:M→R. v w M N Conformal Flattening Discrete Setting: Given a triangle mesh M, a discrete metric on M is a function l:E→R>0 (an association of lengths to edges) satisfying the triangle inequality: l + l ≥ l ∀(v ,v ,v )∈T v1v2 v2v3 v3v1 1 2 3 Conformal Flattening Discrete Setting: Given two triangle meshes M and N with the same topology, we can define a discrete metric on M in two ways: 1. For vertices vi and vj lying on an edge, we can set lij to be the distance between the v positions of v and v on M. 3 i j v2 v2 v v1 v 3 vi i v1 vj v4 vj v v0 v4 v 5 v5 0 Conformal Flattening Discrete Setting: Given two triangle meshes M and N with the same topology, we can define a discrete metric on M in two ways: 2. For vertices vi and vj lying on an edge, we can set lij to be the distance between the v positions of v and v on N. 3 i j v2 v2 v v1 v 3 vi i v1 vj v4 vj v v0 v4 v 5 v5 0 Conformal Flattening Discrete Setting: Given two triangle meshes M and N with the same topology, we can define a discrete metric on M in two ways. The two meshes are conformally equivalent if the two discrete metrics differ by a positive v scale factor. 3 v2 v2 v v1 v 3 vi i v1 vj v4 vj v v0 v4 v 5 v5 0 Conformal Flattening Discrete Setting: Given two triangle meshes M and N with the same topology, we can define a discrete metric on M in two ways. The two meshes are conformally equivalent if the two discrete metrics differ by a positive scale factor. That is, if there is a function u:V→R with: N M (ui +u j )/ 2 lij = lij e Conformal Flattening Note 1: If φ is a Möbius transformation, we know that we can define a function ρ:V→R such that: φ(vi ) −φ(v j ) = ρ(vi )ρ(v j ) vi − v j Conformal Flattening Note 1: If φ is a Möbius transformation, we know that we can define a function ρ:V→R such that: φ(vi ) −φ(v j ) = ρ(vi )ρ(v j ) vi − v j Thus, if we set ui=2log(ρ(vi)), we have: φ (ui +u j )/ 2 lij = lije so that the image of M under a Möbius transformation is conformally equivalent to M. Conformal Flattening Note 2: Using a discrete metric, we can talk about conformal maps between surfaces without explicitly establishing an embedding of the mesh into 3D. Conformal Flattening Note 3: If we have a discrete metric, we know the lengths of the edges of all the triangles, which means we can compute the angles. a α (a − b + c)(a + b − c) c tan = 2 (a + b + c)(−a + b + c) b α Conformal Flattening Approach: To find a conformal map sending the mesh M into the plane, we want to solve for the scale values ui that result in the appropriate angles: 1. At vertices v interior to the mesh, we want the mesh to be flat: ∑∠v1vv2 = 2π (v1 ,v,v2 )∈T 2. At boundary vertices v, we can prescribe the curvature: κv = π − ∑∠v1vv2 (v1 ,v,v2 )∈T Conformal Flattening Approach: We do this by defining an energy E(u) which is minimized precisely when the angle-sum constraints are met. Conformal Flattening Approach: We do this by defining an energy E(u) which is minimized precisely when the angle-sum constraints are met. Specifically, if we set Θi to be the desired angle- sum at vertex i, we find an energy E(u) that has the property: ∂E = Θ − ∠v v v ∂ i ∑ 1 i 2 ui (v1 ,vi ,v2 )∈T Conformal Flattening Differentiating the gradient of the energy with respect to the scaling values, we get a Hessian that is the cotangent-weight Laplacian: 1 (cot(α )p + cot(β )) if i ≠ j and v ∈ Nbr(v ) 2 ij ij j j 2 2 ∂ E ∂ E = − if i = j ∂ ∑ ∂ uiu j vk ∈Nbr(vi ) uiu j 0 otherwise v0 α v1 02 β 02 v β01 3 α03 v2 Conformal Flattening Differentiating the gradient of the energy with respect to the scaling values, we get a Hessian that is the cotangent-weight Laplacian: 1 (cot(α )p + cot(β )) if i ≠ j and v ∈ Nbr(v ) 2 ij ij j j 2 2 ∂ E ∂ E = − if i = j ∂ ∑ ∂ uiu j vk ∈Nbr(vi ) uiu j 0 otherwise Since we know that the cotangent-weight Laplacian is positive (semi) definite, this implies that the energy must have a unique minimum. Conformal Flattening Differentiating the gradient of the energy with respect to the scaling values, we get a Hessian that is the cotangent-weight Laplacian: 1 (cot(α )p + cot(β )) if i ≠ j and v ∈ Nbr(v ) 2 ij ij j j 2 2 ∂ E ∂ E = − if i = j ∂ ∑ ∂ uiu j vk ∈Nbr(vi ) uiu j Note: 0 otherwise The cotangent -weight Laplacian has a kernel Sinceconsisting we know of constant that the functions.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages58 Page
-
File Size-