Convex Hulls, Voronoi Diagrams and Delaunay Triangulations

Jean-Daniel Boissonnat

Winter School on ENS-Lyon January 2010

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations

conv( ) P P

Smallest convex set that contains a finite set of points P Set of all possible convex combinations of points in P P λ p , λ 0, P λ = 1 i i i ≥ i i

We call polytope the convex hull of a finite set of points

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations

The convex hull of k + 1 points that are affinely independent is called a k-simplex

1-simplex = line segment 2-simplex = 3-simplex = tetrahedron

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Facial structure of a polytope

Supporting hyperplane H C = and C is entirely contained in one of the∩ two6 half-spaces∅ defined by H

Faces The faces of a P are the polytopes P h, h support. hyp. ∩

The face complex The faces of P form a cell complex C

I f C, f is a convex polytope ∀ ∈ I f C, f g g C ∈ ⊂ ⇒ ∈ I f , g C, either f g = or f g C ∀ ∈ ∩ ∅ ∩ ∈

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations General position

A point set is said to be in general position iff no subset of k + 2 pointsP lie in a k-flat

If is in general position, all the faces of conv( ) are simplices P P The boundary of conv( ) is a simplicial complex P

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Intersection of n half-spaces

Two ways of defining polyhedra

Convex hull of n points

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Two ways of defining polyhedra

Convex hull of n points Intersection of n half-spaces

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations between points and hyperplanes

0 d ∗ d hyperplane h : xd = a · x − b of R −→ point h = (a, b) ∈ R

0 d ∗ d point p = (p , pd ) ∈ R −→ hyperplane p ⊂ R d 0 = {(a, b) ∈ R : b = p · a − pd }

The mapping ∗

I preserves incidences:

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

∗∗ ∗∗ I is an involution and thus is bijective : h = h and p = p

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Duality between polytopes d + Let h1,..., hn be n hyperplanes de R and let P = h ∩ i

h3

h3∗ h1 h2 * h1∗ ss h2∗

A vertex s of P is ¯the intersection of k d hyperplanes h1,..., hk lying above all the other hyperplanes ≥

∗ ∗ ∗ = s is a hyperplane h1,..., hk ⇒ 3 ∗ − ∗ ∗ supporting P =conv (h1,..., hk )

General position : s is the intersection of d hyperplanes = s∗ is a (d 1)-face (simplex) de P∗ ⇒ − Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Duality between P and P∗

I We have defined an involutive correspondence between the faces of P and P∗ s.t. f , g P, f g g∗ f ∗ ∀ ∈ ⊂ ⇒ ⊂ I As a consequence, computing P reduces to computing a lower convex hull

More generally and under the general position assumption, if f is a (d k)-face of P, f = k h − ∩i=1 i ∗ ∗ p ∈ f ⇔ hi ∈ p for i = 1,..., k ∗ ∗+ hi ∈ p for i = k + 1,..., n

∗ ∗ ∗ ∗ ⇔ p support. hyp. of P = conv(h1 ,..., hn ) ∗ ∗ 3 h1 ,..., hk

∗ ∗ ∗ ∗ ⇔ f = conv(h1 ,..., hk ) is a (k − 1) − face of P

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations More generally and under the general position assumption, if f is a (d k)-face of P, f = k h − ∩i=1 i ∗ ∗ p ∈ f ⇔ hi ∈ p for i = 1,..., k ∗ ∗+ hi ∈ p for i = k + 1,..., n

∗ ∗ ∗ ∗ ⇔ p support. hyp. of P = conv(h1 ,..., hn ) ∗ ∗ 3 h1 ,..., hk

∗ ∗ ∗ ∗ ⇔ f = conv(h1 ,..., hk ) is a (k − 1) − face of P

Duality between P and P∗

I We have defined an involutive correspondence between the faces of P and P∗ s.t. f , g P, f g g∗ f ∗ ∀ ∈ ⊂ ⇒ ⊂ I As a consequence, computing P reduces to computing a lower convex hull

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Euler’s formula The numbers of vertices s, edges a and facets f of a polytope of R3 satisfy s a + f = 2 − Schlegel diagram

s = s0 s0 = s + 1 a0 = a + 1 a0 = a + 1 f 0 = f + 1 f 0 = f

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Euler formula : s a + f = 2 −

Incidences edges-facets

a 3s 6 2a 3f = ≤ − ≥ ⇒ f 2s 4 ≤ − with equality when all facet are

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations General position all vertices of P are incident to d edges (in the worst-case) and have distinct xd

the convex hull of k < d edges incident to a vertex p is a ⇒ k-face of P

any k-face is the intersection of d k hyperplanes defining ⇒ P −

Beyond the 3rd dimension Upper bound theorem [McMullen 1970]

