department of computer science and engineering practical 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: benjamin-copeland

Post on 30-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

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