Delaunay Mesh Generation Tamal K. Dey The Ohio State University Department of Computer Science and Engineering 1/66

Download Report

Transcript 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=NUS
• 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