Voronoi Diagrams, Delaunay Triangulations and Polytopes Jean-Daniel - - PowerPoint PPT Presentation

voronoi diagrams delaunay triangulations and polytopes
SMART_READER_LITE
LIVE PREVIEW

Voronoi Diagrams, Delaunay Triangulations and Polytopes Jean-Daniel - - PowerPoint PPT Presentation

Voronoi Diagrams, Delaunay Triangulations and Polytopes Jean-Daniel Boissonnat Geometrica, INRIA http://www-sop.inria.fr/geometrica Winter School, University of Nice Sophia Antipolis January 26-30, 2015 Winter School 2 Voronoi, Delaunay


slide-1
SLIDE 1

Voronoi Diagrams, Delaunay Triangulations and Polytopes

Jean-Daniel Boissonnat Geometrica, INRIA http://www-sop.inria.fr/geometrica Winter School, University of Nice Sophia Antipolis January 26-30, 2015

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 1 / 43

slide-2
SLIDE 2

Voronoi diagrams in nature

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 2 / 43

slide-3
SLIDE 3

The solar system (Descartes)

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 3 / 43

slide-4
SLIDE 4

Growth of merystem

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 4 / 43

slide-5
SLIDE 5

Euclidean Voronoi diagrams

Voronoi cell V(pi) = {x : x − pi ≤ x − pj, ∀j} Voronoi diagram (P) = { collection of all cells V(pi), pi ∈ P }

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 5 / 43

slide-6
SLIDE 6

Voronoi diagrams and polytopes

Polytope The intersection of a finite collection of half-spaces : V =

i∈I h+ i

Each Voronoi cell is a polytope The Voronoi diagram has the structure of a cell complex The Voronoi diagram of P is the projection of a polytope of Rd+1

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 6 / 43

slide-7
SLIDE 7

Voronoi diagrams and polytopes

Polytope The intersection of a finite collection of half-spaces : V =

i∈I h+ i

Each Voronoi cell is a polytope The Voronoi diagram has the structure of a cell complex The Voronoi diagram of P is the projection of a polytope of Rd+1

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 6 / 43

slide-8
SLIDE 8

Voronoi diagrams and polytopes

Polytope The intersection of a finite collection of half-spaces : V =

i∈I h+ i

Each Voronoi cell is a polytope The Voronoi diagram has the structure of a cell complex The Voronoi diagram of P is the projection of a polytope of Rd+1

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 6 / 43

slide-9
SLIDE 9

Voronoi diagrams and polytopes

Polytope The intersection of a finite collection of half-spaces : V =

i∈I h+ i

Each Voronoi cell is a polytope The Voronoi diagram has the structure of a cell complex The Voronoi diagram of P is the projection of a polytope of Rd+1

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 6 / 43

slide-10
SLIDE 10

Voronoi diagrams and polyhedra

Vor(p1, . . . , pn) is the minimization diagram

  • f the n functions δi(x) = (x − pi)2

arg min(δi) = arg max(hi) where hpi(x) = 2 pi · x − p2

i

The minimization diagram of the δi is also the maximization diagram of the affine functions hpi(x) The faces of Vor(P) are the projections of the faces of V(P) =

i h+ pi

h+

pi = {x : xd+1 > 2pi · x − p2 i }

pi z = (x − pi)2

Note ! the graph of hpi(x) is the hyperplane tangent to Q : xd+1 = x2 at (x, x2)

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 7 / 43

slide-11
SLIDE 11

Voronoi diagrams and polyhedra

Vor(p1, . . . , pn) is the minimization diagram

  • f the n functions δi(x) = (x − pi)2

arg min(δi) = arg max(hi) where hpi(x) = 2 pi · x − p2

i

The minimization diagram of the δi is also the maximization diagram of the affine functions hpi(x) The faces of Vor(P) are the projections of the faces of V(P) =

i h+ pi

h+

pi = {x : xd+1 > 2pi · x − p2 i }

pi z = (x − pi)2

Note ! the graph of hpi(x) is the hyperplane tangent to Q : xd+1 = x2 at (x, x2)

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 7 / 43

slide-12
SLIDE 12

Voronoi diagrams and polyhedra

Vor(p1, . . . , pn) is the minimization diagram

  • f the n functions δi(x) = (x − pi)2

arg min(δi) = arg max(hi) where hpi(x) = 2 pi · x − p2

i

