Incremental Construction of Constrained Delaunay Triangulations - - PowerPoint PPT Presentation

incremental construction of constrained delaunay
SMART_READER_LITE
LIVE PREVIEW

Incremental Construction of Constrained Delaunay Triangulations - - PowerPoint PPT Presentation

Incremental Construction of Constrained Delaunay Triangulations Jonathan Richard Shewchuk Computer Science Division University of California Berkeley, California, USA 1 7 3 10 0 9 4 6 8 5 2 The Delaunay Triangulation An edge is


slide-1
SLIDE 1

5

Incremental Construction of

8

Computer Science Division University of California Berkeley, California, USA

Jonathan Richard Shewchuk

1 3 7 10 6 4 9 2

Constrained Delaunay Triangulations

slide-2
SLIDE 2

sharing it have no vertex in each others’ circumcircles. A Delaunay triangulation is a triangulation of a point set in which every edge is locally Delaunay.

The Delaunay Triangulation

An edge is locally Delaunay if the two triangles

slide-3
SLIDE 3

Constraining Edges

Sometimes we need to force a triangulation to contain specified edges. Nonconvex shapes; Discontinuities in internal boundaries interpolated functions

slide-4
SLIDE 4

²

2.5

n n

2 Ways to Recover Segments

Constrained Delaunay triangulations (CDTs) triangulations Conforming Delaunay

Edges are locally Delaunay or Edges are all locally Delaunay. are domain boundaries. O( ) extra vertices. ) to Worst−case input needs (

slide-5
SLIDE 5

Delaunay

Goal

Input: planar straight constrained Output: triangulation (CDT) line graph (PSLG)

segments

Every edge is locally Delaunay except segments.

slide-6
SLIDE 6

Start with Delaunay triangulation of vertices.

Randomized Incremental CDT Construction

slide-7
SLIDE 7

Start with Delaunay triangulation of vertices. Insert segment. Do segment location.

Randomized Incremental CDT Construction

slide-8
SLIDE 8

Randomized Incremental CDT Construction

Do segment location. Start with Delaunay triangulation of vertices. Insert segment.

slide-9
SLIDE 9

Start with Delaunay triangulation of vertices. Insert segment.

Randomized Incremental CDT Construction

Do segment location.

slide-10
SLIDE 10

Randomized Incremental CDT Construction

Do segment location. Start with Delaunay triangulation of vertices. Insert segment.

slide-11
SLIDE 11

Do segment location.

Randomized Incremental CDT Construction

Insert segment. Start with Delaunay triangulation of vertices.

slide-12
SLIDE 12

Randomized Incremental CDT Construction

Do segment location. Start with Delaunay triangulation of vertices. Insert segment.

slide-13
SLIDE 13

Do segment location.

Randomized Incremental CDT Construction

Start with Delaunay triangulation of vertices. Insert segment.

slide-14
SLIDE 14

) time. log

Lower bound: new. Upper bound: Agarwal/Arge/Yi.

Topics

Inserting a segment in expected linear time. Randomized incremental CDT construction in expected

# of vertices # of segments

Θ

Inserting a polygon into a 3D CDT.

n k

2

(

slide-15
SLIDE 15

CDT Construction Algorithms

Plane sweep [Seidel 1988]. Randomized incremental segment insertion. Expected

( ( ) time. n log n + n ( log ) time. n n log n n k

2

) time. log

Ο Ο Ο

Divide−and−conquer [Chew 1987, 1989].

# of vertices # of segments

slide-16
SLIDE 16

k

2

log

Why Incremental?

It’s what everyone implements in practice. (Easiest to implement.) Leverages the best DT implementations. The n term is pessimistic.

slide-17
SLIDE 17

time.

log

Lower bound: new. Upper bound: Agarwal/Arge/Yi.

Topics

Inserting a segment in expected linear time. Randomized incremental CDT construction in expected

# of vertices # of segments

Θ

Inserting a polygon into a 3D CDT.

n k

2

( )

slide-18
SLIDE 18

cavity cavity

Segment Insertion

slide-19
SLIDE 19

Edge Flips

slide-20
SLIDE 20

flip non−locally Delaunay edges

Randomized incremental in expected linear time. Computes DT of a convex polygon

Chew’s Algorithm

vertex insertion

slide-21
SLIDE 21

Randomized incremental

Backward Analysis

it were running backward in time. Idea: analyze an algorithm as if vertex from the final triangulation. Pretend we remove a randomly chosen Its expected degree is < 4. vertex insertion

slide-22
SLIDE 22

Backward Analysis

it were running backward in time. Idea: analyze an algorithm as if vertex from the final triangulation. Pretend we remove a randomly chosen Its expected degree is < 4. Expected time to insert one vertex = constant. Expected time to compute Del tri = linear.

slide-23
SLIDE 23

Retriangulating a Segment Cavity

7 10 6 4 9 1 2 8 2 3 1 4 5 7 8 6 9 10 5 3

slide-24
SLIDE 24

CDT triangles are deleted for 2 reasons:

How Our Algorithm Differs from Chew’s

5 7 10 6

Always insert segment endpoints first. An intermediate polygon can self−intersect. Polygons with dangling edges. new vertex in circumcircle; new edges cross.

slide-25
SLIDE 25

log

Topics

Inserting a segment in expected linear time. Randomized incremental CDT construction in expected

# of vertices # of segments

Inserting a polygon into a 3D CDT. Lower bound: new.

Θ

Upper bound: Agarwal/Arge/Yi.

n k

2

( ) time.

slide-26
SLIDE 26

5 3 2 1

preceded by every larger coupon? How often do we collect a coupon

11 15 5 3 14 9 7 12 6

Expected

10

log

13 1 4 2 8

Θ(

) times. k

Shuffle numbered coupons in random order.

Coupon Collecting

14 15 12 13 10 11 9 8 7 6 4

slide-27
SLIDE 27

Shuffle numbered coupons in random order.

Coupon Collecting

2 ) times.

