Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations:...

182
1-1 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers

Transcript of Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations:...

Page 1: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

1 - 1

Delaunay triangulations: properties, algorithms, and complexity

Olivier Devillers

Page 2: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

1 - 2

Delaunay triangulations: properties, algorithms, and complexity

Olivier Devillers

Extra question: what is the difference

between an algorithm and a program?

Page 3: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

2

Algorithm

Recipe to go from the input to the output

Formalized description in some language

May use data structure

Proof of correctness

Complexity analysis

Page 4: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

3 - 1

Delaunay Triangulation: definition, empty circle property

Page 5: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

3 - 2

Delaunay Triangulation: definition, empty circle property

Point set

Page 6: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

3 - 3

Delaunay Triangulation: definition, empty circle property

Point set

Query

Page 7: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

3 - 4

Delaunay Triangulation: definition, empty circle property

Point set

Query

Page 8: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

3 - 5

Delaunay Triangulation: definition, empty circle property

Point set

Query

Page 9: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

3 - 6

Delaunay Triangulation: definition, empty circle property

Point set

Query

Nearest neighbor

Page 10: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

3 - 7

Delaunay Triangulation: definition, empty circle property

Point set

Voronoi diagram

Page 11: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

3 - 8

Delaunay Triangulation: definition, empty circle property

Point set

Voronoi diagram

Page 12: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

3 - 9

Delaunay Triangulation: definition, empty circle property

Point set

Voronoi diagram

Page 13: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

3 - 10

Delaunay Triangulation: definition, empty circle property

Point set

Voronoi diagram

Page 14: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

3 - 11

Delaunay Triangulation: definition, empty circle property

Point set

Delaunay triangulation

Voronoi diagram

Page 15: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

3 - 12

Delaunay Triangulation: definition, empty circle property

Point set

Empty circle property

Delaunay triangulation

Page 16: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

3 - 13

Delaunay Triangulation: definition, empty circle property

Point set

Empty circle property

Delaunay triangulation

Page 17: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

4 - 1

Delaunay Triangulation: size

Page 18: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

4 - 2

Delaunay Triangulation: size

Euler relation

Vertices

Edges

Faces

n e t+ 1

= 2� +

Page 19: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

4 - 3

Delaunay Triangulation: size

Euler relation

Vertices

Edges

Faces

n e t+ 1

= 2� +

triangular faces 3t+ k = 2e

Page 20: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

4 - 4

Delaunay Triangulation: size

t = 2n� k � 2 < 2n

e = 3n� k � 3 < 3n

Euler relation

Vertices

Edges

Faces

n e t+ 1

= 2� +

triangular faces 3t+ k = 2e

Page 21: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

4 - 5

Delaunay Triangulation: size

Euler relation

Vertices

Edges

Faces

n e t+ 1

= 2� +

triangular faces 3t+ k = 2e

X

p2S

d�(p) = 2e = 6n� 2k � 6

E(d�(p)) = 1n

X

p2S

d�(p) < 6

average on the choice of point p in set of points S

Page 22: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

5 - 1

Delaunay Triangulation: max-min angle

Page 23: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

5 - 2

Delaunay Triangulation: max-min angle

Triangulation Delaunay

Page 24: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

5 - 3

Delaunay Triangulation: max-min angle

Triangulation Delaunay

smallest angle

Page 25: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

5 - 4

Delaunay Triangulation: max-min angle

Triangulation Delaunay

smallest angle

Page 26: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

5 - 5

Delaunay Triangulation: max-min angle

Triangulation Delaunay

smallest angle

Page 27: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

5 - 6

Delaunay Triangulation: max-min angle

Triangulation Delaunay

smallest angle

second smallest angle

Page 28: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

6 - 1

Delaunay Triangulation: max-min angle

Proof

Page 29: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

6 - 2

Delaunay Triangulation: max-min angle

Delaunay edgeDefinition

Page 30: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

6 - 3

Delaunay Triangulation: max-min angle

Delaunay edge

9 empty circle

Definition

Page 31: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

6 - 4

Delaunay Triangulation: max-min angle

Delaunay edgelocally w.r.t. a triangulationDefinition

Page 32: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

6 - 5

Delaunay Triangulation: max-min angle

Delaunay edgelocally w.r.t. a triangulation