The minimization diagram of the δi is also the maximization diagram of the affine functions hpi(x) The faces of Vor(P) are the projections of the faces of V(P) =

i h+ pi

h+

pi = {x : xd+1 > 2pi · x − p2 i }

Note ! the graph of hpi(x) is the hyperplane tangent to Q : xd+1 = x2 at (x, x2)

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 7 / 43

slide-13
SLIDE 13

Voronoi diagrams and polyhedra

Vor(p1, . . . , pn) is the minimization diagram

  • f the n functions δi(x) = (x − pi)2

arg min(δi) = arg max(hi) where hpi(x) = 2 pi · x − p2

i

The minimization diagram of the δi is also the maximization diagram of the affine functions hpi(x) The faces of Vor(P) are the projections of the faces of V(P) =

i h+ pi

h+

pi = {x : xd+1 > 2pi · x − p2 i }

Note ! the graph of hpi(x) is the hyperplane tangent to Q : xd+1 = x2 at (x, x2)

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 7 / 43

slide-14
SLIDE 14

Voronoi diagrams and polyhedra

Vor(p1, . . . , pn) is the minimization diagram

  • f the n functions δi(x) = (x − pi)2

arg min(δi) = arg max(hi) where hpi(x) = 2 pi · x − p2

i

The minimization diagram of the δi is also the maximization diagram of the affine functions hpi(x) The faces of Vor(P) are the projections of the faces of V(P) =

i h+ pi

h+

pi = {x : xd+1 > 2pi · x − p2 i }

Note ! the graph of hpi(x) is the hyperplane tangent to Q : xd+1 = x2 at (x, x2)

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 7 / 43

slide-15
SLIDE 15

Voronoi diagrams and polytopes

Lifting map The faces of Vor(P) are the projection of the faces of the polytope V(P) =

i h+ pi

where hpi is the hyperplane tangent to paraboloid Q at the lifted point (pi, p2

i )

Corollaries

◮ The size of Vor(P) is the same as the size of V(P) ◮ Computing Vor(P) reduces to computing V(P) Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 8 / 43

slide-16
SLIDE 16

Voronoi diagrams and polytopes

Lifting map The faces of Vor(P) are the projection of the faces of the polytope V(P) =

i h+ pi

where hpi is the hyperplane tangent to paraboloid Q at the lifted point (pi, p2

i )

Corollaries

◮ The size of Vor(P) is the same as the size of V(P) ◮ Computing Vor(P) reduces to computing V(P) Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 8 / 43

slide-17
SLIDE 17

Polytopes (convex polyhedra)

Two ways of defining polytopes Convex hull of a finite set of points : V = conv(P) Intersection of a finite set of half-spaces : H = ∩h∈H h+

i

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 9 / 43

slide-18
SLIDE 18

Facial structure of a polytope

Supporting hyperplane h : H ∩ P = ∅ P on one side of h Faces : P ∩ h, h supp. hyp. Dimension of a face : the dim. of its affine hull

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 10 / 43

slide-19
SLIDE 19

General position

Points in general position

◮ P is in general position iff no subset of k + 2 points lie in a k-flat

⇒ If P is in general position, all faces of conv(P) are simplices

Hyperplanes in general position

◮ H is in general position iff the intersection of any subset of d − k

hyperplanes intersect in a k-flat ⇒ any k-face is the intersection of d − k hyperplanes

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 11 / 43

slide-20
SLIDE 20

General position

Points in general position

◮ P is in general position iff no subset of k + 2 points lie in a k-flat

⇒ If P is in general position, all faces of conv(P) are simplices

Hyperplanes in general position

◮ H is in general position iff the intersection of any subset of d − k

hyperplanes intersect in a k-flat ⇒ any k-face is the intersection of d − k hyperplanes

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 11 / 43

slide-21
SLIDE 21

Duality between points and hyperplanes

hyperplane of Rd h : xd = a · x′ − b − → point h∗ = (a, b) ∈ Rd point p = (p′, pd) ∈ Rd − → hyperplane p∗ ⊂ Rd = {(a, b) ∈ Rd : b = p′ · a − pd} Duality

◮ preserves incidences :

p ∈ h ⇐ ⇒ pd = a · p′ − b ⇐ ⇒ b = p′ · a − pd ⇐ ⇒ h∗ ∈ p∗ p ∈ h+ ⇐ ⇒ pd > a · p′ − b ⇐ ⇒ b > p′ · a − pd ⇐ ⇒ h∗ ∈ p∗+

