270 likes | 407 Views
Practical. A. Delaunay Meshing. Algorithm for a Large Class of Domains. Tamal K. Dey and Joshua A. Levine The Ohio State University Joint Work: Siu-Wing Cheng, HKUST. PSCs – A Large Input Class. Piecewise smooth complexes (PSCs) include: Polyhedra Smooth Surfaces
E N D
Practical A Delaunay Meshing Algorithm for a Large Class of Domains Tamal K. Dey and Joshua A. Levine The Ohio State University Joint Work: Siu-Wing Cheng, HKUST
PSCs – A Large Input Class • Piecewise smooth complexes (PSCs) include: • Polyhedra • Smooth Surfaces • Piecewise-smooth Surfaces • Non-manifolds
PSCs – A Large Class • A domain D is a PSC if: • Each k-dimensional element is a manifold and compact subset of a smooth (C2) k-manifold, 0≤k≤3. • The k-th stratum, Dk, is the set of k-dim elements of D (k-faces). • D satisfies usual reqs for being a complex. • Element interiors are disjoint and for σ D, bd σ D. • For any σ, D, either σ = or σ D . • D1 is set of elements which are sharp or non-manifold features (highlighted in red)
Delaunay Refinement History • Polyhedral Domains (Input conforming): • Angle restricted: Chew89, Ruppert92, Miller-Talmor-Teng-Walkington95, Shewchuk98. • Small angles allowed: Shewchuk00, Cohen-Steiner-Verdiere-Yvinec02, Cheng-Dey-Ramos-Ray04, Pav-Walkington04. • Smooth Surfaces (Topology conforming): • Chew93 (w/out guarantee), Cheng-Dey-Edelsbrunner-Sullivan01 (skin surfaces), Boissonnat-Oudot03 and Cheng-Dey-Ramos-Ray04, Oudot-Rineau-Yvinec06 (Volumes). • Non-smooth: • Boissonnat-Oudot06 (Lipschitz surfaces). • Cheng-Dey-Ramos07 (PSCs).
Basics of Delaunay Refinement • Pioneered by Chew89, Ruppert92, Shewchuck98 • To mesh some domain D, • Initialize a discrete set of points V D, compute Del V. • If some property is not satisfied, insert a point c from |D| into V and repeat step 2. • Return Del V. • Burden is to show that the algorithm terminates (shown by a packing argument). • Chosen property and output often use Del V|D. • Each simplex Del V|D is the dual of a Voronoi face V that has a nonempty intersection with D.
Challenges for PSCs • Requirements: • Preserve nonsmooth and nonmanifold features. • Elements of D1. • Faithful topology.
Delaunay Refinement of PSCs • D1 preserved by sampling with protecting balls (turned into weighted vertices) • To satisfy topology, apply the extended topological ball property [Edels.-Shah97]
Making it Practical • Algorithm of Cheng-Dey-Ramos07 requires four properties to be satisfied (for eTBP): • Voronoi edges intersect |D| only once or not at all. • Normals on curves/surfaces vary a bounded amount within each Voronoi cell. • Delaunay edges do not connect vertices from different surface patches. • The set of restricted Delaunay triangles incident to each point form topological disks.
Skeletons • For a patch σ Di, • When sampled with S • Del S|σ is the Delaunay subcomplex restricted to σ • Skli S|σ is the i-dimensional subcomplex of Del S|σ, • Skli S|σ = closure { t | t Del S|σ is an i-simplex} • Skli S|Di = σ Di Skli S|σ.
A New Disk Condition • For a point p on a 2-face σ, • UmbD(p) is the set of triangles in Skl2 S|D2 incident to p. • Umbσ(p) is the set of triangles in Skl2 S|σ incident to p. • Disk_Condition(p) requires: • UmbD(p) = σ, pσUmbσ(p) • For each σ containing p, Umbσ(p) is a 2-disk where p is in the interior iff p int σ
Protecting D1 • Any 2 adjacent balls on a 1-face must overlap significantly without containing each others centers. • No 3 balls have a common intersection. • For a point p σ D1, if we enlarge any protecting ball B by a factor c ≤ 8, forming B’: • B’ intersects σ in a single curve, and intersects all D2 adjacent to σ in a topological disk. • For any q in B’ σ, the tangent variation between p and q is bounded. • For any q in B’ ( D2 adjacent to σ), the normal variation between p and q is bounded.
Meshing Algorithm DelPSC(D, r) • Protect elements of D≤1. • Mesh2Complex – Repeatedly insert surface points for triangles in Skl2 S|σ for some σ if either • Disk_Condition(p) violated for p σ, or • A triangle has orthoradius > r. • Mesh3Complex – Repeatedly insert orthocenters of tetrahedra in Skl3 S|σ for some σ if • A tetrahedra has orthoradius > r and its orthocenter does not encroach any surface triangle in Skl2 S|D2. • Return i Skli S|Di.
DelPSC Terminates Lemma: Let p in S be a point on a 2-face σ, Let σ’ be the connected component in Vp|σ containing p. There exists a constant λ > 0 so that the following holds: If some edge of Vp intersects σ and size(t, σ) < λfor each triangle t in Skl2 S|D2 incident to p, then • There is no 2-face where p and intersects a Voronoi edge in Vp; • σ’ = Vp B σ where B = B(p,2w(p) + 2λ) and w(p) is the weight at p; • σ’ is a 2-disk; • Any edge of Vp intersects σ’ at most once; • And any facet of Vp intersects σ’ in an empty set or an open curve.
Termination Properties • Curve Preservation • For each σ D1, Skl1 S|σ σ. Two vertices are joined by an edge in Skl1 S|σ iff they were adjacent in σ. • Manifold • For 0 ≤ i ≤ 2, and σ Di, Skli S|σ is a manifold with vertices only in σ. Further, bd Skli S|σ = Skli-1 S|bd σ. • For i=3, the above holds when Skli S|σ is nonempty after Mesh2Complex. • Strata Preservation • There exists some r > 0 so that the output of DelPSC(D, r) is homeomorphic to D. • This homeomorphism respects stratification.
Conclusions • Delaunay meshing for PSCs which guarantees topology and preserves features • Made practical by simplifying algorithm of Cheng-Dey-Ramos07. • Bounded aspect ratio added for triangles/tetrahedra • Time/Space complexity?