9 circle

not enclosing the two neighbors

Definition

neighbor = visible from the edge

Page 33: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

7 - 1

Delaunay Triangulation: max-min angle

Lemma (8 edge: locally Delaunay) () Delaunay

Page 34: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

7 - 2

Delaunay Triangulation: max-min angle

Lemma (8 edge: locally Delaunay) () Delaunay

Proof:

choose an edge

Page 35: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

7 - 3

Delaunay Triangulation: max-min angle

Lemma (8 edge: locally Delaunay) () Delaunay

Proof:

choose an edge

edges of the quadrilateral

are locally Delaunay

Page 36: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

7 - 4

Delaunay Triangulation: max-min angle

Lemma (8 edge: locally Delaunay) () Delaunay

Proof:

choose an edge

edges of the quadrilateral

are locally Delaunay

Page 37: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

7 - 5

Delaunay Triangulation: max-min angle

Lemma (8 edge: locally Delaunay) () Delaunay

Proof:

choose an edge

edges of the quadrilateral

are locally Delaunay

Vertices visible through one edge are outside circle

Page 38: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

7 - 6

Delaunay Triangulation: max-min angle

Lemma (8 edge: locally Delaunay) () Delaunay

Proof:

choose an edge

edges of the quadrilateral

are locally Delaunay

Vertices visible through one edge are outside circle

Induction ! all vertices outside circle

Page 39: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

8 - 1

Delaunay Triangulation: max-min angle

Lemma For four points in convex position

Delaunay () maximize the smallest angle

Two possible triangulation

Page 40: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

8 - 2

Delaunay Triangulation: max-min angle

Lemma For four points in convex position

Delaunay () maximize the smallest angle

Case 1: smallest angle in corner

Page 41: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

8 - 3

Delaunay Triangulation: max-min angle

Lemma For four points in convex position

Delaunay () maximize the smallest angle

Case 1: smallest angle in corner

9 a smaller angle 2 other triangulation

�< �

Page 42: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

8 - 4

Delaunay Triangulation: max-min angle

Lemma For four points in convex position

Delaunay () maximize the smallest angle

Case 2: smallest angle

�along diagonal

Page 43: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

8 - 5

Delaunay Triangulation: max-min angle

Lemma For four points in convex position

Delaunay () maximize the smallest angle

Case 2: smallest angle

�along diagonal

Page 44: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

8 - 6

Delaunay Triangulation: max-min angle

Lemma For four points in convex position

Delaunay () maximize the smallest angle

Case 2: smallest angle

9 a smaller angle 2 other triangulation

< �

along diagonal

Page 45: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

9 - 1

Delaunay Triangulation: max-min angle

Map: Triangulations �! R6n�3k�4 smallest angle ↵1

Page 46: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

9 - 2

Delaunay Triangulation: max-min angle

Map: Triangulations �! R6n�3k�4 smallest angle ↵1

second smallest angle ↵2

Page 47: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

9 - 3

Delaunay Triangulation: max-min angle

Map: Triangulations �! R6n�3k�4 smallest angle ↵1

second smallest angle ↵2

third smallest angle ↵3

Page 48: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

9 - 4

Delaunay Triangulation: max-min angle

Map: Triangulations �! R6n�3k�4 smallest angle ↵1

second smallest angle ↵2

third smallest angle ↵3(↵1,↵2,↵3, . . . ,↵6n�3k�4)

Page 49: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

9 - 5

Delaunay Triangulation: max-min angle

Map: Triangulations �! R6n�3k�4 smallest angle ↵1

second smallest angle ↵2

third smallest angle ↵3(↵1,↵2,↵3, . . . ,↵6n�3k�4)

sort triangulations in lexicographic order

Page 50: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

10 - 1

Delaunay Triangulation: max-min angle

Theorem:

Delaunay maximizes minimum angles (in lexicographic order)

Page 51: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

10 - 2

Delaunay Triangulation: max-min angle

Theorem:

Delaunay maximizes minimum angles (in lexicographic order)

Proof:Let T be the triangulation maximizing angles

Page 52: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

10 - 3

Delaunay Triangulation: max-min angle

Theorem:

Delaunay maximizes minimum angles (in lexicographic order)

Proof:Let T be the triangulation maximizing angles