◮ is an involution and thus is bijective : h∗∗ = h and p∗∗ = p Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 12 / 43

slide-22
SLIDE 22

Duality between points and hyperplanes

hyperplane of Rd h : xd = a · x′ − b − → point h∗ = (a, b) ∈ Rd point p = (p′, pd) ∈ Rd − → hyperplane p∗ ⊂ Rd = {(a, b) ∈ Rd : b = p′ · a − pd} Duality

◮ preserves incidences :

p ∈ h ⇐ ⇒ pd = a · p′ − b ⇐ ⇒ b = p′ · a − pd ⇐ ⇒ h∗ ∈ p∗ p ∈ h+ ⇐ ⇒ pd > a · p′ − b ⇐ ⇒ b > p′ · a − pd ⇐ ⇒ h∗ ∈ p∗+

◮ is an involution and thus is bijective : h∗∗ = h and p∗∗ = p Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 12 / 43

slide-23
SLIDE 23

Duality between polytopes

Let h1, . . . , hn be n hyperplanes of Rd and let H = ∩h+

i

s

s h1 h2 * h3 h∗

3

h∗

2

h∗

1

A vertex s of H is ¯ the intersection of k ≥ d hyperplanes h1, . . . , hk lying above all the other hyperplanes = ⇒ s∗ is a hyperplane that

  • 1. contains h∗

1, . . . , h∗ k

  • 2. supports

H∗= conv−(h∗

1, . . . , h∗ k)

General position s is the intersection of d hyperplanes ⇒ s∗ supports a (d − 1)-simplex de H∗

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 13 / 43

slide-24
SLIDE 24

More generally and under the general position assumption, Let f be a (d − k)-face of H and aff(f) = ∩k

i=1hi

p ∈ f ⇔ h∗

i ∈ p∗ for i = 1, . . . , k

h∗

i ∈ p∗+ for i = k + 1, . . . , n

⇔ p∗support. hyp. of H∗ = conv(h∗

1, . . . , h∗ n)

p∗ ∋ h∗

1, . . . , h∗ k

⇔ f ∗ = conv(h∗

1, . . . , h∗ k ) is a (k − 1) − face of H∗

Duality between H and H∗

The correspondence between the faces of H and H∗ is involutive and therefore bijective It reverses inclusions : ∀f, g ∈ H, f ⊂ g ⇒ g∗ ⊂ f ∗

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 14 / 43

slide-25
SLIDE 25

More generally and under the general position assumption, Let f be a (d − k)-face of H and aff(f) = ∩k

i=1hi

p ∈ f ⇔ h∗

i ∈ p∗ for i = 1, . . . , k

h∗

i ∈ p∗+ for i = k + 1, . . . , n

⇔ p∗support. hyp. of H∗ = conv(h∗

1, . . . , h∗ n)

p∗ ∋ h∗

1, . . . , h∗ k

⇔ f ∗ = conv(h∗

1, . . . , h∗ k ) is a (k − 1) − face of H∗

Duality between H and H∗

The correspondence between the faces of H and H∗ is involutive and therefore bijective It reverses inclusions : ∀f, g ∈ H, f ⊂ g ⇒ g∗ ⊂ f ∗

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 14 / 43

slide-26
SLIDE 26

Algorithmic consequences

Depending on the application, the primal or the dual setting may be more appropriate We will bound the combinatorial complexity of the intersection of n upper half-spaces We will compute the convex hull of n points By duality, the results extend to the dual case

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 15 / 43

slide-27
SLIDE 27

Euler formula for 3-polytopes

The numbers of vertices s, edges a and facets f of a polytope of R3 satisfy s − a + f = 2

Schlegel diagram

s = s′ a′ = a + 1 f ′ = f + 1 a′ = a + 1 f ′ = f s′ = s + 1

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 16 / 43

slide-28
SLIDE 28

Euler formula for 3-polytopes : s − a + f = 2

Incidences edges-facets 2a ≥ 3f = ⇒ a ≤ 3s − 6 f ≤ 2s − 4 with equality when all facets are triangles

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 17 / 43

slide-29
SLIDE 29

Beyond the 3rd dimension

Upper bound theorem

[McMullen 1970]

If H is the intersection of n half-spaces of Rd nb faces of H = Θ(n⌊ d

2⌋)

Hyperplanes in general position

