460 likes | 614 Views
Delaunay Meshing for Piecewise Smooth Complexes. Tamal K. Dey The Ohio State U. Joint work: Siu-Wing Cheng, Joshua Levine, Edgar A. Ramos. Sharp Edges. Non-manifold. Piecewise Smooth Complexes. Piecewise Smooth Complexes. D is a piecewise smooth complex (PSC) if
E N D
Delaunay Meshing for Piecewise Smooth Complexes Tamal K. Dey The Ohio State U. Joint work: Siu-Wing Cheng, Joshua Levine, Edgar A. Ramos
Sharp Edges Non-manifold Piecewise Smooth Complexes
Piecewise Smooth Complexes • D is a piecewise smooth complex (PSC) if • Each k-dimensional element is a manifold and compact subset of a smooth (C2) k-manifold, 0≤k≤2. • The k-th stratum, Dk : set of k-dim elements of D. • D0 – vertices, D1 – 1-faces, D2 – 2-faces. • D≤k = D0 … Dk. • D satisfies usual reqs for being a complex. • Interiors of elements are disjoint and for σ D, bd σ D. • For any σ, D, either σ = or σ D .
Delaunay refinement : History • Chew89, Ruppert92, Shewchuk98 (Linear domains with no small angle) • Cohen-Steiner-Verdiere-Yvinec02, Cheng-Dey-Ramos-Ray04 (polyhedral domains with small angle) • Chew93 (surface without guarantees) • Cheng-Dey-Edelsbrunner-Sullivan01 (skin surfaces) • Boissonnat-Oudot03 and Cheng-Dey-Ramos-Ray04 (smooth surface) • Boissonnat-Oudot06 (Lipschitz surfaces) • Oudot-Rineau-Yvinec06 (Volumes)
Basics of Delaunay Refinement • Chew 89, Ruppert 92, Shewchuk 98 • Maintain a Delaunay triangulation of the current set of vertices. • If some property is not satisfied by the current triangulation, insert a new point which is locally farthest. • Burden is on showing that the algorithm terminates (shown by packing argument).
Challenges for PSC • Topology • Polyhedral case (input conformity,topology trivial). • Curved elements (topology is an issue). • Topological Ball Property (TBP) was used for smooth manifolds [BO03,CDRR04]. • We need extended TBP for nonmanifolds. • Nonsmoothness • Lipschitz surfaces [BO06], Remeshing [DLR05]. • Small angles • Delaunay refinement is hard [CP03, CDRR05, PW04].
Topological Ball Property • For a weighted point set S, let Vor S and Del S denote the weighted Voronoi and Delaunay diagrams. • S has the TBP for σDi if σ intersects any k-face in Vor S either in emptyset or in a closed topological (i+k-3)-ball.
CW-Complexes • A CW-complex R is a collection of closed (topological) balls whose interiors are pairwise disjoint and whose boundaries are the union of other closed balls in R. • Our algorithm builds a CW-complex, Vor S||D|, to satisfy an extended TBP[ES97].
Extended TBP • S |D| has the extended TBP (eTBP) for D if there is a CW-complex R with |R| = |D| s.t. • (C1) The restricted Voronoi face F |D| is the underlying space of a CW-complex R’ R. • (C2) The closed balls in R’ are incident to a unique closed ball bF R. • (C3) If bF is a j-ball then bF bd F is a (j-1)-sphere. • (C4) Each k-ball in R’, except bF, intersects bd F in a (k-1)-ball.
Extended TBP • For a 1- or 2-face σ, let Del S|σ denote the Delaunay subcomplex restricted to σ. • Del S||Di| = σDiDel S|σ. • Del S||D| = σDDel S|σ. • Theorem. If S has the eTBP for D then the underlying space of Del S||D| is homeomorphic to |D| [ES97].
Feature Size • For analysis, we require a feature size which is 1-Lipschitz and non-zero. • For any x |D|, let f(x) = min{m(x), g(x)}. • For any σ D, f() is 1-Lipschitz over int σ. • For δ (0,1] and x |D|, • if x D0, lfsδ(x) = δf(x). • if x int |Di|, for i ≥ 1, lfsδ(x) = max{δf(x), maxybd|Di| {lfsδ(y)-||x-y||}}.
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 Bp 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.
Admissible Point Sets • Protecting balls are turned into weighted points • We call a point set S admissible if • S contains all weighted points placed on D1. • Other points in S are unweighted and they lie outside of the protecting balls (the weighted points). • We maintain an admissible point set at each step of the algorithm.
D1 conformation • Lemma. Let S is an admissible point set. For a 1-face σ, if p and q are adjacent weighted vertices spanning segment σpq on σ then Vpq is the only Voronoi facet which intersects σpq and it does so exactly once.
Meshing PSCs • Meshing algorithm uses four tests to detect eTBP violations. • Upon violation, we insert points outside of protected balls of weighted vertices.
Test 1: Multi-Intersection(q,σ) • For a point qS on a 2-face σ, find a triangle t Del S|σ incident to q s.t. Vt intersects σ multiple times. • If no t exists, return null, otherwise return the furthest (weighted) intersection point from q.
Test 2: Normal-Deviation(q,σ,Θ) • For a point q S on a 2-face σ, check nσ(p), nσ(q) < Θ for all points p Vq|σ. • 2ω ≤ Θ ≤ /6. • If so return null. • Otherwise return a point p where nσ(p), nσ(q) = Θ .
Test 3: Infringement(q,σ) • We say q is infringed w.r.t. σ if • σ is a 2-face containing q s.t. pq Del S|σ for some p σ. • σ is a 2-face and there is a 1-face in bd σ containing q and a non-adjacent vertex p s.t. pq Del S|σ. • For q S σ, return null if q is not infringed, otherwise let pq be the infringing edge. • If the boundary edges of Vpq intersect int σ, return any intersection point. • Else, Vpq σ is a collection of closed curves, return a critical point of Vpq σ in a direction parallel to Vpq.
Test 4: No-Disk(q,σ) • If the star of q in Del S|σ is a topological disk, return null. • Otherwise, find the triangle t Del S|σ incident to q which has the furthest (weighted) intersection point in Vt|σ from q and return the intersection point.
Meshing Algorithm • Protect elements in D≤1 with weighted points. Insert a point in each element of D2 outside of protected regions. Let S be this point set. • For any σ D2 and point q S σ: • If Infringed(q,σ), Multi-Intersection(q,σ), Normal-Deviation(q,σ,Θ), or No-Disk(q,σ) (checked in that order) return a point x, insert x into S. • Repeat 2. until no points are inserted. • Return Del S|D.
Admissibility is Invariant Lemma. The algorithm never attempts to insert a point in any protecting ball • Since no 3 weighted points intersect, • all surface points (intersections of dual Voronoi edges and D) lie outside of every protecting ball
Initialization • The algorithm must initialize with a few points from each patch in D2 • Otherwise, components can be missed.
Termination • Each point x inserted is Ω(lfsδ(x)) away from all other points. • Standard packing argument follows.
Topology Preservation • To satisfy C1-C4 of eTBP, we show each Voronoi k-face F = Vp1 … Vp(4-k) has: • (P1) If F σ ≠ , for σ Dj, the intersection is a (k+j-3)-ball • (P2) There is a unique lowest dimensional σF s.t. p1, …, p(4-k)σF. • (P3) F intersects σF and only incident elements of σF. • Theorem. If S satisfies P1-P3 then S satisfies C1-C4 of eTBP.
Feature Preservation • h:|D| |Del S|D| can be constructed which respects each Di [ES97]. • Thus hi:|Di| |Del S|Di| also a homeomorphism with vertex restrictions, ensuring that the nonsmooth features are preserved.
Delaunay Refinement made practical for PSCs S.-W. Cheng, Tamal K. Dey, Joshua Levine
Definitions • 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|σ
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 σ
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.
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.
Voronoi Cells Intersect “Discly” • Given a vertex p on a 2-face σ, if • Triangles incident to p in Skl2 S|σ are small enough. • Then, • Vp|σ is a topological disk, • Any edge of Vp|σ intersects σ at most once, and • Any facet of Vp|σ which intersects σ does so in an open curve.
TBP holds globally • if • All triangles incident in Skl2 S|σ are smaller than a bound for all 2-faces, • Then • TBP holds globally • This leads to the proof of ETBP and more…topic of a new unpublished paper.
Conclusions • Delaunay meshing for PSC with guarantees. • Feature preservation is an extra `feature’. • Making computations easier, faster? • Analyzing size complexity?