=) 8 convex quadrilateral (from 2 triangles 2 T )

the diagonal maximizes smallest angle (in quad)

Page 53: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

10 - 4

Delaunay Triangulation: max-min angle

Theorem:

Delaunay maximizes minimum angles (in lexicographic order)

Proof:Let T be the triangulation maximizing angles

=) 8 convex quadrilateral (from 2 triangles 2 T )

the diagonal maximizes smallest angle (in quad)

=) 8 edge, it is locally Delaunay

Page 54: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

10 - 5

Delaunay Triangulation: max-min angle

Theorem:

Delaunay maximizes minimum angles (in lexicographic order)

Proof:Let T be the triangulation maximizing angles

=) 8 convex quadrilateral (from 2 triangles 2 T )

the diagonal maximizes smallest angle (in quad)

=) 8 edge, it is locally Delaunay

=) T = Delaunay

Page 55: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

11 - 1

Delaunay triangulation Lower bound

A stupid algorithm for sorting numbers

Page 56: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

11 - 2

Delaunay triangulation Lower bound

A stupid algorithm for sorting numbers

project on parabola

Page 57: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

11 - 3

Delaunay triangulation Lower bound

A stupid algorithm for sorting numbers

project on parabola

compute Delaunay triang.

Page 58: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

11 - 4

Delaunay triangulation Lower bound

A stupid algorithm for sorting numbers

project on parabola

compute Delaunay triang.

find lowest point

Page 59: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

11 - 5

Delaunay triangulation Lower bound

A stupid algorithm for sorting numbers

project on parabola

compute Delaunay triang.

find lowest point

enumerate x coordinatesin ccw CH order

Page 60: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

11 - 6

Delaunay triangulation Lower bound

A stupid algorithm for sorting numbers

project on parabola

compute Delaunay triang.

find lowest point

enumerate x coordinatesin ccw CH order

O(n)

f(n)

O(n)

O(n)

Lower bound on sorting

=) f(n) +O(n) � ⌦(n log n)

Page 61: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

11 - 7

Delaunay triangulation Lower bound

A stupid algorithm for sorting numbers

project on parabola

compute Delaunay triang.

find lowest point

enumerate x coordinatesin ccw CH order

O(n)

f(n)

O(n)

O(n)

Lower bound on sorting

=) f(n) +O(n) � ⌦(n log n)

Page 62: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

12 - 1

Delaunay Triangulation: predicates

Page 63: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

12 - 2

Delaunay Triangulation: predicates

Orientation predicate

p

qr

pqr + ?

��������

xq � xp xr � xpyq � yp yr � yp

��������=

������������

1 1 1

xp xq xryp yq yr

������������

> 0

pqr - ?������������

1 1 1

xp xq xryp yq yr

������������

< 0

pqr 0 ?������������

1 1 1

xp xq xryp yq yr

������������

= 0

p

q

r

p

q

r

Page 64: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

12 - 3

Delaunay Triangulation: predicates

pqr ccw triangle

pq

r

query s

s

inside circumcircle

Incircle predicate

Page 65: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

12 - 4

Delaunay Triangulation: predicates

pqr ccw triangle

pq

r

query s

s

cocircular

Page 66: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

12 - 5

Delaunay Triangulation: predicates

pqr ccw triangle

pq

r

query s

s

outside circumcircle

Page 67: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

12 - 6

Delaunay Triangulation: predicates

pqr ccw triangle

pq

r

query s

Page 68: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

12 - 7

Delaunay Triangulation: predicates

Space of circles

p = (x, y) p? = (x, y, x2+ y2)

Page 69: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

12 - 8

Delaunay Triangulation: predicates

Space of circles

circle through pqr plane through p?q?r?

s inside/outside of

above/below s?

incircle predicate

3D orientation predicate

Page 70: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

12 - 9

Delaunay Triangulation: predicates

Space of circles

circle through pqr plane through p?q?r?

s inside/outside of

above/below s?

incircle predicate

3D orientation predicatesign

����������������

1 1 1 1

xp xq xr xsyp yq yr ys

x2p + y2p x2q + y2q x2r + y2r x2s + y2s

����������������

Page 71: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

13

Delaunay Triangulation: data structure

Data structure for (Delaunay) triangulation

Representing incidences

Representing hull boundary