◮ any k-face is the intersection of d − k hyperplanes

defining H

◮ all vertices of H are incident to d edges and have distinct xd ◮ the convex hull of

k < d edges incident to a vertex p is a k-face of H

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 18 / 43

slide-30
SLIDE 30

Beyond the 3rd dimension

Upper bound theorem

[McMullen 1970]

If H is the intersection of n half-spaces of Rd nb faces of H = Θ(n⌊ d

2⌋)

Hyperplanes in general position

◮ any k-face is the intersection of d − k hyperplanes

defining H

◮ all vertices of H are incident to d edges and have distinct xd ◮ the convex hull of

k < d edges incident to a vertex p is a k-face of H

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 18 / 43

slide-31
SLIDE 31

Proof of the upper bound theorem

Bounding the number of vertices

1

≥ ⌈ d

2⌉ edges incident to a vertex p are in h+ p : xd ≥ xd(p) or in h− p

⇒ p is a xd-max or xd-min vertex of at least one ⌈ d

2⌉-face of H

⇒ # vertices of H ≤ 2×# ⌈ d

2⌉-faces of H 2

A k-face is the intersection of d − k hyperplanes defining H

⇒ # k-faces =

  • n

d − k

  • = O(nd−k)

⇒ # ⌈ d

2⌉-faces = O(n⌊ d

2 ⌋)

Bounding the total number of faces The number of faces incident to p depends on d but not on n

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 19 / 43

slide-32
SLIDE 32

Proof of the upper bound theorem

Bounding the number of vertices

1

≥ ⌈ d

2⌉ edges incident to a vertex p are in h+ p : xd ≥ xd(p) or in h− p

⇒ p is a xd-max or xd-min vertex of at least one ⌈ d

2⌉-face of H

⇒ # vertices of H ≤ 2×# ⌈ d

2⌉-faces of H 2

A k-face is the intersection of d − k hyperplanes defining H

⇒ # k-faces =

  • n

d − k

  • = O(nd−k)

⇒ # ⌈ d

2⌉-faces = O(n⌊ d

2 ⌋)

Bounding the total number of faces The number of faces incident to p depends on d but not on n

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 19 / 43

slide-33
SLIDE 33

Proof of the upper bound theorem

Bounding the number of vertices

1

≥ ⌈ d

2⌉ edges incident to a vertex p are in h+ p : xd ≥ xd(p) or in h− p

⇒ p is a xd-max or xd-min vertex of at least one ⌈ d

2⌉-face of H

⇒ # vertices of H ≤ 2×# ⌈ d

2⌉-faces of H 2

A k-face is the intersection of d − k hyperplanes defining H

⇒ # k-faces =

  • n

d − k

  • = O(nd−k)

⇒ # ⌈ d

2⌉-faces = O(n⌊ d

2 ⌋)

Bounding the total number of faces The number of faces incident to p depends on d but not on n

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 19 / 43

slide-34
SLIDE 34

Representation of a convex hull

Adjacency graph (AG) of the facets In general position, all the facets are (d − 1)-simplexes Adjacency graph (V, E) V = set of (d − 1)-faces (facets) (f, f ′) ∈ E iff f ∩ f ′ share a (d − 2)-face

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 20 / 43

slide-35
SLIDE 35

Incremental algorithm

Pi : set of the i points that have been inserted first conv(Pi) : convex hull at step i

O pi conv(Ei) e

s t

f = [p1, ..., pd] is a red facet iff its supporting hyperplane separates pi from conv(Pi) ⇐ ⇒ orient(p1, ..., pd, pi) × orient(p1, ..., pd, O) < 0

  • rient(p0, p1, ..., pd) =
  • 1

1 ... 1 p0 p1 ... pd

  • =
  • 1

1 ... 1 x01 x11 ... xd1 . . . . . . ... . . . x0d x1d ... xdd

  • Winter School 2

Voronoi, Delaunay & Polytopes Sophia Antipolis 21 / 43

slide-36
SLIDE 36

Update of conv(Pi)

red facet = facet whose supporting hyperplane separates

  • and pi+1

horizon : (d − 2)-faces shared by a blue and a red facet Update conv(Pi) :

1

find the red facets

2

remove them and create the new facets [pi+1, g], ∀g ∈ horizon

O pi conv(Ei) e

s t

Complexity

proportional to the number of red facets

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 22 / 43

slide-37
SLIDE 37

