Delaunay Mesh Generation Tamal K. Dey The Ohio State University Department of Computer Science and Engineering 1/66
Download ReportTranscript Delaunay Mesh Generation Tamal K. Dey The Ohio State University Department of Computer Science and Engineering 1/66
Delaunay Mesh Generation Tamal K. Dey The Ohio State University Department of Computer Science and Engineering 1/66 Delaunay Mesh Generation • Automatic mesh generation with good quality. • Delaunay refinements: • The Delaunay triangulation • lends to a proof structure. And it naturally optimizes certain geometric properties. Department of Computer Science and Engineering 2/66 Basics of Delaunay Refinement • Pioneered by Chew89, Ruppert92, • Shewchuck98 To mesh some domain D, 1. Initialize a set of points S D, compute Del S. 2. If some condition is not satisfied, insert a point c from |D| into S and repeat step 2. 3. Return Del S. • Burden is to show that the algorithm terminates (shown by a packing argument). Department of Computer Science and Engineering 3/66 Delsurf =Smooth surface meshing DelPSC=Delsurf + Protection =PSC meshing LocPSC=DelPSC+Localization Department of Computer Science and Engineering 4/66 Restricted Delaunay • If the point set is sampled from a • domain D. We can define the restricted Delaunay triangulation, denoted Del S|D. • Each simplex Del S|D is the dual of a Voronoi face V that has a nonempty intersection with the domain D. • Condition to drive Delaunay refinement often uses the restricted Delaunay triangulation as an approximation for D Department of Computer Science and Engineering 6/66 Polyhedral Meshing • Output mesh conforms to input: • All input edges meshed as a collection of Delaunay edges. • All input facets are meshed with a collection of Delaunay triangles. • Algorithms with angle restrictions: • Chew89, Ruppert92, Miller-TalmorTeng-Walkington95, Shewchuk98. • Small angles allowed: • Shewchuk00, Cohen-Steiner- Verdiere-Yvinec02, Cheng-Poon03, Cheng-Dey-Ramos-Ray04, PavWalkington04. Department of Computer Science and Engineering 7/66 Smooth Surface Meshing • Input mesh is either an implicit • surface or a polygonal mesh approximating a smooth surface Output mesh approximates input geometry, conforms to input topology: • No guarantees: • Chew93. • Skin surfaces: • Cheng-D.-Edelsbrunner-Sullivan01. • Provable surface algorithms: • Boissonnat-Oudot03 and Cheng-D.Ramos-Ray04. • Interior Volumes: • Oudot-Rineau-Yvinec06. Department of Computer Science and Engineering 9/66 Local Feature Size (Smooth) [ABE98] • Local feature size is • • Department of Computer Science and Engineering calculated using the medial axis of a smooth shape. f(x) is the distance from a point to the medial axis S is an ε-sample of D if any point x of D has a sample within distance εf(x). 10/66 Homeomorphism and Isotopy • Homeomorphsim: A function f between two topological spaces: • f is a bijection • f and f-1 are both continuous • Isotopy: A continuous deformation maintaining homeomorphism Department of Computer Science and Engineering 11/66 Sampling Sampling Theorem Theorem Modified Theorem:(Amenta-Bern (Boissonat-Oudot 98, Cheng-Dey-Edelsbrunner-Sullivan 2005): 01) If S M is a discrete sample e-sample ofof a smooth a smooth surface surface MM, so that each for then x where e< 0.09 a Voronoi the restricted edge intersects DelaunayM triangulation lies within ef(x) distance Del S|M has from thea following sample, then properties: for e<0.09, the restricted Delaunay triangulation Del S|M has the following properties: (i) It is homeomorphic to M (even isotopic). (ii) Each triangle has normal aligning within O(e) angle to the surface normals (iii) Hausdorff distance between M and Del S|M is O(e2) of the local feature size. Department of Computer Science and Engineering 13/66 Surface Basic Delaunay DelaunayRefinement Refinement 1. Initialize a set of points S M, compute Del S. 2. If some Voronoi condition is not satisfied, a point c edge intersects Minsert at x with from M into and repeat d(x,S)> ef(x)Sinsert x in S. step 2. 3. Return Del S|M. Department of Computer Science and Engineering 14/66 Difficulty • How to compute f(x)? • Special surfaces such as • skin surfaces allow easy computation of f(x) [CDES01] Can be approximated by computing approximate medial axis, needs a dense sample. Department of Computer Science and Engineering 15/66 A Solution • Replace d(x,S)< ef(x) with • • • d(x,S)<l, an user parameter But, this does not guarantee any topology Require that triangles around vertices form topological disks [Cheng-Dey-Ramos 04] Guarantees that output is a manifold Department of Computer Science and Engineering 16/66 A Solution Algorithm DelSurf(M,l) 1. Initialize a set of points S M, compute Del S. 2. (a) If some Voronoi edge intersects M at If some Voronoi edge intersects Mxatwith x with d(x,S)>ef(x) insert in S, and repeat step 2. d(x,S)> l insert x inx S, and repeat step 2(a). 2. (b)If restricted triangles around a vertex p do not X=center of largest Surface form a topological disk, x insert furthest x where a Delaunay ball dual Voronoi edge of a triangle around p intersects M. 3. Return Del S|M. Department of Computer Science and Engineering 17/66 A MeshingTheorem Theorem: The algorithm DelSurf produces output mesh with the following guarantees: (i) The output mesh is always a 2-manifold (ii) If l is sufficiently small, the output mesh satisfies topological and geometric guarantees: 1. It is related to M with an isotopy. 2. Each triangle has normal aligning within O(l) angle to the surface normals 3. Hausdorff distance between S and Del S|M is O(l2) of the local feature size. Department of Computer Science and Engineering 18/66 Implicit surface Department of Computer Science and Engineering 19/66 Remeshing Department of Computer Science and Engineering 20/66 PSCs – A Large Input Class [Cheng-D.-Ramos 07] • Piecewise smooth complexes (PSCs) include: • Polyhedra • Smooth Surfaces • Piecewise-smooth Surfaces • Non-manifolds & Department of Computer Science and Engineering 21/66 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) kmanifold, 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) Department of Computer Science and Engineering 22/66 Protecting Ridges Department of Computer Science and Engineering 24/66 Delsurf + Protection = DelPSC Department of Computer Science and Engineering 27/66 DelPSC Algorithm [Cheng-D.-Ramos-Levine 07,08] DelPSC(D, λ) 1. Protect ridges of D using protection balls. 2. Refine in the weighted Delaunay by turning the balls into weighted points. 1. Refine a triangle if it has orthoradius > λ 2. Refine a triangle or a ball if disk condition is violated 3. Refine a ball if it is too big (with respect to λ) 3. Return i Deli S|Di Department of Computer Science and Engineering 28/66 Guarantees for DelPSC 1. Manifold • For each σ D2, triangles in Del S|σ are a manifold with vertices only in σ. Further, their boundary is homeomorphic to bd σ with vertices only in σ. 2. Granularity • • There exists some λ > 0 so that the output of DelPSC(D, λ) is homeomorphic to D. This homeomorphism respects stratification, For 0 ≤ i ≤ 2, and σ Di, Del S|σ is homemorphic to σ too. Department of Computer Science and Engineering 29/66 Reducing λ Department of Computer Science and Engineering 30/66 Examples Department of Computer Science and Engineering 32/66 Delsurf + Protection + Localization Department of Computer Science and Engineering 35/66 Delaunay Refinement Limitations • Traditional refinement maintains Delaunay triangulation in memory • This does not scale well • Causes memory thrashing • May be aborted by OS Department of Computer Science and Engineering 36/66 Localization • A simple algorithm that avoids the scaling issues of the Delaunay triangulation • Avoids memory thrashing • Topological and geometric guarantees • Guarantee of termination • Potentially parallelizable Department of Computer Science and Engineering 37/66 A Natural Solution • Use an octree T to divide S and process points in each node v of T separately Department of Computer Science and Engineering 38/66 Two Concerns • Termination • Mesh consistency Department of Computer Science and Engineering 39/66 Termination Trouble • A locally furthest point in node v can be very close to a point in other nodes Department of Computer Science and Engineering 40/66 Messing Mesh Consistency • Individual meshes do not blend consistently across boundaries Department of Computer Science and Engineering 41/66 LocDel Algorithm: Overview • Process nodes from a queue Q • Refines nodes with parameter λ if there are violations Department of Computer Science and Engineering 42/66 Splitting Department of Computer Science and Engineering 44/66 Refining node • Augment • Assemble R=NUS • Compute Del R|M • Refine • Surface Delaunay ball larger than λ • Fp Del R|M is not a disk Department of Computer Science and Engineering 45/66 Modified Point Insertions • Modified insertion strategy • If nearest point s ϵ S to p* is within λ/8 and s ≠ p, then add s to R • Else add p* to R • p* augments S, but s does not Department of Computer Science and Engineering 47/66 Reprocessing nodes for Consistency • Needed for mesh consistency • Suppose s is added • Enqueue each node ' ≠ s.t. d(s, ') ≤ 2λ Department of Computer Science and Engineering 49/66 Maintaining light structures • For each node keep: • S = S ∩ • Up ϵ S Fp • Output: union of surface stars Up ϵ S Fp Department of Computer Science and Engineering 50/66 Termination • insertions are finite, so are enqueues and splits • Augmenting R by an existing point does not • grow S Consider inserting a new point s • Nearest point ≠ p → at least λ/8 from S • Insertion due to triangle size → at least λ from S • Else → at least εM from S by our result in Voronoi point sampling: Department of Computer Science and Engineering 51/66 Mesh Theorem for Localization Theorem: • output mesh is a 2-manifold without boundary for any l. • Each point in the output is within distance λ of M • λ*>0 s.t. if λ<λ* the output is isotopic to M with Hausdorff distance of O(λ2) Department of Computer Science and Engineering 53/66 Results Department of Computer Science and Engineering 60/66 Results Department of Computer Science and Engineering 61/66 Localized Volume Meshing (SGP 2011) • Extension of LocDel to volume meshing • Leverage existing results for proofs • Dey-Levine-Slatton 10 • Oudot-Rineau-Yvinec 05 • We prove • Termination • Geometric closeness of output to input • For small λ: • Output is isotopic to input • Hausdorff distance O(λ2) Department of Computer Science and Engineering 62/66 LocVol Department of Computer Science and Engineering 63/66 LocVol Department of Computer Science and Engineering 64/66 Conclusions Localized versions with certified geometry and topology Localized versions for PSCs [D.-Slatton13] Software available from http://www.cse.ohio-state.edu/~tamaldey/surfremesh.html http://www.cse.ohio-state.edu/~tamaldey/delpsc.html http://www.cse.ohio-state.edu/~tamaldey/locpsc.html Acknowledgement: NSF, CGAL A book Delaunay Mesh Generation: S.-W. Cheng, T. Dey, J. Shewchuk (2012) Department of Computer Science and Engineering 65/66 Thank You! Department of Computer Science and Engineering 66/66