Representing user’s data put c in trianglesolors

Page 72: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

14 - 1

Delaunay Triangulation: very naive algorithm

Page 73: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

14 - 2

Delaunay Triangulation: very naive algorithm

For each triple of points (p, q, r)

For each point s

If pqr ccw

If s in circle pqr

Delaunay = true;

Delaunay = false;

Output pqr

Page 74: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

14 - 3

Delaunay Triangulation: very naive algorithm

For each triple of points (p, q, r)

For each point s

If pqr ccw

If s in circle pqr

Delaunay = true;

Delaunay = false;

Output pqr

Correctness: easy

Page 75: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

14 - 4

Delaunay Triangulation: very naive algorithm

For each triple of points (p, q, r)

For each point s

If pqr ccw

If s in circle pqr

Delaunay = true;

Delaunay = false;

Output pqr

Correctness: easy

Complexity: O(n4)

Page 76: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

14 - 5

Delaunay Triangulation: very naive algorithm

For each triple of points (p, q, r)

For each point s

If pqr ccw

If s in circle pqr

Delaunay = true;

Delaunay = false;

Output pqr

Correctness: easy

Complexity: O(n4)

does not compute incidences

Page 77: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 1

Delaunay Triangulation: incremental algorithm

Page 78: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 2

Delaunay Triangulation: incremental algorithm

New point

Page 79: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 3

Delaunay Triangulation: incremental algorithm

New point

Locate

Page 80: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 4

Delaunay Triangulation: incremental algorithm

New point

Locate

e.g.: visibility walk

Page 81: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 5

Delaunay Triangulation: incremental algorithm

New point

Locate

e.g.: visibility walk

Page 82: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 6

Delaunay Triangulation: incremental algorithm

New point

Locate

e.g.: visibility walk

Page 83: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 7

Delaunay Triangulation: incremental algorithm

New point

Locate

e.g.: visibility walk

Page 84: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 8

Delaunay Triangulation: incremental algorithm

New point

Locate

e.g.: visibility walk

Page 85: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 9

Delaunay Triangulation: incremental algorithm

New point

Locate

e.g.: visibility walk

Page 86: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 10

Delaunay Triangulation: incremental algorithm

New point

Locate

e.g.: visibility walk

Page 87: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 11

Delaunay Triangulation: incremental algorithm

New point

Locate

e.g.: visibility walk

Page 88: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 12

Delaunay Triangulation: incremental algorithm

New point

Locate

e.g.: visibility walk

not unique

Page 89: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 13

Delaunay Triangulation: incremental algorithm

New point

Locate

e.g.: visibility walk

not unique

Page 90: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 14

Visibility walk terminates

Delaunay Triangulation: incremental algorithm

Page 91: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 15

Visibility walk terminates

Delaunay Triangulation: incremental algorithm

Page 92: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 16

Visibility walk terminates

Delaunay Triangulation: incremental algorithm

May loop

Page 93: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 17

Visibility walk terminates

Delaunay Triangulation: incremental algorithm

May loop

Not Delaunay

Page 94: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 18

Delaunay Triangulation: pencils of circles

Power of a point w.r.t a circle

x2+ y2 � 2ax� 2by + c

blue yields smaller power

black yields smaller power

equal power

(x2+ y2 � 2a0x� 2b0y + c0)�

+(1� �) (

)

= 0

Visibility walk terminates

Delaunay Triangulation: incremental algorithm

Page 95: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 19

Delaunay Triangulation: incremental algorithm

Visibility walk terminates

Delaunay Triangulation: incremental algorithm

Page 96: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 20

Delaunay Triangulation: incremental algorithm

Visibility walk terminates

Delaunay Triangulation: incremental algorithm

Green power Red power<

Page 97: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 21

Delaunay Triangulation: incremental algorithm

Visibility walk terminates

Delaunay Triangulation: incremental algorithm

Green power Red power<Power decreases

Page 98: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

15 - 22

Delaunay Triangulation: incremental algorithm

Visibility walk terminates

Delaunay Triangulation: incremental algorithm

Green power Red power<Power decreasesVisibility walk terminates

Page 99: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

16 - 1

Delaunay Triangulation: incremental algorithm

New point

Locate

Search conflicts

Page 100: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

16 - 2

Delaunay Triangulation: incremental algorithm