If P is the intersection of n half-spaces of Rd

d nb faces of P = Θ(nb 2 c)

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Beyond the 3rd dimension Upper bound theorem [McMullen 1970]

If P is the intersection of n half-spaces of Rd

d nb faces of P = Θ(nb 2 c)

General position all vertices of P are incident to d edges (in the worst-case) and have distinct xd

the convex hull of k < d edges incident to a vertex p is a ⇒ k-face of P

any k-face is the intersection of d k hyperplanes defining ⇒ P −

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Proof of the upper bound th.

d + 1. 2 edges incident to a vertex p are in hp : xd xd (p) ≥ d e − ≥ or in hp p is a x -max or x -min vertex of at least one d -face of P ⇒ d d d 2 e # vertices of P 2 # d -faces of P ⇒ ≤ × d 2 e

2.A k-face is the intersection of d k hyperplanes defining P −  n  # k-faces = = O(nd−k ) ⇒ d k d −b d c # -faces = O(n 2 ) ⇒ d 2 e

3. The number of faces incident to p depends on d but not on n

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Representation of a convex hull

Adjacency graph (AG) of the facets In general position, all the facets are (d 1)-

Vertex neighbor(cw(i)) ccw(i) Face* v face neighbor(i)

Face f Vertex* vertex[d] cw(i) i Face* neighbor[d] neighbor(ccw(i))

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Incremental pi s : set of the i points that have been i e Pinserted first

O conv( i ) : convex hull at step i P conv(Ei) t

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

1 1 ... 1

x0 x1 ... xd orient(p0, p1, ..., pd ) = y0 y1 ... yd

z0 z1 ... zd

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Correctness

I The AG of the red facets is connected

I The new faces are all obtained as above

Update of conv( i ) P

pi s I Locate : traverse AG to find the red facets and the e (d 2)-faces on the horizon V − O I Update: replace the red facets conv(E ) by the facets conv(p , e), e V i t i ∈

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Update of conv( i ) P

pi s I Locate : traverse AG to find the red facets and the e (d 2)-faces on the horizon V − O I Update: replace the red facets conv(E ) by the facets conv(p , e), e V i t i ∈ Correctness

I The AG of the red facets is connected

I The new faces are all obtained as above

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Optimal in even dimensions Can be improved to O(n log n) when d = 3

d The expected complexity can be improved to O(n log n + nb 2 c) by inserting the points in random order (see course 3) The can be derandomized [Chazelle 1992]

Complexity analysis

pi I update proportionnal to the number of s red facets e b d−1 c I # new facets = O(n 2 )

O I fast locate : insert the points in lexicographic order and attach a facet to conv(Ei) t each point

Pn T (n, d) = O(n log n) + i=1 conv(i, d 1) |d−1 − | d+1 = O(n log n + n n 2 ) = O(n log n + n 2 ) × b c b c

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Complexity analysis

pi I update proportionnal to the number of s red facets e b d−1 c I # new facets = O(n 2 )

O I fast locate : insert the points in lexicographic order and attach a facet to conv(Ei) t each point

Pn T (n, d) = O(n log n) + i=1 conv(i, d 1) |d−1 − | d+1 = O(n log n + n n 2 ) = O(n log n + n 2 ) × b c b c

Optimal in even dimensions Can be improved to O(n log n) when d = 3

d The expected complexity can be improved to O(n log n + nb 2 c) by inserting the points in random order (see course 3) The randomized algorithm can be derandomized [Chazelle 1992]

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Delaunay Triangulations

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Simplicial complex A finite collection of simplices C called the faces of C such that

I f C, f is a simplex ∀ ∈ I f C, f g g C ∈ ⊂ ⇒ ∈ I f , g C, either f g = or f g C ∀ ∈ ∩ ∅ ∩ ∈

Simplex The convex hull of k + 1 points that are affinely independent is called a k-simplex 1-simplex = line segment, 2-simplex = triangle, 3-simplex = tetrahedron

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Simplex The convex hull of k + 1 points that are affinely independent is called a k-simplex 1-simplex = line segment, 2-simplex = triangle, 3-simplex = tetrahedron

Simplicial complex A finite collection of simplices C called the faces of C such that

I f C, f is a simplex ∀ ∈ I f C, f g g C ∈ ⊂ ⇒ ∈ I f , g C, either f g = or f g C ∀ ∈ ∩ ∅ ∩ ∈

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations of a finite set of points

A triangulation T ( ) of a finite set of points Rd is a d-simplicial complexP whose vertices are theP points ∈ of and whose domain is conv( ) P P

There exists many triangulations of a given set of points

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Delaunay theorem The Delaunay simplices form a triangulation of , called the of P P

Delaunay triangulation

