algorithm for a large class of domains

27
Department of Computer Science and Engineering Practi cal Algorithm for a Large Class of Domains Tamal K. Dey and Joshua A. Levine The Ohio State University Joint Work: Siu-Wing Cheng, HKUST A Delaunay Meshing

Upload: zeroun

Post on 31-Jan-2016

35 views

Category:

Documents


0 download

DESCRIPTION

Practical. A. Delaunay Meshing. Algorithm for a Large Class of Domains. Tamal K. Dey and Joshua A. Levine The Ohio State University Joint Work: Siu-Wing Cheng, HKUST. PSCs – A Large Input Class. Piecewise smooth complexes (PSCs) include: Polyhedra Smooth Surfaces - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 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

Page 2: Algorithm for a Large Class of Domains

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

Page 3: Algorithm for a Large Class of Domains

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)

Page 4: Algorithm for a Large Class of Domains

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).

Page 5: Algorithm for a Large Class of Domains

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.

Page 6: Algorithm for a Large Class of Domains

6/16Department of Computer Science and Engineering

Challenges for PSCs• Requirements:

1. Preserve nonsmooth and nonmanifold features.• Elements of D1.

2. Faithful topology.

Page 7: Algorithm for a Large Class of Domains

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]

Page 8: Algorithm for a Large Class of Domains

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.

Page 9: Algorithm for a Large Class of Domains

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|σ.

Page 10: Algorithm for a Large Class of Domains

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 σ

Page 11: Algorithm for a Large Class of Domains

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.

Page 12: Algorithm for a Large Class of Domains

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.

Page 13: Algorithm for a Large Class of Domains

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.

Page 14: Algorithm for a Large Class of Domains

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.

Page 15: Algorithm for a Large Class of Domains

15/16Department of Computer Science and Engineering

Reducing λ

Page 16: Algorithm for a Large Class of Domains

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?

Page 17: Algorithm for a Large Class of Domains

17/16Department of Computer Science and Engineering

Examples

Page 18: Algorithm for a Large Class of Domains

18/16Department of Computer Science and Engineering

Examples

Page 19: Algorithm for a Large Class of Domains

19/16Department of Computer Science and Engineering

Examples

Page 20: Algorithm for a Large Class of Domains

20/16Department of Computer Science and Engineering

Examples

Page 21: Algorithm for a Large Class of Domains

21/16Department of Computer Science and Engineering

Examples

Page 22: Algorithm for a Large Class of Domains

22/16Department of Computer Science and Engineering

Examples

Page 23: Algorithm for a Large Class of Domains

23/16Department of Computer Science and Engineering

Examples

Page 24: Algorithm for a Large Class of Domains

24/16Department of Computer Science and Engineering

Examples

Page 25: Algorithm for a Large Class of Domains

25/16Department of Computer Science and Engineering

Examples

Page 26: Algorithm for a Large Class of Domains

26/16Department of Computer Science and Engineering

Examples

Page 27: Algorithm for a Large Class of Domains

27/16Department of Computer Science and Engineering

Sharp Example