Download - Algorithm for a Large Class of Domains
Department of Computer Science and Engineering
Practical
Algorithm for a Large Class of Domains
Tamal K. Dey and Joshua A. LevineThe Ohio State University
Joint Work: Siu-Wing Cheng, HKUST
ADelaunay Meshing
2/16Department of Computer Science and Engineering
PSCs – A Large Input Class• Piecewise smooth complexes
(PSCs) include:• Polyhedra• Smooth Surfaces• Piecewise-smooth Surfaces• Non-manifolds
3/16Department of Computer Science and Engineering
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)
4/16Department of Computer Science and Engineering
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).
5/16Department of Computer Science and Engineering
Basics of Delaunay Refinement
• Pioneered by Chew89, Ruppert92, Shewchuck98• To mesh some domain D,
1. Initialize a discrete set of points V D, compute Del V.2. If some property is not satisfied, insert a point c from
|D| into V and repeat step 2.3. 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.
6/16Department of Computer Science and Engineering
Challenges for PSCs• Requirements:
1. Preserve nonsmooth and nonmanifold features.• Elements of D1.
2. Faithful topology.
7/16Department of Computer Science and Engineering
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]
8/16Department of Computer Science and Engineering
Making it Practical
• Algorithm of Cheng-Dey-Ramos07 requires four properties to be satisfied (for eTBP):1. Voronoi edges intersect |D| only once
or not at all.2. Normals on curves/surfaces vary a
bounded amount within each Voronoi cell.
3. Delaunay edges do not connect vertices from different surface patches.
4. The set of restricted Delaunay triangles incident to each point form topological disks.
9/16Department of Computer Science and Engineering
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|σ.
10/16Department of Computer Science and Engineering
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:i. UmbD(p) = σ, p σ Umbσ(p)
ii.For each σ containing p, Umbσ(p) is a 2-disk where p is in the interior iff p int σ
11/16Department of Computer Science and Engineering
Protecting D1
1. Any 2 adjacent balls on a 1-face must overlap significantly without containing each others centers.
2. No 3 balls have a common intersection.
3. For a point p σ D1, if we enlarge any protecting ball B by a factor c ≤ 8, forming B’:1. B’ intersects σ in a single curve,
and intersects all D2 adjacent to σ in a topological disk.
2. For any q in B’ σ, the tangent variation between p and q is bounded.
3. For any q in B’ ( D2 adjacent to σ), the normal variation between p and q is bounded.
12/16Department of Computer Science and Engineering
Meshing AlgorithmDelPSC(D, r)1. Protect elements of D≤1.2. Mesh2Complex – Repeatedly insert surface
points for triangles in Skl2 S|σ for some σ if either1. Disk_Condition(p) violated for p σ, or2. A triangle has orthoradius > r.
3. Mesh3Complex – Repeatedly insert orthocenters of tetrahedra in Skl3 S|σ for some σ if1. A tetrahedra has orthoradius > r and its orthocenter
does not encroach any surface triangle in Skl2 S|D2.
4. Return i Skli S|Di.
13/16Department of Computer Science and Engineering
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, theni. There is no 2-face where p and
intersects a Voronoi edge in Vp;ii. σ’ = Vp B σ where B = B(p,2w(p)
+ 2λ) and w(p) is the weight at p;iii. σ’ is a 2-disk;iv. Any edge of Vp intersects σ’ at most
once;v. And any facet of Vp intersects σ’ in an
empty set or an open curve.
14/16Department of Computer Science and Engineering
Termination Properties1. Curve Preservation
• For each σ D1, Skl1 S|σ σ. Two vertices are joined by an edge in Skl1 S|σ iff they were adjacent in σ.
2. 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.
3. Strata Preservation• There exists some r > 0 so that
the output of DelPSC(D, r) is homeomorphic to D.
• This homeomorphism respects stratification.
15/16Department of Computer Science and Engineering
Reducing λ
16/16Department of Computer Science and Engineering
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?
17/16Department of Computer Science and Engineering
Examples
18/16Department of Computer Science and Engineering
Examples
19/16Department of Computer Science and Engineering
Examples
20/16Department of Computer Science and Engineering
Examples
21/16Department of Computer Science and Engineering
Examples
22/16Department of Computer Science and Engineering
Examples
23/16Department of Computer Science and Engineering
Examples
24/16Department of Computer Science and Engineering
Examples
25/16Department of Computer Science and Engineering
Examples
26/16Department of Computer Science and Engineering
Examples
27/16Department of Computer Science and Engineering
Sharp Example