= p1, p2 ... pn set of points in general positionP { ( d + 1} points on a same sphere) 6 ∃ t is a Delaunay simplex iff a sphere σt s.t.⊂ P ∃ σt (p) = 0 p t ∀ ∈ σt (q) > 0 q t ∀ ∈ P \

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Delaunay triangulation

= p1, p2 ... pn set of points in general positionP { ( d + 1} points on a same sphere) 6 ∃ t is a Delaunay simplex iff a sphere σt s.t.⊂ P ∃ σt (p) = 0 p t ∀ ∈ σt (q) > 0 q t ∀ ∈ P \

Delaunay theorem The Delaunay simplices form a triangulation of , called the Delaunay triangulation of P P

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Proof of Delaunay’s th.

t a simplex, σt its circumscribing sphere

t Del( ) i, pˆ h+ ∈ P ⇔ ∀ i ∈ σt ˆt is a face of conv−( ˆ) ⇔ P

Del( ) = proj(conv−( ˆ)) P P

Proof of the theorem Linearization σ(x) = x 2 2c x + s, s = c2 r 2 − · −

P  z < 2c x + s (h−) σ(x) < 0 · σ ⇔ z = x 2 ( ) h(σ) P xˆ = (x, x 2) h− ⇔ ∈ σ

σ

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Del( ) = proj(conv−( ˆ)) P P

Proof of the theorem Linearization σ(x) = x 2 2c x + s, s = c2 r 2 − · −

P  z < 2c x + s (h−) σ(x) < 0 · σ ⇔ z = x 2 ( ) h(σ) P xˆ = (x, x 2) h− ⇔ ∈ σ

Proof of Delaunay’s th. σ t a simplex, σt its circumscribing sphere

t Del( ) i, pˆ h+ ∈ P ⇔ ∀ i ∈ σt ˆt is a face of conv−( ˆ) ⇔ P

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Proof of the theorem Linearization σ(x) = x 2 2c x + s, s = c2 r 2 − · −

 z < 2c x + s (h−) σ(x) < 0 · σ ⇔ z = x 2 ( ) P xˆ = (x, x 2) h− ⇔ ∈ σ

Proof of Delaunay’s th.

t a simplex, σt its circumscribing sphere

t Del( ) i, pˆ h+ ∈ P ⇔ ∀ i ∈ σt ˆt is a face of conv−( ˆ) ⇔ P

Del( ) = proj(conv−( ˆ)) P P

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations 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

Hence, by the Upper Bound Theorem [Mc Mullen 1970]  b d+1 c it is Θ n 2

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Algorithm for constructing DT

Input : a set of n points of Rd P 2 d+1 1 Lift the points of onto the paraboloid xd+1 = x of R : P p pˆ = (p , p2) i → i i i 2 Compute conv( pˆi ) { } − d 3 Project the lower hull conv ( pˆi ) onto R { }

b d+1 c Complexity : Θ(n log n + n 2 )

Main predicate p4 p0

insphere(p0,..., pd+1) = orient(pˆ0,..., pˆd+1)

1 ... 1

= sign p0 ... pd+1

p2 ... p2 p1 p2 0 d+1

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Local characterization

Pair of regular simplices

q q 1 f 2 σ2(q1) 0 and σ1(q2) 0 ≥ ≥ σ2 cˆ h+ and cˆ h+ 1 σ2 2 σ1 σ1 ⇔ ∈ ∈

Theorem A triangulation such that all pairs of simplexes are regular is a Delaunay triangulation

Proof The PL function whose graph is obtained by lifting the triangles is locally convex and has a convex support

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Optimality properties of the Delaunay triangulation

Among all possible triangulations of , Del( ) P P 1. maximizes the smallest angle (in the plane) [Lawson]

2. minimizes the radius of the maximal smallest ball enclosing a simplex ) [Rajan]

3. minimizes the roughness (Dirichlet’s energy) [Rippa]

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Optimizing the angular vector (d = 2)

Angular vector of a triangulation T ( ) P ang (T ( )) = (α , . . . , α ), α ... α P 1 3t 1 ≤ ≤ 3t

Optimality Any triangulation of a given point set whose angular vector is maximal (for lexicographic order) is aP Delaunay triangulation of P Affects matrix conditioning in FE methods

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Regularize improve ang (T ( )) ⇔ P ang (t1, t2) ang (t3, t4) ≥ a1 = a3 + a4, d2 = d3 + d4, c1 d3, b1 d4, b2 a4, c2 a3 ≥ ≥ ≥ ≥

I The algorithm terminates since the number of triangulations of is finite and ang(T ( )) cannot decrease P P I The obtained triangulation is a Delaunay triangulation of P I If a triangulation of maximixes the angular vector, all its edges are regular; hence,P it is a DT of P

Constructive proof using flips