k

How often is the first collection of a coupon preceded by (one of) every larger coupon?

2 1 5 5 5 4 4 3 5 5 4 4 3 3 2 5 5 5 4 3 3 2 2 4 5 3 4 1 5 4

Expected

log

Θ(

slide-28
SLIDE 28

k

Θ(

pushing vertices

) n

3 2 1

Θ( k) pulling vertices

segments

Lower Bound Example

slide-29
SLIDE 29

k

Θ(

pushing vertices

) n

3 2 1

Θ( k) pulling vertices

segments

Lower Bound Example

slide-30
SLIDE 30

Θ(

pushing vertices

) n

3 2 1

Θ( k)

segments pulling vertices

k

Θ n

k

2

( ) log

edges deleted.

Lower Bound Example

slide-31
SLIDE 31

time.

log

Topics

Inserting a segment in expected linear time. Randomized incremental CDT construction in expected

# of vertices # of segments

Inserting a polygon into a 3D CDT. Lower bound: new.

Θ

Upper bound: Agarwal/Arge/Yi.

n k

2

( )

slide-32
SLIDE 32

Polygon Insertion

slide-33
SLIDE 33

polyhedron Schönhardt’s Some Polyhedra Have No Tetrahedralization

slide-34
SLIDE 34

yield a tetrahedron that sticks out a bit. Any four vertices of Schönhardt’s polyhedron Some Polyhedra Have No Tetrahedralization

slide-35
SLIDE 35

a union of triangular faces. segments, and polygons.

Input: A Piecewise Linear Complex

A set of vertices,

PLC CDT

Each polygon appears as

slide-36
SLIDE 36

The Delaunay Triangulation

A triangular face is locally Delaunay if the two tetrahedra sharing it have no vertex in each others’ circumspheres. An edge is locally Delaunay if the two triangles sharing it have no vertex in each others’ circumcircles.

slide-37
SLIDE 37

if every triangular face not included in Constrained Delaunay Triangulations (CDTs) an input polygon is locally Delaunay. A tetrahedralization of a polyhedron/PLC is a CDT

slide-38
SLIDE 38

edge−protected if every segment has an enclosing ball that Say that a PLC is Every edge−protected PLC has a CDT. Theorem:

(makes 3D CDTs useful)

The CDT Theorem

contains no vertex but the segment’s endpoints.

slide-39
SLIDE 39

Bistellar Flips

slide-40
SLIDE 40
  • nto a paraboloid in
  • f the vertices lifted

the lower convex hull The 3D DT matches

4.

E

Seidel’s Parabolic Lifting Map

slide-41
SLIDE 41

As the lifted vertices move vertically, use flips to maintain the lower convex hull.

Convex Hull of Moving Points

slide-42
SLIDE 42

reflex edge segment everywhere except at

A Lifted CDT

constraining triangulation is convex constraining segments. Lifted

slide-43
SLIDE 43

‘‘Polygon’’ Insertion in 1D by Flips

1D triangulation Let’s insert this ‘‘polygon’’! proportional to distance from ‘‘polygon.’’ Lifted vertices rise at a velocity CDT

slide-44
SLIDE 44

5

‘‘Polygon’’ Insertion in 2D by Flips

1 2 3

Maintain lower convex hull with flips. Lift vertices at speed proportional to distance from new segment.

4

slide-45
SLIDE 45

) Worst−case time to insert one polygon: O(n² log n

Running Time for Polygon Insertion

slide-46
SLIDE 46

² (

Running Time: Lower Bound

n ) tetrahedra cut Θ

slide-47
SLIDE 47
  • f polygons and construct a CDT:

Worst−case time to insert one polygon: O(n² log n) O( log ²

n n)

Worst−case time to insert any number

Running Time for Polygon Insertion

slide-48
SLIDE 48

Running Time: Upper Bound

Every bistellar flip either creates or deletes an edge. Once deleted, an edge never reappears.

slide-49
SLIDE 49

n ( log ) n

in time? E.g. biased random? Does any incremental insertion algorithm run Upper bound does not depend on Delaunay property! Other optimal triangulations?

Θ

Open Problems (Theoretical)

slide-50
SLIDE 50