Title: Delaunay Meshing for Piecewise Smooth Complexes
1Delaunay Meshing for Piecewise Smooth Complexes
- Tamal K. Dey
- The Ohio State U.
- Joint work Siu-Wing Cheng, Joshua Levine, Edgar
A. Ramos
2Piecewise Smooth Complexes
3Piecewise 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,
0k2. - The k-th stratum, Dk set of k-dim elements of
D. - D0 vertices, D1 1-faces, D2 2-faces.
- Dk D0 ? ? Dk.
- D satisfies usual reqs for being a complex.
- Interiors of elements are disjoint and for s ? D,
bd s ? D. - For any s,? ? D, either s ? ? ? or s ? ? ? D .
4Delaunay 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)
5Basics 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).
6Challenges 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.
7Topological 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 s?Di if s intersects any k-face
in Vor S either in emptyset or in a closed
topological (ik-3)-ball.
8CW-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 SD,
to satisfy an extended TBPES97.
9Extended 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.
10Extended TBP
- For a 1- or 2-face s, let Del Ss denote the
Delaunay subcomplex restricted to s. - Del SDi ?s?Di Del Ss.
- Del SD ?s?D Del Ss.
- Theorem. If S has the eTBP for D then the
underlying space of Del SD is homeomorphic to
D ES97.
11Feature Size
- For analysis, we require a feature size which is
1-Lipschitz and non-zero. - For any x ? D, let f(x) minm(x), g(x).
- For any s ? D, f() is 1-Lipschitz over int s.
- For d ? (0,1 and x ? D,
- if x ? D0, lfsd(x) df(x).
- if x ? int Di, for i 1,
- lfsd(x) maxdf(x), maxy?bdDi
lfsd(y)-x-y.
12Protecting 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 ? s ? D1, if we enlarge any
protecting ball Bp by a factor c 8, forming B - B intersects s in a single curve, and intersects
all ? ? D2 adjacent to s in a topological disk. - For any q in B ? s, the tangent variation
between p and q is bounded. - For any q in B ? ? (? ? D2 adjacent to s), the
normal variation between p and q is bounded.
13Admissible 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.
14D1 conformation
- Lemma. Let S is an admissible point set. For a
1-face s, if p and q are adjacent weighted
vertices spanning segment spq on s then Vpq is
the only Voronoi facet which intersects spq and
it does so exactly once.
15Meshing PSCs
- Meshing algorithm uses four tests to detect eTBP
violations. - Upon violation, we insert points outside of
protected balls of weighted vertices.
16Test 1 Multi-Intersection(q,s)
- For a point q? S on a 2-face s, find a triangle t
? Del Ss incident to q s.t. Vt intersects s
multiple times. - If no t exists, return null, otherwise return the
furthest (weighted) intersection point from q.
17Test 2 Normal-Deviation(q,s,T)
- For a point q ? S on a 2-face s, check ?ns(p),
ns(q) lt T for all points p ? Vqs. - 2? T ?/6.
- If so return null.
- Otherwise return a point p where
- ?ns(p), ns(q) T .
18Test 3 Infringement(q,s)
- We say q is infringed w.r.t. s if
- s is a 2-face containing q s.t. pq ? Del Ss for
some p ? s. - s is a 2-face and there is a 1-face in bd s
containing q and a non-adjacent vertex p s.t. pq
? Del Ss.
- For q ? S ? s, return null if q is not infringed,
otherwise let pq be the infringing edge. - If the boundary edges of Vpq intersect int s,
return any intersection point. - Else, Vpq ? s is a collection of closed curves,
return a critical point of Vpq ? s in a direction
parallel to Vpq.
19Test 4 No-Disk(q,s)
- If the star of q in Del Ss is a topological
disk, return null. - Otherwise, find the triangle t ? Del Ss incident
to q which has the furthest (weighted)
intersection point in Vts from q and return the
intersection point.
20Meshing Algorithm
- Protect elements in D1 with weighted points.
Insert a point in each element of D2 outside of
protected regions. Let S be this point set. - For any s ? D2 and point q ? S ? s
- If Infringed(q,s), Multi-Intersection(q,s),
Normal-Deviation(q,s,T), or No-Disk(q,s)
(checked in that order) return a point x, insert
x into S. - Repeat 2. until no points are inserted.
- Return Del SD.
21Admissibility 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
22Initialization
- The algorithm must initialize with a few points
from each patch in D2 - Otherwise, components can be missed.
23Termination
- Each point x inserted is O(lfsd(x)) away from all
other points. - Standard packing argument follows.
24Topology Preservation
- To satisfy C1-C4 of eTBP, we show each Voronoi
k-face F Vp1 ? ? Vp(4-k) has - (P1) If F ? s ? ?, for s ? Dj, the intersection
is a (kj-3)-ball - (P2) There is a unique lowest dimensional sF s.t.
p1, , p(4-k)?sF. - (P3) F intersects sF and only incident elements
of sF. - Theorem. If S satisfies P1-P3 then S satisfies
C1-C4 of eTBP.
25Feature Preservation
- hD ? Del SD can be constructed which
respects each Di ES97. - Thus hiDi ? Del SDi also a homeomorphism
with vertex restrictions, ensuring that the
nonsmooth features are preserved.
26Delaunay Refinement made practical for PSCs
S.-W. Cheng, Tamal K. Dey, Joshua Levine
27Definitions
- For a patch s ? Di,
- When sampled with S
- Del Ss is the Delaunay subcomplex restricted to
s - Skli Ss is the i-dimensional subcomplex of Del
Ss, - Skli Ss closure t
- t ? Del Ss is an i-simplex
- Skli SDi ?s ? Di Skli Ss
28Disk Condition
- For a point p on a 2-face s,
- UmbD(p) is the set of triangles in Skl2 SD2
incident to p. - Umbs(p) is the set of triangles in Skl2 Ss
incident to p. - Disk_Condition(p) requires
- UmbD(p) ?s, p ? s Umbs(p)
- For each s containing p, Umbs(p) is a 2-disk
where p is in the interior iff p ? int s
29Meshing Algorithm
- DelPSC(D, r)
- Protect elements of D1.
- Mesh2Complex Repeatedly insert surface points
for triangles in Skl2 Ss for some s if either - Disk_Condition(p) violated for p ? s, or
- A triangle has orthoradius gt r.
- Mesh3Complex Repeatedly insert orthocenters of
tetrahedra in Skl3 Ss for some s if - A tetrahedra has orthoradius gt r and its
orthocenter does not encroach any surface
triangle in Skl2 SD2. - Return ?i Skli SDi.
30Termination Properties
- Curve Preservation
- For each s ? D1, Skl1 Ss ? s. Two vertices are
joined by an edge in Skl1 Ss iff they were
adjacent in s. - Manifold
- For 0 i 2, and s ? Di, Skli Ss is a manifold
with vertices only in s. Further, bd Skli Ss
Skli-1 Sbd s. - For i3, the above holds when Skli Ss is
nonempty after Mesh2Complex. - Strata Preservation
- There exists some r gt 0 so that the output of
DelPSC(D, r) is homeomorphic to D. - This homeomorphism respects stratification.
31Voronoi Cells Intersect Discly
- Given a vertex p on a 2-face s, if
- Triangles incident to p in Skl2 Ss are small
enough. - Then,
- Vps is a topological disk,
- Any edge of Vps intersects s at most once, and
- Any facet of Vps which intersects s does so in
an open curve.
32TBP holds globally
- if
- All triangles incident in Skl2 Ss are smaller
than a bound for all 2-faces, - Then
- TBP holds globally
- This leads to the proof of ETBP and moretopic of
a new unpublished paper.
33Adjusting MaxRad Example
34Adjusting MaxRad Example
35Examples
36Examples
37Examples
38Examples
39Examples
40Examples
41Examples
42Examples
43Examples
44Examples
45Sharp Example
46Conclusions
- Delaunay meshing for PSC with guarantees.
- Feature preservation is an extra feature.
- Making computations easier, faster?
- Analyzing size complexity?