c c c c2 d 4 d While a non regular pair (t , t ) c1 d4 3 4 d2 t 4 d3 ∃ t2

t1 a4 /* t3 t4 is convex */ a1 t a a a3 3 ∪ b b1 2 b3 replace (t3, t4) by (t1, t2) b b

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Constructive proof using flips

c c c c2 d 4 d While a non regular pair (t , t ) c1 d4 3 4 d2 t 4 d3 ∃ t2

t1 a4 /* t3 t4 is convex */ a1 t a a a3 3 ∪ b b1 2 b3 replace (t3, t4) by (t1, t2) b b

Regularize improve ang (T ( )) ⇔ P ang (t1, t2) ang (t3, t4) ≥ a1 = a3 + a4, d2 = d3 + d4, c1 d3, b1 d4, b2 a4, c2 a3 ≥ ≥ ≥ ≥

I The algorithm terminates since the number of triangulations of is finite and ang(T ( )) cannot decrease P P I The obtained triangulation is a Delaunay triangulation of P I If a triangulation of maximixes the angular vector, all its edges are regular; hence,P it is a DT of P

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Interpolation error [Waldron 98] If g is the linear interpolation of f over a simplex t,

02 rt f g ∞ ct k − k ≤ 2

ct = bound on the absolute curvature of f in t

Minimizing the maximal min-containment radius [Rajan]

0 rt = radius of the smallest rt ball containing t rt0 c ct = ct0 ct t0 0 Q(T ) = maxt∈T rt

Th. : for a given , for all T ( ), Q(Del( )) Q(T ( )) P P P ≤ P

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Minimizing the maximal min-containment radius [Rajan]

0 rt = radius of the smallest rt ball containing t rt0 c ct = ct0 ct t0 0 Q(T ) = maxt∈T rt

Th. : for a given , for all T ( ), Q(Del( )) Q(T ( )) P P P ≤ P

Interpolation error [Waldron 98] If g is the linear interpolation of f over a simplex t,

02 rt f g ∞ ct k − k ≤ 2

ct = bound on the absolute curvature of f in t

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Minimizing the maximal min-containment radius

rt 0 0 rt0 maxt∈Del rt∈T maxt∈T rt c ≤ ct = ct0 ct t0

Proof 2 2 σt (x) = x ct r , σ (x) = σt (x) if x t T k − k − t T ∈ ⊂

1. x conv( ): 0 > σDel(x) σ (x) see next slide ∀ ∈ P ≥ T 02 0 2 2 02 2. minx∈t σt (x) = r if ct t : σt (x) c ct r = r − t ⇐ 6∈ ≥ k t − k − t − t 3. xT = arg min σT (x), xDel = arg min σDel(x) 02 02 σ (x ) = r σ (xDel) σDel(xDel) = r T T − T ≤ T ≤ − Del

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Proof of 1 : 0 > σDel(x) σT (x) ≥

2 2 2 σt (x) = x 2ct x + s (s = ct rt ) = f (x−) g(·x) − P − 2 h(σ) where f (x) = x and gt (x) = 2ct x s · −

Geometric interpretation

σt (x) maximal σ gt (x) minimal ⇔ t = hσ supports conv( ˆ) ⇔ G t P σt is empty ⇔ t Del( ) ⇔ ∈ P

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Proof of 1 : 0 > σDel(x) σT (x) ≥

2 2 2 σt (x) = x 2ct x + s (s = ct rt ) = f (x−) g(·x) − P − 2 h(σ) where f (x) = x and gt (x) = 2ct x s · −

Geometric interpretation

σt (x) maximal σ gt (x) minimal ⇔ t = hσ supports conv( ˆ) ⇔ G t P σt is empty ⇔ t Del( ) ⇔ ∈ P

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Minimum roughness of Delaunay triangulations

2 Input : n points p1, ...pn of R and for each pj a real fj

Roughness of a triangulation T ( ) : P  2  2 R(T ) = P R ∂φi + ∂φi dx dy i Ti ∂x ∂y φ = linear interpolation of the f over triangle T T i j i ∈

Theorem (Rippa) Among all possible triangulations of , Del( ) is one with minimum roughness P P

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Voronoi Diagrams

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Euclidean Voronoi diagrams

Voronoi cell V (p ) = x : x p x p , j i { k − i k ≤ k − j k ∀ }

Voronoi diagram ( )= cell complex whose cells are the V (pi ) P and{ their faces, p i ∈ P }

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations arg min(δi ) = arg max(hi ) 2 where hpi (x) = 2 pi · x − pi

The minimization diagram of the δi is also the maximization diagram of the affine functions hi (x)

The faces of Vor(P) are the projection of T + the faces of V(P) = i hpi + 2 hpi = {x : xd+1 > 2pi · x − pi }