Update of conv(Pi)

red facet = facet whose supporting hyperplane separates

  • and pi+1

horizon : (d − 2)-faces shared by a blue and a red facet Update conv(Pi) :

1

find the red facets

2

remove them and create the new facets [pi+1, g], ∀g ∈ horizon

O pi conv(Ei) e

s t

Complexity

proportional to the number of red facets

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 22 / 43

slide-38
SLIDE 38

Complexity analysis

update proportional to the number of red facets # new facets = |conv(i, d − 1)| = O(i⌊ d−1

2 ⌋)

fast locate : insert the points in lexicographic order and search a 1st red facet in star(pi−1) (which necessarily exists)

O pi conv(Ei) e

s t

T(n, d) = O(n log n) + n

i=1 i⌊ d−1

2 ⌋)

= O(n log n + n⌊ d+1

2 ⌋)

Worst-case optimal in even dimensions

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 23 / 43

slide-39
SLIDE 39

Complexity analysis

update proportional to the number of red facets # new facets = |conv(i, d − 1)| = O(i⌊ d−1

2 ⌋)

fast locate : insert the points in lexicographic order and search a 1st red facet in star(pi−1) (which necessarily exists)

O pi conv(Ei) e

s t

T(n, d) = O(n log n) + n

i=1 i⌊ d−1

2 ⌋)

= O(n log n + n⌊ d+1

2 ⌋)

Worst-case optimal in even dimensions

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 23 / 43

slide-40
SLIDE 40

Lower bound

xi pi = (xi, x2

i)

y = x2

conv({pi}) = ⇒ tri({xi}) the orientation test reduces to 3 comparisons

  • rient(pi, pj, pk) =
  • xi − xj

xi − xk x2

i − x2 j

x2

i − x2 k

  • = (xi − xj)(xj − xk)(xk − xi)

= ⇒ Lower bound : Ω(n log n)

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 24 / 43

slide-41
SLIDE 41

Lower bound for the incremental algorithm

No incremental algorithm can compute the convex hull of n points of R3 in less than Ω(n2)

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 25 / 43

slide-42
SLIDE 42

Randomized incremental algorithm

  • : a point inside conv(P)

Pi : the set of the first i inserted points conv(Pi) : convex hull at step i

O pi conv(Ei) e

Conflict graph

bipartite graph {pj} × {facets of conv(Pi)} pj † f ⇐ ⇒ j > i (pj not yet inserted) ∧ f ∩ opj = ∅

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 26 / 43

slide-43
SLIDE 43

Randomized incremental algorithm

  • : a point inside conv(P)

Pi : the set of the first i inserted points conv(Pi) : convex hull at step i

O pi conv(Ei) e

Conflict graph

bipartite graph {pj} × {facets of conv(Pi)} pj † f ⇐ ⇒ j > i (pj not yet inserted) ∧ f ∩ opj = ∅

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 26 / 43

slide-44
SLIDE 44

Randomized analysis

  • Hyp. : points are inserted in random order

Conflict : † Notations R : random sample of size r of P F(R) = { subsets of d points of R} F0(R) = { elements of F(R) with 0 conflict in R}

(i.e. ∈ conv(R))

F1(R) = { elements of F(R) with 1 conflict in R} Ci(r, P) = E(|Fi(R)|)

(expectation over all random samples R ⊂ P of size r)

Lemma

Ci(r, P) = O(r⌊ d

2⌋), i = 1, 2 Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 27 / 43

slide-45
SLIDE 45

Randomized analysis

  • Hyp. : points are inserted in random order

Conflict : † Notations R : random sample of size r of P F(R) = { subsets of d points of R} F0(R) = { elements of F(R) with 0 conflict in R}

(i.e. ∈ conv(R))

F1(R) = { elements of F(R) with 1 conflict in R} Ci(r, P) = E(|Fi(R)|)

(expectation over all random samples R ⊂ P of size r)

Lemma

Ci(r, P) = O(r⌊ d

2⌋), i = 1, 2 Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 27 / 43

slide-46
SLIDE 46

Randomized analysis

  • Hyp. : points are inserted in random order

Conflict : † Notations R : random sample of size r of P F(R) = { subsets of d points of R} F0(R) = { elements of F(R) with 0 conflict in R}

(i.e. ∈ conv(R))

F1(R) = { elements of F(R) with 1 conflict in R} Ci(r, P) = E(|Fi(R)|)

