410 likes | 604 Views
Discrete one-forms on meshes and applications to 3D mesh parameterization. Steven Gortler, Craig Gotsman, Dylan Thurston by Shen Dong. Surface Parameterization. Origin of the problem -- cartography. Surface Parameterization. Texture Mapping. Surface Parameterization. Surface Remeshing.
E N D
Discrete one-forms on meshes and applications to 3D mesh parameterization Steven Gortler, Craig Gotsman, Dylan Thurston by Shen Dong
Surface Parameterization • Origin of the problem -- cartography
Surface Parameterization • Texture Mapping
Surface Parameterization • Surface Remeshing • Surface Painting
Idea of Tutte’s Embedding Theorem Convex boundary B + Positive weights w = Valid parameterization
Choosing Weights • Uniform weight • Geometry-irrelevant
Choosing Weights • Inverse edge length weight • Still not smooth
Choosing Weights • Discrete conformal weight • Minimizing Dirichlet energy of the mapping
Choosing Weights • Mean value weight • Mean value property of harmonic mapping
Other Extentions • Natural boundary Demo
Tutte’s Embedding Theorem If • G=<V,E,F> 3-connected planar graph • Boundary vertices B⊂Vdefining a unique unbounded exterior face fe. • ∂feembedded as a non-concave planar polygon • Each interior vertex positioned as a strictly convex combination of its neighbors Then • The straight-line drawing of G is an embedding • With strictly convex interior faces
Some Preparations • Discrete one-form[G,Δz] – assign real value Δzuvto each half edge (u,v), Δzuv= - Δzvu • Degenerate one-form, vanishing one-form • Closed face, co-closed vertex • Harmonic one-form – all faces closed, all vertices co-closed wrt some set of weights • Linear space of harmonic one-forms on genus g closed manifold – dimension 2g
Index(v) = 1-sc(v)/2 Index Theorem Source/Sink Non-singular Saddle Ind=1 Ind=0 Ind<0 • Index(f) = 1-sc(f)/2 Vortex Non-singular Saddle Ind=1 Ind=0 Ind<0
With a Riemannian metric one-form ↔ vector field Index of one-form = Index of vector field (metric invariant) ΣInd(v) + ΣInd(f) = 2-2g Corollary 1: Face f closedInd(f) ≤ 0 Vertex v closedInd(f) ≤ 0 Index Theorem
Having vertex coordinate arrays (xi,yi) and two arbitrary constants α,β, let zi= αxi+ βyi One-form zij = zj - zi has closed face and co-closed interior vertex Convexity of boundary preserved: exactly two boundary vertices are source/sink One-form Construction
If the one-form is vanishing, we consistently perturb it – signs of non-vanishing edges preserved, so no index increase Counting index, we know the (possibly perturbed) one-form has no saddle vertex/face Validity of One-form
A face of [G,x,y] is convex if its boundary is a simple, strictly convex polygon A vertex v of G is a wheel if angles between adjacent half-edges in δv all have the same sign and sum to 2π. Convex Faces and Wheels
All interior faces of a Tutte drawing [G,x,y] are convex. Proof: If f is non-convex, there exist a line l that intersect 4 or more edges of f. Rotate l to be horizontal… Validity of Tutte Drawing
All interior vertices of a Tutte drawing [G,x,y] are wheels. Proof: If v is not a wheel, let d be the turning number going around δv… there exist a line l that intersect 4 or more wedges. Rotate l to be horizontal… Validity of Tutte Drawing
Two faces sharing an edge are disjoint in a Tutte drawing. Validity of Tutte Drawing • x
All of the faces in a Tutte drawing are disjoint. Proof: Each interior vertex v inside CH(v) CH(v) = CH(B) face count = 0 outside CH(B) Start from outside CH(B), walk straight toward any P in CH(B)… Validity of Tutte Drawing
No two edges of a Tutte drawing can intersect, except at a vertex. So Tutte drawing is an embedding. Together with its face convexity, Tutte’s theorem proved Validity of Tutte Drawing x
Positive edge weights + non-concave boundary Unique Tutte drawing [G,x,y] Non-vanishing one-form [G,Δz] without saddles Faces are convex, vertices are wheels Local injectivity Global injectivity Recap
Turning angle of polygon P at v Multiple Non-Convex Boundary convex reflex • Extremum relative to direction d
Polygon P has total turning angle 2π(-2π resp.) C: its set of convex extrema R: its set of reflex extrema Then for any direction d,|C|-|R|=2 (-2 resp.) Proof: “Flatten” P along orthogonal direction of d… Multiple Non-Convex Boundary -2π 2π
G – 3-connected mesh of genus 0 with multiple boundary faces unbounded exterior face has total turning angle 2π. bounded exterior faces have total turning angle -2π. each interior vertex is positioned as a convex combination of its neighbors. reflex vertices of all the exterior faces lie in the convex hull of their neighbors. (*) Then for any α, β, one-form [G,Δz] has no saddle vertex or saddle interior face Proof: Ci convex extremum, Ri reflex extremum for exterior face i Multiple Non-Convex Boundary
Proof: (continued) Total indices for: Exterior faces Interior faces / vertices boundary vertices: Non extremal Reflex extremal Convex extremal Multiple Non-Convex Boundary
Multiple Non-Convex Boundary [G,Δz] has no saddle vertex or saddle interior face All interior faces of [G,x,y] are convex, all interior vertices are wheels Neighboring faces are disjoint If exterior faces are embedded as disjoint polygons without edge crossings All faces are disjoint No edge intersection
Multiple Non-Convex Boundary In practice, how do we satisfy condition(*)?
Multiple Non-Convex Boundary Check for a more restrictive “all adjacent angles in (0, π)” instead (equivalent for triangle mesh)
Algorithm • BF (boundary face number) inequalities minimizing difference between angle in 3D and angle in 2D • Interior vertex placed by mean value weights • If resulting boundary angles in (0, π), done
Problems in Algorithm • BF (boundary face number) inequalities minimizing difference between angle in 3D and angle in 2D • Interior vertex placed by mean value weights • If resulting boundary angles in (0, π), done • Nothing to prevent boundary self-intersect. • What to do if boundary anglescondition fail? • For non-triangular meshes, discrepancy between what to minimize and what to check for.
Parameterizing a Torus • The space of harmonic one-forms on a torus has dimension 2 • Equal to the null-space of the V+F by V+F sparse matrix representing the closedness condition • Compute two linearly independent vectors as basis • Starting from v0:(x0,y0)=(0,0), integrate one-form along path to reach any vertex v • Parameterization from different basis related by an affine transformation • Parameterization from different v0 related by a translation
Parameterizing a Torus • A non-vanishing harmonic one-form Δz on a torus has only non-singular vertices and faces. • The parameterization we compute has only convex faces and wheel vertices • We also have local and global injectivity
Higher Genus • For genus>1, saddle vertex/face always present • Hope for the least bad: the 2g-2 saddles in both one-forms coincide • All other faces convex, vertices wheel
Randomized Algorithm • Compute a basis of the 2g-dimensional space of harmonic one-forms on G. • Pick a random linear combination of the basis functions. Integrate the one-form Δx to get the x coordinate • Solve for another one-form Δy such that [G,Δx,Δy] has 2g-2 “double cycles”: every angle adjacent to the saddles of Δx is positive. If this exists, Δy is called a mate of Δx. • If step 3 failed, repeat step 2.
Remarks • Some Δx doesn’t have a mate (not even the result of Hodge star by Gu[03]). • This happen rarely in practice. • Frequency of it increase with genus.