Note ! 2 2 hp (x) = 0 is the hyperplane tangent to : x + = x at (x, x ) i Q d 1

Voronoi diagrams and polytopes

1 2 3 4 Vor(p1,..., pn) is the minimization diagram of the 2 n functions δi (x) = (x − pi )

1 2 1 3 4

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations The faces of Vor(P) are the projection of T + the faces of V(P) = i hpi + 2 hpi = {x : xd+1 > 2pi · x − pi }

Note ! 2 2 hp (x) = 0 is the hyperplane tangent to : x + = x at (x, x ) i Q d 1

Voronoi diagrams and polytopes

1 2 3 4 Vor(p1,..., pn) is the minimization diagram of the 2 n functions δi (x) = (x − pi )

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

The minimization diagram of the δi is also the maximization diagram of the affine functions hi (x)

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Note ! 2 2 hp (x) = 0 is the hyperplane tangent to : x + = x at (x, x ) i Q d 1

Voronoi diagrams and polytopes

1 2 3 4 Vor(p1,..., pn) is the minimization diagram of the 2 n functions δi (x) = (x − pi )

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

The minimization diagram of the δi is also the maximization diagram of the affine functions hi (x)

The faces of Vor(P) are the projection of T + the faces of V(P) = i hpi + 2 hpi = {x : xd+1 > 2pi · x − pi }

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Voronoi diagrams and polytopes

1 2 3 4 Vor(p1,..., pn) is the minimization diagram of the 2 n functions δi (x) = (x − pi )

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

The minimization diagram of the δi is also the maximization diagram of the affine functions hi (x)

The faces of Vor(P) are the projection of T + the faces of V(P) = i hpi + 2 hpi = {x : xd+1 > 2pi · x − pi }

Note ! 2 2 hp (x) = 0 is the hyperplane tangent to : x + = x at (x, x ) i Q d 1 Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Dual triangulation

+ + − ( ) = h ... h ( ) = conv ( φ(p ), . . . , φ(pn) ) V P p1 ∩ ∩ pn ←→ D P { 1 } Voronoi Diagraml of Delaunay Triangulation l of P ←→ P

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Affine Diagrams

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Motivations

I To extend Voronoi diagrams to spheres (or weighted points)

I molecular biology : how to compute a union of balls ? I sampling theory : the offset of a set of points captures topological information on the sapled object (see Course F. Chazal) I to improve the quality of a mesh (see Course M. Yvinec)

I To characterize the class of affine diagrams

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Power diagrams of spheres

Power of a point to a sphere t

2 2 2 σ σ(x) = (x t) = (x c) r c − − − σ(x) < 0 x int(σ) ⇐⇒ ∈ x

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Bisector of two spheres = hyperplane

σ (x) = σ (x) x2 2c x + s = x2 2c x + s i j ⇐⇒6 − i · i 6 − j · j

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Note !

I Lag(σi ) may be empty

I ci may not belong to Lag(σi )

Laguerre (power) diagram

Sites : a set of n spheres σ , . . . , σn S 1 Distance of a point x to σi σ (x) = (x c )2 r 2 i − i − i Lag( ) is the cell complex whoseS cells are the Lag(σ ) = x : σ (x) σ (x), j i { i ≤ j ∀ }

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Laguerre (power) diagram

Sites : a set of n spheres σ , . . . , σn S 1 Distance of a point x to σi σ (x) = (x c )2 r 2 i − i − i Lag( ) is the cell complex whoseS cells are the Lag(σ ) = x : σ (x) σ (x), j i { i ≤ j ∀ }

Note !

I Lag(σi ) may be empty

I ci may not belong to Lag(σi )

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Laguerre diagrams and polytopes

2 2 σi (x) = (x − ci ) − ri 2 2 hσi (x) = 2 ci · x − ci + ri

2 2 arg min σi (x) = arg min((x − ci ) − ri )

= arg max(hσi (x)) 2 2 hσi (x) = 2 ci · x − ci + ri )

Lag(S) is the minimization diagram of the σi ⇔ the maximization diagram

of the affine functions hσi (x)

I The faces of Lag( ) are the vertical projections of the faces of ( ) = T h+ S L S i σi

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Space of spheres P

h(σ) σ hypersphere of Rd point σˆ = (c, s = c2 r 2) Rd+1 → − =∈ ˆ∗ d+1 the polar hyperplane hσ σ R : σ → ⊂ x + = 2c x s d 1 · −

1. The spheres of radius 0 are mapped onto the paraboloid 2 : x + = x Q d 1

2. The vertical projection of hσ onto x + = 0 is σ i ∩ Q d 1 i 3. σ(x) = x 2 2c x + s is the (signed) vertical distance from the lift − · of x onto hσ to the lift xˆ of x onto Q 4. σ(x) < 0 xˆ = (x, x 2) h− ⇔ ∈ σ

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations P