New point

Locate

Search conflicts

Page 101: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

16 - 3

Delaunay Triangulation: incremental algorithm

New point

Locate

Search conflicts

Page 102: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

16 - 4

Delaunay Triangulation: incremental algorithm

New point

Locate

Search conflicts

Page 103: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

16 - 5

Delaunay Triangulation: incremental algorithm

New point

Locate

Search conflicts

Page 104: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

16 - 6

Delaunay Triangulation: incremental algorithm

New point

Locate

Search conflicts

Page 105: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

16 - 7

Delaunay Triangulation: incremental algorithm

New point

Locate

Search conflicts

Page 106: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

16 - 8

Delaunay Triangulation: incremental algorithm

New point

Locate

Search conflicts

Page 107: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

16 - 9

Delaunay Triangulation: incremental algorithm

New point

Locate

Search conflicts

Page 108: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

16 - 10

Delaunay Triangulation: incremental algorithm

New point

Locate

Search conflicts

Page 109: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

16 - 11

Delaunay Triangulation: incremental algorithm

New point

Locate

Search conflicts

Page 110: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

16 - 12

Delaunay Triangulation: incremental algorithm

New point

Locate

Search conflicts

Page 111: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

16 - 13

Delaunay Triangulation: incremental algorithm

New point

Locate

Search conflicts

Page 112: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

16 - 14

Delaunay Triangulation: incremental algorithm

New point

Page 113: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

16 - 15

Delaunay Triangulation: incremental algorithm

New point

Page 114: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

17 - 1

circle of new triangle

Delaunay Triangulation: incremental algorithm

Proof of correctness

Page 115: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

17 - 2

circle of new triangle

Delaunay Triangulation: incremental algorithm

Proof of correctness

⇢ [

Page 116: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

18 - 1

Delaunay Triangulation: incremental algorithm

Complexity

Locate

Search conflicts

Page 117: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

18 - 2

Delaunay Triangulation: incremental algorithm

Complexity

Locate

Search conflicts ] triangles in conflict

] triangles neighboring triangles in conflict

Page 118: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

18 - 3

Delaunay Triangulation: incremental algorithm

Complexity

Locate

Search conflicts ] triangles in conflict

] triangles neighboring triangles in conflict

degree of new point in new triangulation

< n

Page 119: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

18 - 4

Delaunay Triangulation: incremental algorithm

Complexity

Locate

Search conflicts

degree of new point in new triangulation

< n

Walk may visit all triangles< 2n

Page 120: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

18 - 5

Delaunay Triangulation: incremental algorithm

Complexity

Locate

Search conflicts

O(n) per insertion

Page 121: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

18 - 6

Delaunay Triangulation: incremental algorithm

Complexity

Locate

Search conflicts

O(n) per insertion

O(n2) for the whole construction

Page 122: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

18 - 7

Delaunay Triangulation: incremental algorithm

Complexity

Locate

Search conflicts

Page 123: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

18 - 8

Delaunay Triangulation: incremental algorithm

Complexity

Locate

Search conflicts

Insertion: ⌦(n)

Whole construction: ⌦(n2)

Page 124: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

19 - 1

Delaunay Triangulation: sweep-line algorithm

Discover the points from left to right

Page 125: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

19 - 2

Delaunay Triangulation: sweep-line algorithm

Discover the points from left to right

Page 126: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

19 - 3

Delaunay Triangulation: sweep-line algorithm

Discover the points from left to rightCertified Delaunay triangles

Page 127: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

19 - 4

Delaunay Triangulation: sweep-line algorithm

Discover the points from left to rightCertified Delaunay triangles

Page 128: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

19 - 5

Delaunay Triangulation: sweep-line algorithm

Discover the points from left to rightCertified Delaunay triangles

Page 129: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

19 - 6

Delaunay Triangulation: sweep-line algorithm

Discover the points from left to rightCertified Delaunay trianglesCertified Delaunay edges

Page 130: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

19 - 7

Delaunay Triangulation: sweep-line algorithm

Discover the points from left to right

Page 131: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

19 - 8

Delaunay Triangulation: sweep-line algorithm

Discover the points from left to rightNew point

I

H

Locate vertically

I

H

Page 132: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

19 - 9

Delaunay Triangulation: sweep-line algorithm