(expectation over all random samples R ⊂ P of size r)

Lemma

Ci(r, P) = O(r⌊ d

2⌋), i = 1, 2 Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 27 / 43

slide-47
SLIDE 47

Proof of the lemma : C1(r, P) = C0(r, P) = O(r⌊ d

2⌋)

R′ = R \ {p} f ∈ F0(R′) if f ∈ F1(R) and p † f (proba = 1

r )

  • r f ∈ F0(R) and R′ ∋ the d vertices of f

(proba = r−d

r )

Taking the expectation, C0(r − 1, R) = 1 r |F1(R)| + r − d r |F0(R)| C0(r − 1, P) = 1 r C1(r, P) + r − d r C0(r, P) C1(r, P) = d C0(r, P) − r (C0(r, P) − C0(r − 1, P)) ≤ d C0(r, P) = O(r⌊ d

2⌋) Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 28 / 43

slide-48
SLIDE 48

Randomized analysis 1

Updating the convex hull + memory space

Expected number N(i) of facets created at step i N(i) =

  • f∈F(P)

proba(f ∈ F0(Pi)) × d i = d i O

  • i⌊ d

2⌋

= O(n⌊ d

2⌋−1)

Expected total number of created facets = O(n⌊ d

2⌋)

O(n) if d = 2, 3

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 29 / 43

slide-49
SLIDE 49

Randomized analysis 1

Updating the convex hull + memory space

Expected number N(i) of facets created at step i N(i) =

  • f∈F(P)

proba(f ∈ F0(Pi)) × d i = d i O

  • i⌊ d

2⌋

= O(n⌊ d

2⌋−1)

Expected total number of created facets = O(n⌊ d

2⌋)

O(n) if d = 2, 3

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 29 / 43

slide-50
SLIDE 50

Randomized analysis2

Updating the conflict graph

Cost proportional to the number of faces of conv(Pi) in conflict with pi+1 and some pj, j > i

N(i, j) = expected number of faces of conv(Pi) in conflict with pi+1 and pj, j > i P+

i

= Pi ∪ {pi+1} ∪ {pj} : a random subset of i + 2 points of P

N(i, j) =

  • f∈F(P)

proba(f ∈ F2(P+

i ))×

i + 2 2 −1 = C2(i+1) 2 (i + 1)(i + 2) = O(i⌊ d

2⌋−2)

Expected total cost of updating the conflict graph

n

  • i=1

n

  • j=i+1

N(i, j) =

n

  • i=1

(n − i) O(i⌊ d

2⌋−2) = O(n log n + n⌊ d 2⌋)

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 30 / 43

slide-51
SLIDE 51

Theorem The convex hull of n points of Rd can be computed in time O(n log n + n⌊ d

2⌋) using O(n⌊ d 2⌋) space

The same bounds hold for computing the intersection of n half-spaces of Rd The randomized algorithm can be derandomized

[Chazelle 1992]

The same results hold for Voronoi diagrams provided that d → d + 1

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 31 / 43

slide-52
SLIDE 52

Voronoi diagram and Delaunay triangulation

Finite set of points P ∈ Rd The Delaunay complex is the nerve of the Voronoi diagram It is not always embedded in Rd

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 32 / 43

slide-53
SLIDE 53

Empty circumballs

An (open) d-ball B circumscribing a simplex σ ⊂ P is called empty if

1

vert(σ) ⊂ ∂B

2

B ∩ P = ∅ Del(P) is the collection of simplices admitting an empty circumball

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 33 / 43

slide-54
SLIDE 54

Point sets in general position wrt spheres

P = {p1, p2 . . . pn} is said to be in general position wrt spheres if ∃ d + 2 points of P lying on a same (d − 1)-sphere

Theorem [Delaunay 1936]

If P is in general position wrt spheres, the simplicial map f : vert(DelP) → P provides a realization of Del(P) called the Delaunay triangulation of P.

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 34 / 43

slide-55
SLIDE 55

Point sets in general position wrt spheres

P = {p1, p2 . . . pn} is said to be in general position wrt spheres if ∃ d + 2 points of P lying on a same (d − 1)-sphere

Theorem [Delaunay 1936]

If P is in general position wrt spheres, the simplicial map f : vert(DelP) → P provides a realization of Del(P) called the Delaunay triangulation of P.

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 34 / 43

slide-56
SLIDE 56

Proof of Delaunay’s theorem 1