h(σ)

σ

Orthogonality

d(σ , σ ) = 0 (c c )2 = r 2 + r 2 1 2 ⇔ 1 − 2 1 2 σ σ (Pythagore) ⇔ 1 ⊥ 2 In the space of spheres

2 2 2 d(σ1, σ2) = 0 s2 = 2 c1 c2 c1 σˆ2 hσ1 (si = ci ri ) ⇔ · − ⇔ ∈ h− − < < σ1

Orthogonality between spheres

A distance between spheres q d(σ , σ ) = (c c )2 r 2 r 2 1 2 1 − 2 − 1 − 2

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations P

h(σ)

σ

In the space of spheres

2 2 2 d(σ1, σ2) = 0 s2 = 2 c1 c2 c1 σˆ2 hσ1 (si = ci ri ) ⇔ · − ⇔ ∈ h− − < < σ1

Orthogonality between spheres

A distance between spheres q d(σ , σ ) = (c c )2 r 2 r 2 1 2 1 − 2 − 1 − 2 Orthogonality

d(σ , σ ) = 0 (c c )2 = r 2 + r 2 1 2 ⇔ 1 − 2 1 2 σ σ (Pythagore) ⇔ 1 ⊥ 2

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Orthogonality between spheres P

h(σ) A distance between spheres q 2 2 2 d(σ , σ ) = (c c ) r r σ 1 2 1 − 2 − 1 − 2 Orthogonality

d(σ , σ ) = 0 (c c )2 = r 2 + r 2 1 2 ⇔ 1 − 2 1 2 σ σ (Pythagore) ⇔ 1 ⊥ 2 In the space of spheres

2 2 2 d(σ1, σ2) = 0 s2 = 2 c1 c2 c1 σˆ2 hσ1 (si = ci ri ) ⇔ · − ⇔ ∈ h− − < < σ1

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations The vertical projection of the dual complex ( ) of ( ) is called the regular triangulation of R S L S S

+ + − ( ) = h ... h ( ) = conv ( σˆ1,..., σˆn ) L S σ1 ∩ ∩ σn ←→ R S { } Laguerre diagraml of Laguerre triangulation l of S ←→ S ∗ 2 2 d+1 (σˆi = hσ = (ci , c r ) R ) i i − i ∈

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations = σ , ...σn where σ is the sphere of center c and radius r S { 1 } i i i = c , ..., cn P { 1 } Characteristic property t is a simplex of the regular triangulation of ⊂ P S iff there exists a sphere σt s.t.

I d(σt , σ ) = 0 c t (σt = orthosphere of t) i ∀ i ∈ I d(σt , σ ) > 0 c t j ∀ j ∈ P \

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Regular triangulation

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Regular triangulation

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Regular triangulation

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Main predicate

1 ... 1

power test(σ0, . . . , σd+1) = sign c0 ... cd+1

c2 r 2 ... c2 r 2 0 − 0 d+1 − d+1

Complexity and algorithm

 b d+1 c nb of faces = Θ n 2 (Upper Bound Th.)

 b d+1 c can be computed in time Θ n log n + n 2

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Complexity and algorithm

 b d+1 c nb of faces = Θ n 2 (Upper Bound Th.)

 b d+1 c can be computed in time Θ n log n + n 2

Main predicate

1 ... 1

power test(σ0, . . . , σd+1) = sign c0 ... cd+1

c2 r 2 ... c2 r 2 0 − 0 d+1 − d+1

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations I Voronoi and Laguerre diagrams are affine diagrams d I Any affine of R is the Laguerre diagram of a set of spheres of Rd I Delaunay and Laguerre triangulations are regular triangulations

I Any regular triangulation is a Laguerre triangulation, i.e. dual to a Laguerre diagram

Affine diagrams and regular subdivisions

Definition Affine diagrams are defined as the maximization diagrams of a finite set of affine functions They are also called regular subdvisions

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Affine diagrams and regular subdivisions

Definition Affine diagrams are defined as the maximization diagrams of a finite set of affine functions They are also called regular subdvisions

I Voronoi and Laguerre diagrams are affine diagrams d I Any affine Voronoi diagram of R is the Laguerre diagram of a set of spheres of Rd I Delaunay and Laguerre triangulations are regular triangulations

I Any regular triangulation is a Laguerre triangulation, i.e. dual to a Laguerre diagram

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations 2. A Voronoi diagram with the following quadratic distance function x a = (x a)t Q(x a) Q = Qt k − kQ − − 3. k-th order Voronoi diagrams

Examples of affine diagrams

1. The intersection of a power diagram with an affine subspace

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations 3. k-th order Voronoi diagrams