Discover the points from left to rightNew point

I

H

Locate vertically

I

H

Create edge

Page 133: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

19 - 10

Delaunay Triangulation: sweep-line algorithm

Discover the points from left to right

Closing a triangle ?

Page 134: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

19 - 11

Delaunay Triangulation: sweep-line algorithm

Discover the points from left to right

Next circle event

Close triangle

Page 135: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

20 - 1

Delaunay Triangulation: sweep-line algorithm

Complexity

Triangulation

List of events (x sorted)

List of boundary edges(ccw sorted)

Circle events Point events

Number

processed

Page 136: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

20 - 2

Delaunay Triangulation: sweep-line algorithm

Complexity

Triangulation

List of events (x sorted)

List of boundary edges(ccw sorted)

Circle events Point events

Number 2n ncreate2 triangles

createone edge

3 deletions 2 insertionsper event

2 deletions 2 insertionsper event

replace2 edges by 1per event per event

locate, theninsert 2 edges

per event per event

processed

Page 137: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

20 - 3

Delaunay Triangulation: sweep-line algorithm

Complexity

Triangulation

List of events (x sorted)

List of boundary edges(ccw sorted)

Circle events Point events

Number 2n ncreate2 triangles

createone edge

3 deletions 2 insertionsper event

2 deletions 2 insertionsper event

replace2 edges by 1per event per event

locate, theninsert 2 edges

per event per eventO(

1

)

per operation

O(

l

o

g

n) per operation

O(

l

o

g

n) per operation

processed

Page 138: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

20 - 4

Delaunay Triangulation: sweep-line algorithm

Complexity

Triangulation

List of events (x sorted)

List of boundary edges(ccw sorted)

Circle events Point events

Number 2n ncreate2 triangles

createone edge

3 deletions 2 insertionsper event

2 deletions 2 insertionsper event

replace2 edges by 1per event per event

locate, theninsert 2 edges

per event per eventO(

1

)

per operation

O(

l

o

g

n) per operation

O(

l

o

g

n) per operation

O(n log n)

processed

Page 139: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

21 - 1

Delaunay Triangulation: predicates

Page 140: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

21 - 2

Delaunay Triangulation: predicates

x comparisons

Page 141: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

21 - 3

Delaunay Triangulation: predicates

x comparisons y comparisons

Page 142: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

21 - 4

Delaunay Triangulation: predicates

x comparisons y comparisons

more intricate than

orientation and incircle

Page 143: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

22 - 1

Delaunay Triangulation: divide & conquer (sketch)

Page 144: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

22 - 2

Delaunay Triangulation: divide & conquer (sketch)

Divide

Page 145: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

22 - 3

Delaunay Triangulation: divide & conquer (sketch)

Recurse

Divide

Page 146: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

22 - 4

Conquer

Delaunay Triangulation: divide & conquer (sketch)

Recurse

Divide

Page 147: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

22 - 5

Conquer

Delaunay Triangulation: divide & conquer (sketch)

Recurse

O(n log n)

Divide

Page 148: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

22 - 6

Conquer

Delaunay Triangulation: divide & conquer (sketch)

Recurse

O(n log n)

Divide

balanced

linear time

easier conquer

Page 149: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

23 - 1

Jump and walk Use randomness hypotheses

Page 150: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

23 - 2

Jump and walk Use randomness hypotheses

Page 151: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

23 - 3

Jump and walk Use randomness hypotheses

Page 152: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

23 - 4

Jump and walk

Hopefully shorter walk

Designed for random points

O(

3pn) expected location time

Use randomness hypotheses

Page 153: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

24 - 1

Jump and walk (no distribution hypothesis) Randomized

Page 154: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

24 - 2

Jump and walk (no distribution hypothesis)E [] of in ] =

nk

Randomized

Page 155: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

24 - 3

Jump and walk (no distribution hypothesis)

choose k =

2pn

Walk length = O�nk

�E [] of in ] =

nk

Randomized

Page 156: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

24 - 4

Jump and walk (no distribution hypothesis)

choose k =

2pn

Delaunay hierarchy

Walk length = O�nk

�E [] of in ] =

nk

Randomized

Page 157: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

24 - 5

Jump and walk (no distribution hypothesis)

choose k =

2pn

Delaunay hierarchynk1