σ h(σ) P

Linearization S(x) = x2 − 2c · x + s, s = c2 − r2 S(x) < 0 ⇔

  • z < 2c · x − s

(h−

S )

z = x2 (P) ⇔ ˆ x = (x, x2) ∈ h−

S

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 35 / 43

slide-57
SLIDE 57

Proof of Delaunay’s theorem 2

Proof of Delaunay’s th. P general position wrt spheres ⇔ ˆ P in general position σ a simplex, Sσ its circumscribing sphere σ ∈ Del(P) ⇔ Sσ empty ⇔ ∀i, ˆ pi ∈ h+

⇔ ˆ σ is a face of conv−(ˆ P) Del(P) = proj(conv−(ˆ P))

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 36 / 43

slide-58
SLIDE 58

Proof of Delaunay’s theorem 2

Proof of Delaunay’s th. P general position wrt spheres ⇔ ˆ P in general position σ a simplex, Sσ its circumscribing sphere σ ∈ Del(P) ⇔ Sσ empty ⇔ ∀i, ˆ pi ∈ h+

⇔ ˆ σ is a face of conv−(ˆ P) Del(P) = proj(conv−(ˆ P))

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 36 / 43

slide-59
SLIDE 59

Duality

V(P) = ∩i h+

pi

D(P) = conv−(ˆ P)

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 37 / 43

slide-60
SLIDE 60

Voronoi diagrams, Delaunay triangulations and polytopes

If P is in general position wrt spheres : V(P) = h+

p1 ∩ . . . ∩ h+ pn duality

− → D(P) = conv−({ˆ p1, . . . , ˆ pn}) ↑ ↓ Voronoi Diagram of P

nerve

− → Delaunay Complex of P

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 38 / 43

slide-61
SLIDE 61

Combinatorial complexity

The combinatorial complexity of the Delaunay triangulation diagram of n points of Rd is the same as the combinatorial complexity of a convex hull of n points of Rd+1 Θ(n⌈ d

2⌉)

Quadratic in R3

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 39 / 43

slide-62
SLIDE 62

Constructing Del(P), P = {p1, ..., pn} ⊂ Rd

Algorithm

1 Lift the points of P onto the paraboloid xd+1 = x2 of Rd+1: pi → ˆ pi = (pi, p2

i )

2 Compute conv({ˆ pi}) 3 Project the lower hull conv−({ˆ pi}) onto Rd

Complexity : Θ(n log n + n⌊ d+1

2 ⌋) Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 40 / 43

slide-63
SLIDE 63

Direct algorithm : insertion of a new point pi

  • 1. Location : find all the d-simplices that conflict with pi

i.e. whose circumscribing ball contains pi

  • 2. Update : construct the new d-simplices

T

pi pi pi

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 41 / 43

slide-64
SLIDE 64

Updating the adjacency graph

We look at the d-simplices to be removed and at their neighbors Each d-simplex is considered ≤ d(d+1)

2

times Update cost = O(# created and deleted simplices ) = O(# created simplices)

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 42 / 43

slide-65
SLIDE 65

Exercise : computing the DT of an ε-net

Definition Let Ω be a bounded subset of Rd and P a finite point set in Ω. P is called an (ε, η)-net of Ω if

1

Covering : ∀p ∈ Ω, ∃p ∈ P, p − x ≤ ε

2

Packing : ∀p, q ∈ P, p − q ≥ η

Questions

1

Show that (ε, ε)-nets exist

2

Show that any simplex with all its vertices at distance > ε from ∂Ω has a circumradius ≤ ε

3

Show that the complexity of Del(P) is O(n) for fixed d

4

Improve the construction of Del(P)

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 43 / 43

slide-66
SLIDE 66

Exercise : computing the DT of an ε-net

Definition Let Ω be a bounded subset of Rd and P a finite point set in Ω. P is called an (ε, η)-net of Ω if

1

Covering : ∀p ∈ Ω, ∃p ∈ P, p − x ≤ ε

2

Packing : ∀p, q ∈ P, p − q ≥ η

Questions

1

Show that (ε, ε)-nets exist

2

Show that any simplex with all its vertices at distance > ε from ∂Ω has a circumradius ≤ ε

3

Show that the complexity of Del(P) is O(n) for fixed d

4

Improve the construction of Del(P)

Winter School 2 Voronoi, Delaunay & Polytopes Sophia Antipolis 43 / 43