Examples of affine diagrams

1. The intersection of a power diagram with an affine subspace 2. A Voronoi diagram with the following quadratic distance function x a = (x a)t Q(x a) Q = Qt k − kQ − −

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Examples of affine diagrams

1. The intersection of a power diagram with an affine subspace 2. A Voronoi diagram with the following quadratic distance function x a = (x a)t Q(x a) Q = Qt k − kQ − − 3. k-th order Voronoi diagrams

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Order k Voronoi Diagrams

Order 2 Voronoi Diagram

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Combinatorial complexity The number of vertices and faces of the k first Voronoi diagrams is  d d+1 e b d+1 c O k 2 n 2

A k-order Voronoi diagram is a power diagram Let , ,... denote the subsets of k points of P1 P2 P 1 X 2 X 1 X σ (x) = (x p )2 = x2 p x + p2 i k − j − k j · k j j∈Pi j∈Pi j∈Pi The k nearest neighbors of x are the points of iff Pi j, σ (x) σ (x) ∀ i ≤ j 1 Pk σi is the sphere centered at k j=1 pij σ (0) = 1 Pk p2 k k j=1 ij

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations A k-order Voronoi diagram is a power diagram Let , ,... denote the subsets of k points of P1 P2 P 1 X 2 X 1 X σ (x) = (x p )2 = x2 p x + p2 i k − j − k j · k j j∈Pi j∈Pi j∈Pi The k nearest neighbors of x are the points of iff Pi j, σ (x) σ (x) ∀ i ≤ j 1 Pk σi is the sphere centered at k j=1 pij σ (0) = 1 Pk p2 k k j=1 ij

Combinatorial complexity The number of vertices and faces of the k first Voronoi diagrams is  d d+1 e b d+1 c O k 2 n 2

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Molecules

d I The union of n balls of R can be represented as a subcomplex of the regular triangulation called the alpha-shape b d+1 c I It can be computed in time Θ(n log n + n 2 )

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Molecules

d I The union of n balls of R can be represented as a subcomplex of the regular triangulation called the alpha-shape b d+1 c I It can be computed in time Θ(n log n + n 2 )

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Interfaces entre proteines´ [Cazals & Janin 2006]