Walk length = O�nk

�E [] of in ] =

nk

Randomized

Page 158: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

24 - 6

Jump and walk (no distribution hypothesis)

choose k =

2pn

Delaunay hierarchynk1

+

k1k2

Walk length = O�nk

�E [] of in ] =

nk

Randomized

Page 159: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

24 - 7

Jump and walk (no distribution hypothesis)

choose k =

2pn

Delaunay hierarchynk1

+

k1k2

Walk length = O�nk

�E [] of in ] =

nk

+

k2k3

+ . . .

Randomized

Page 160: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

24 - 8

Jump and walk (no distribution hypothesis)

choose k =

2pn

Delaunay hierarchynk1

+

k1k2

Walk length = O�nk

�E [] of in ] =

nk

+

k2k3

+ . . .

choose kiki+1

= ↵

Randomized

Page 161: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

24 - 9

Jump and walk (no distribution hypothesis)

choose k =

2pn

Delaunay hierarchynk1

+

k1k2

Walk length = O�nk

�E [] of in ] =

nk

+

k2k3

+ . . .

choose kiki+1

= ↵

point location in O (↵ log↵ n)

Randomized

Page 162: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

24 - 10

Jump and walk (no distribution hypothesis)

choose k =

2pn

Delaunay hierarchynk1

+

k1k2

Walk length = O�nk

�E [] of in ] =

nk

+

k2k3

+ . . .

choose kiki+1

= ↵

point location in O (↵ log↵ n)

point location in O (

p↵ log↵ n)

Randomized

Page 163: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

25 - 1

Technical detail

Walk length = O ] of in( )= O�nk

Page 164: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

25 - 2

Technical detail

Walk length = O ] of in( )= O�nk

random point

not a random point

Page 165: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

25 - 3

Technical detail

Walk length = O ] of in( )= O�nk

random point

not a random point

E [d

�] =

1

n

X

q

d

�NN(q) =1

n

X

q

X

v=NN(q)

d

�v

=

1

n

X

v

X

q;v=NN(q)

d

�v 1

n

X

v

6d

�v 36

Page 166: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

25 - 4

Technical detail

Walk length = O ] of in( )= O�nk

random point

not a random point

E [d

�] =

1

n

X

q

d

�NN(q) =1

n

X

q

X

v=NN(q)

d

�v

=

1

n

X

v

X

q;v=NN(q)

d

�v 1

n

X

v

6d

�v 36

Pd�

Page 167: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

26

Drawbacks of random order

non locality of memory access

data structure for point location

Hilbert sort

Randomization

Page 168: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

27 - 1

Page 169: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

27 - 2

Page 170: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

27 - 3

Page 171: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

27 - 4

Page 172: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

28

Drawbacks of random order

non locality of memory access

data structure for point location

Hilbert sort

Last point is not at all a random point

Walk should be fast

no control of degree of last point

Page 173: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

29 - 1

Biased Random Insertion Order (BRIO)

Page 174: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

29 - 2

Biased Random Insertion Order (BRIO)

Page 175: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

29 - 3

Biased Random Insertion Order (BRIO)

Page 176: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

29 - 4

Biased Random Insertion Order (BRIO)

Page 177: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

29 - 5

Biased Random Insertion Order (BRIO)

Page 178: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

29 - 6

Biased Random Insertion Order (BRIO)

Page 179: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

30 - 1

Algorithm

Recipe to go from the input to the output

Formalized description in some language

May use data structure

Proof of correctness

Complexity analysis

Page 180: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

30 - 2

Algorithm

Recipe to go from the input to the output

Formalized description in some language

May use data structure

Proof of correctness

Complexity analysis

Program

Implementation of an algorithm

Translation in a programming language (C++)

May use software library

Debugging

Running time

Page 181: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

30 - 3

Algorithm

Recipe to go from the input to the output

Formalized description in some language

May use data structure

Proof of correctness

Complexity analysis

Program

Implementation of an algorithm

Translation in a programming language (C++)

May use software library

Debugging

Running time

may be difficult to transform into

too complicated

too complicated

inexistant

Computation model

big O notation

actualcomputer

(cache, predic

tion. .. )

Page 182: Delaunay triangulations: properties, algorithms, and ... · 1-2 Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers Extra question: what is the difference

31The end