Interface antigene-anticorps`

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Bregman divergences F a strictly convex and differentiable function defined over a convex set X D (p, q) = F(p) F(q) p q, ∇ (q) F − − h − F i

F

pˆ DF (p q) qˆ ||

Hq

X q p

Not a distance but D (x, y) 0 and D (x, y) = 0 x = y F ≥ F ⇐⇒ Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations P I F(p) = p(x) log2 p(x) (Shannon entropy) P p(x) DF (p, q) = x p(x) log2 q(x) (K-L divergence)

P I F(p) = log p(x) (Burg entropy) − x D (p, q) = P ( p(x) log p(x) 1) (Itakura-Saito) F x q(x) q(x) −

Examples

2 I F(x) = x : Squared

D (p, q) = F(p) F(q) p q, ∇ (q) F − − h − F i = p2 q2 p q, 2q = p q 2 − − h − i k − k

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations P I F(p) = log p(x) (Burg entropy) − x D (p, q) = P ( p(x) log p(x) 1) (Itakura-Saito) F x q(x) q(x) −

Examples

2 I F(x) = x : Squared Euclidean distance

D (p, q) = F(p) F(q) p q, ∇ (q) F − − h − F i = p2 q2 p q, 2q = p q 2 − − h − i k − k

P I F(p) = p(x) log2 p(x) (Shannon entropy) P p(x) DF (p, q) = x p(x) log2 q(x) (K-L divergence)

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Examples

2 I F(x) = x : Squared Euclidean distance

D (p, q) = F(p) F(q) p q, ∇ (q) F − − h − F i = p2 q2 p q, 2q = p q 2 − − h − i k − k

P I F(p) = p(x) log2 p(x) (Shannon entropy) P p(x) DF (p, q) = x p(x) log2 q(x) (K-L divergence)

P I F(p) = log p(x) (Burg entropy) − x D (p, q) = P ( p(x) log p(x) 1) (Itakura-Saito) F x q(x) q(x) −

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Bisectors

D (p, q) = F(p) F(q) p q, ∇ (q) F − − h − F i Two types of bisectors

Hpq : DF (x, p) = DF (x, q)(hyperplane) ∗ Hpq : DF (p, x) = DF (q, x)(hypersurface)

Bregman diagrams

I Accordingly, we can define two types of Bregman diagrams 0 0 I By Legendre duality : DF (x, y) = DF ∗ (y , x )

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Since arg min(D (x, p )) = arg max(h (x) = x p , p0 F(p )) F i i h − i i i − i the Bregman diagram of the first type of a set of n points pi is affine P

The 2nd type Bregman diagram of is the (curved) P minimization diagram of the n functions DF (pi , x), i = 1,..., n

Bregman Voronoi diagrams

The 1st type Bregman diagram of = p ,..., pn is the P { 1 } minimization diagram of the n functions DF (x, pi ), i = 1,..., n

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations The 2nd type Bregman diagram of is the (curved) P minimization diagram of the n functions DF (pi , x), i = 1,..., n

Bregman Voronoi diagrams

The 1st type Bregman diagram of = p ,..., pn is the P { 1 } minimization diagram of the n functions DF (x, pi ), i = 1,..., n

Since arg min(D (x, p )) = arg max(h (x) = x p , p0 F(p )) F i i h − i i i − i the Bregman diagram of the first type of a set of n points pi is affine P

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Bregman Voronoi diagrams

The 1st type Bregman diagram of = p ,..., pn is the P { 1 } minimization diagram of the n functions DF (x, pi ), i = 1,..., n

Since arg min(D (x, p )) = arg max(h (x) = x p , p0 F(p )) F i i h − i i i − i the Bregman diagram of the first type of a set of n points pi is affine P

The 2nd type Bregman diagram of is the (curved) P minimization diagram of the n functions DF (pi , x), i = 1,..., n

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations DF (x, pi ) ≤ DF (x, pj ) 0 0 ⇐⇒ −F(pi ) − hx − pi , pi i) ≤ −F(pj ) − hx − pj , pj i) 0 0 0 0 ⇐⇒ hx, xi − 2hx, pi i − 2F(pi ) + 2hpi , pi i ≤ hx, xi − 2hx, pj i − 2F(pj ) + 2hpj , pj i 0 0 2 0 0 2 ⇐⇒ hx − pi , x − pi i − ri ≤ hx − pj , x − pj i − rj

2 0 0 0 where rl = hpl , pl i + 2(F(pl ) − hpl , pl i)

Bregman Voronoi diagrams from Laguerre diagramms

The 1st type Bregman Voronoi diagram of n sites of is identical to the Laguerre diagram of n Euclidean hyperspheresX 0 centered at the pi

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Bregman Voronoi diagrams from Laguerre diagramms

The 1st type Bregman Voronoi diagram of n sites of is identical to the Laguerre diagram of n Euclidean hyperspheresX 0 centered at the pi

DF (x, pi ) ≤ DF (x, pj ) 0 0 ⇐⇒ −F(pi ) − hx − pi , pi i) ≤ −F(pj ) − hx − pj , pj i) 0 0 0 0 ⇐⇒ hx, xi − 2hx, pi i − 2F(pi ) + 2hpi , pi i ≤ hx, xi − 2hx, pj i − 2F(pj ) + 2hpj , pj i 0 0 2 0 0 2 ⇐⇒ hx − pi , x − pi i − ri ≤ hx − pj , x − pj i − rj

2 0 0 0 where rl = hpl , pl i + 2(F(pl ) − hpl , pl i)

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Bregman spheres σ(c, r) = x D (x, c) = r { ∈ X | F }

Lemma F The lifted image σˆ onto of a Bregman F sphere σ is contained in a hyperplane Hσ pˆ DF (p q) qˆ || Conversely, the intersection of any Hq hyperplane H with projects vertically F onto a Bregman sphere X q p

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations 1st and 2nd types Bregman balls

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Characteristic property

The Bregman sphere circumscribing any simplex of BTF ( ) does not enclose any point of P P

Bregman triangulations

ˆ : the lifted image of onto the graph of F P P F the lower convex hull of ˆ T P

The vertical projection of is called the Bregman triangulation BT ( ) of T F P P

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Bregman triangulations

ˆ : the lifted image of onto the graph of F P P F the lower convex hull of ˆ T P

The vertical projection of is called the Bregman triangulation BT ( ) of T F P P Characteristic property

The Bregman sphere circumscribing any simplex of BTF ( ) does not enclose any point of P P

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Primal space Gradient space

1st type BVD( ) = Laguerre diagram of ( 0) P P

l ∗ geodesic BT ( ) regular triangulation of ( 0) P ↔ P

l BT ( ) P

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations (a) Ordinary Delaunay (b) Exponential loss (c) Hellinger-like divergence

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations Properties of Bregman triangulations

I BT ( ) is the geometric dual of BD( ) P P

I Characteristic property : The Bregman sphere circumscribing any simplex of BT ( ) is empty P

I Optimality : BT ( ) = min maxτ∈ r(τ) P T ∈T (P) T (r(τ) = radius of the smallest Bregman ball containing τ) [Rajan]

Winter School on Algorithmic Geometry Convex Hulls, Voronoi Diagrams and Delaunay Triangulations