• Aucun résultat trouvé

Voronoi Diagrams, Delaunay Triangulations and Polytopes

N/A
N/A
Protected

Academic year: 2022

Partager "Voronoi Diagrams, Delaunay Triangulations and Polytopes"

Copied!
67
0
0

Texte intégral

(1)

Voronoi Diagrams, Delaunay Triangulations and Polytopes

Jean-Daniel Boissonnat

MPRI, Lecture 2

(2)

Voronoi diagrams in nature

(3)

The solar system (Descartes)

(4)

Growth of merystem

(5)

Euclidean Voronoi diagrams

Voronoi cell V(pi) ={x:kx−pik ≤ kx−pjk, ∀j}

Voronoi diagram(P) ={collection of all cellsV(pi),pi ∈P}

(6)

Voronoi diagrams and polytopes

Polytope

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

i∈I h+i

Each Voronoi cell is a polytope

The Voronoi diagram has the structure of acellcomplex

The Voronoi diagram ofPis the projection of a polytope ofRd+1

(7)

Voronoi diagrams and polytopes

Polytope

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

i∈I h+i

Each Voronoi cell is a polytope

The Voronoi diagram has the structure of acellcomplex

The Voronoi diagram ofPis the projection of a polytope ofRd+1

(8)

Voronoi diagrams and polytopes

Polytope

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

i∈I h+i

Each Voronoi cell is a polytope

The Voronoi diagram has the structure of acellcomplex

The Voronoi diagram ofPis the projection of a polytope ofRd+1

(9)

Voronoi diagrams and polytopes

Polytope

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

i∈I h+i

Each Voronoi cell is a polytope

The Voronoi diagram has the structure of acellcomplex

The Voronoi diagram ofPis the projection of a polytope ofRd+1

(10)

Voronoi diagrams and polyhedra

Vor(p1, . . . ,pn)is theminimization diagram of thenfunctionsδi(x) = (xpi)2

arg min(δi) =arg max(hi) wherehpi(x) =2pi·xp2i

The minimization diagram of theδiis also the maximization diagram of theaffine functionshpi(x)

The faces of Vor(P)are the projections of the faces ofV(P) =T

i h+pi h+pi ={x:xd+1>2pi·xp2i}

pi

z= (xpi)2

Note !

(11)

Voronoi diagrams and polyhedra

Vor(p1, . . . ,pn)is theminimization diagram of thenfunctionsδi(x) = (xpi)2

arg min(δi) =arg max(hi) wherehpi(x) =2pi·xp2i

The minimization diagram of theδiis also the maximization diagram of theaffine functionshpi(x)

The faces of Vor(P)are the projections of the faces ofV(P) =T

i h+pi h+pi ={x:xd+1>2pi·xp2i}

pi

z= (xpi)2

Note !

(12)

Voronoi diagrams and polyhedra

Vor(p1, . . . ,pn)is theminimization diagram of thenfunctionsδi(x) = (xpi)2

arg min(δi) =arg max(hi) wherehpi(x) =2pi·xp2i

The minimization diagram of theδiis also the maximization diagram of theaffine functionshpi(x)

The faces of Vor(P)are the projections of the faces ofV(P) =T

i h+pi h+pi ={x:xd+1>2pi·xp2i}

Note !

(13)

Voronoi diagrams and polyhedra

Vor(p1, . . . ,pn)is theminimization diagram of thenfunctionsδi(x) = (xpi)2

arg min(δi) =arg max(hi) wherehpi(x) =2pi·xp2i

The minimization diagram of theδiis also the maximization diagram of theaffine functionshpi(x)

The faces of Vor(P)are the projections of the faces ofV(P) =T

i h+pi

h+pi ={x:xd+1>2pi·xp2i}

Note !

(14)

Voronoi diagrams and polyhedra

Vor(p1, . . . ,pn)is theminimization diagram of thenfunctionsδi(x) = (xpi)2

arg min(δi) =arg max(hi) wherehpi(x) =2pi·xp2i

The minimization diagram of theδiis also the maximization diagram of theaffine functionshpi(x)

The faces of Vor(P)are the projections of the faces ofV(P) =T

i h+pi

h+pi ={x:xd+1>2pi·xp2i}

Note !

(15)

Voronoi diagrams and polytopes

Lifting map

The faces ofVor(P)are the projection of the faces of the polytope V(P) =T

i h+pi

wherehpi is the hyperplane tangent to paraboloidQat the lifted point(pi,p2i)

Corollaries

I The size ofVor(P)is the same as the size ofV(P)

I ComputingVor(P)reduces to computingV(P)

(16)

Voronoi diagrams and polytopes

Lifting map

The faces ofVor(P)are the projection of the faces of the polytope V(P) =T

i h+pi

wherehpi is the hyperplane tangent to paraboloidQat the lifted point(pi,p2i)

Corollaries

I The size ofVor(P)is the same as the size ofV(P)

I ComputingVor(P)reduces to computingV(P)

(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∈Hh+i

(18)

Facial structure of a polytope

Supporting hyperplaneh: H∩ P 6=∅

P on one side ofh Faces:P ∩h,hsupp. hyp.

Dimension of a face: the dim. of its affine hull

(19)

General position

Points in general position

I Pis in general position iff no subset ofk+2points lie in ak-flat

IfPis in general position, all faces ofconv(P)are simplices Hyperplanes in general position

I His in general position iff the intersection of any subset ofdk hyperplanes intersect in ak-flat

anyk-face is the intersection ofdkhyperplanes

(20)

General position

Points in general position

I Pis in general position iff no subset ofk+2points lie in ak-flat

IfPis in general position, all faces ofconv(P)are simplices

Hyperplanes in general position

I His in general position iff the intersection of any subset ofdk hyperplanes intersect in ak-flat

anyk-face is the intersection ofdkhyperplanes

(21)

General position

Points in general position

I Pis in general position iff no subset ofk+2points lie in ak-flat

IfPis in general position, all faces ofconv(P)are simplices

Hyperplanes in general position

I His in general position iff the intersection of any subset ofdk hyperplanes intersect in ak-flat

anyk-face is the intersection ofdkhyperplanes

(22)

Duality between points and hyperplanes

hyperplane ofRd h:xd =a·x0b −→ point h= (a,b)Rd

point p= (p0,pd)Rd −→ hyperplane pRd

={(a,b)Rd:b=p0·apd}

Duality

I preserves incidences:

ph ⇐⇒ pd =a·p0b⇐⇒b=p0·apd⇐⇒h p ph+ ⇐⇒ pd >a·p0b⇐⇒b>p0·apd⇐⇒h p∗+

(23)

Duality between points and hyperplanes

hyperplane ofRd h:xd =a·x0b −→ point h= (a,b)Rd

point p= (p0,pd)Rd −→ hyperplane pRd

={(a,b)Rd:b=p0·apd}

Duality

I preserves incidences:

ph ⇐⇒ pd =a·p0b⇐⇒b=p0·apd⇐⇒h p ph+ ⇐⇒ pd >a·p0b⇐⇒b>p0·apd⇐⇒h p∗+

(24)

Duality between polytopes

Leth1, . . . ,hn benhyperplanes ofRdand letH=h+i

ss

h1

h2 *

h3

h3

h2 h1

A vertexsofHis ¯the intersection ofkd hyperplanesh1, . . . ,hklying above all the other hyperplanes

=sis a hyperplane that 1. containsh1, . . . ,hk

2. supports H= conv(h1, . . . ,hk)

(25)

More generally and under the general position assumption, Letf be a(d−k)-face ofH and aff(f) =∩ki=1hi

pf hi p for i=1, . . . ,k hi p∗+ for i=k+1, . . . ,n

psupport. hyp. of H=conv(h1, . . . ,hn) p3h1, . . . ,hk

f=conv(h1, . . . ,hk) is a (k1)face of H

Duality between HandH

The correspondence between the faces ofHandH isinvolutive and therefore bijective

(26)

More generally and under the general position assumption, Letf be a(d−k)-face ofH and aff(f) =∩ki=1hi

pf hi p for i=1, . . . ,k hi p∗+ for i=k+1, . . . ,n

psupport. hyp. of H=conv(h1, . . . ,hn) p3h1, . . . ,hk

f=conv(h1, . . . ,hk) is a (k1)face of H

Duality between HandH

The correspondence between the faces ofHandH isinvolutive and therefore bijective

(27)

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 ofn upper half-spaces

We will compute the convex hull ofnpoints By duality, the results extend to the dual case

(28)

Euler formula for 3-polytopes

The numbers of verticess, edgesaand facetsf of a polytope ofR3 satisfy

s−a+f =2 Schlegel diagram

s=s0 a0=a+ 1

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

(29)

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

(30)

Beyond the 3rd dimension

Upper bound theorem [McMullen 1970]

IfHis the intersection ofnhalf-spaces ofRd nb faces of H= Θ(nbd2c)

Hyperplanes in general position

I anyk-face is the intersection ofdkhyperplanes definingH

I all vertices ofHare incident todedges and have distinctxd

the convex hull of < edges incident to a vertex

(31)

Beyond the 3rd dimension

Upper bound theorem [McMullen 1970]

IfHis the intersection ofnhalf-spaces ofRd nb faces of H= Θ(nbd2c)

Hyperplanes in general position

I anyk-face is the intersection ofdkhyperplanes definingH

I all vertices ofHare incident todedges and have distinctxd

the convex hull of < edges incident to a vertex

(32)

Proof of the upper bound theorem

Bounding the number of vertices

1 ≥ dd2eedges incident to a vertexpare inh+p :xdxd(p)or inhp

pis axd-max orxd-min vertex of at least onedd2e-face ofH

# vertices ofH ≤2×#dd2e-faces ofH

2 Ak-face is the intersection ofdkhyperplanes definingH

#k-faces= n

dk

=O(nd−k)

#dd2e-faces=O(nbd2c)

Bounding the total number of faces

The number of faces incident topdepends ondbut not onn

(33)

Proof of the upper bound theorem

Bounding the number of vertices

1 ≥ dd2eedges incident to a vertexpare inh+p :xdxd(p)or inhp

pis axd-max orxd-min vertex of at least onedd2e-face ofH

# vertices ofH ≤2×#dd2e-faces ofH

2 Ak-face is the intersection ofdkhyperplanes definingH

#k-faces= n

dk

=O(nd−k)

#dd2e-faces=O(nbd2c)

Bounding the total number of faces

The number of faces incident topdepends ondbut not onn

(34)

Proof of the upper bound theorem

Bounding the number of vertices

1 ≥ dd2eedges incident to a vertexpare inh+p :xdxd(p)or inhp

pis axd-max orxd-min vertex of at least onedd2e-face ofH

# vertices ofH ≤2×#dd2e-faces ofH

2 Ak-face is the intersection ofdkhyperplanes definingH

#k-faces= n

dk

=O(nd−k)

#dd2e-faces=O(nbd2c)

Bounding the total number of faces

The number of faces incident topdepends ondbut not onn

(35)

Representation of a convex hull

Adjacency graph (AG) of the facets

In general position, all the facets are(d−1)-simplexes

Vertex

Face* v face Face

Vertex* vertex[d]

Face* neighbor[d]

i f

neighbor(ccw(i)) cw(i)

neighbor(i) ccw(i)

neighbor(cw(i))

(36)

Incremental algorithm

Pi : set of theipoints that have been inserted first

conv(Pi): convex hull at stepi O

pi

conv(Ei) e s

t

f = [p1, ...,pd]is aredfacet iff its supporting hyperplane separatespi fromconv(Pi)

⇐⇒orient(p1, ...,pd,pi)×orient(p1, ...,pd,O)<0

orient(p ,p , ...,p ) =

1 1 ... 1 =

1 1 ... 1

x01 x11 ... xd1

.. .. ..

(37)

Update of conv( P

i

)

redfacet = facet whose supporting hyperplane separates oandpi+1

horizon:(d−2)-faces shared by a blue and a red facet Updateconv(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

(38)

Update of conv( P

i

)

redfacet = facet whose supporting hyperplane separates oandpi+1

horizon:(d−2)-faces shared by a blue and a red facet Updateconv(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

(39)

Complexity analysis

updateproportional to the number of red facets

# new facets=|conv(i,d1)|

=O(ibd−12 c)

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

O

pi

conv(Ei) e s

t

T(n,d) =O(nlogn) +Pn

i=1ibd−12 c)

=O(nlogn+nbd+12 c)

(40)

Complexity analysis

updateproportional to the number of red facets

# new facets=|conv(i,d1)|

=O(ibd−12 c)

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

O

pi

conv(Ei) e s

t

T(n,d) =O(nlogn) +Pn

i=1ibd−12 c)

=O(nlogn+nbd+12 c)

(41)

Lower bound

xi pi= (xi, x2i)

y=x2 conv({pi}) =tri({xi})

the orientation test reduces to 3 comparisons

orient(pi,pj,pk) =

xixj xixk

x2i x2j x2i x2k

= (xixj)(xjxk)(xkxi)

=⇒Lower bound :Ω(nlogn)

(42)

Lower bound for the incremental algorithm

No incremental algorithm can compute the convex hull ofnpoints ofR3 in less thanΩ(n2)

(43)

Randomized incremental algorithm

o: a point insideconv(P)

Pi : the set of the firstiinserted points

conv(Pi): convex hull at stepi O

pi

conv(Ei) e

Conflict graph

bipartite graph{pj} × {facets ofconv(Pi)}

pj†f ⇐⇒ j>i (pj not yet inserted) ∧ f∩opj 6=∅

(44)

Randomized incremental algorithm

o: a point insideconv(P)

Pi : the set of the firstiinserted points

conv(Pi): convex hull at stepi O

pi

conv(Ei) e

Conflict graph

bipartite graph{pj} × {facets ofconv(Pi)}

pj†f ⇐⇒ j>i (pj not yet inserted) ∧ f∩opj 6=∅

(45)

Randomized analysis

Hyp. : points are inserted in random order NotationsR: random sample of sizer ofP F(R) ={subsets ofdpoints ofR}

F0(R) ={elements ofF(R)with0conflict inR}

(i.e. conv(R)) F1(R) ={elements ofF(R)with1conflict inR}

Ci(r,P) =E(|Fi(R)|)

(expectation over all random samplesR⊂ P of sizer)

Lemma

(46)

Randomized analysis

Hyp. : points are inserted in random order NotationsR: random sample of sizer ofP F(R) ={subsets ofdpoints ofR}

F0(R) ={elements ofF(R)with0conflict inR}

(i.e. conv(R)) F1(R) ={elements ofF(R)with1conflict inR}

Ci(r,P) =E(|Fi(R)|)

(expectation over all random samplesR⊂ P of sizer)

Lemma

(47)

Randomized analysis

Hyp. : points are inserted in random order NotationsR: random sample of sizer ofP F(R) ={subsets ofdpoints ofR}

F0(R) ={elements ofF(R)with0conflict inR}

(i.e. conv(R)) F1(R) ={elements ofF(R)with1conflict inR}

Ci(r,P) =E(|Fi(R)|)

(expectation over all random samplesR⊂ P of sizer)

Lemma

(48)

Proof of the lemma : C

1

(r, P ) = C

0

(r, P ) = O(r b

d2

c )

R0 =R\ {p}

f ∈F0(R0)if f ∈F1(R)andp†f (proba= 1r) or f ∈F0(R)andR0 3thedvertices off (proba= r−dr ) 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)

(49)

Randomized analysis 1

Updating the convex hull + memory space

Expected numberN(i)of facets created at stepi N(i) = X

f∈F(P)

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

= d i O

ibd2c

= O(nbd2c−1)

Expected total number of created facets =O(nbd2c)

(50)

Randomized analysis 1

Updating the convex hull + memory space

Expected numberN(i)of facets created at stepi N(i) = X

f∈F(P)

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

= d i O

ibd2c

= O(nbd2c−1)

Expected total number of created facets =O(nbd2c)

(51)

Randomized analysis2

Updating the conflict graph

Cost proportional to the number of faces ofconv(Pi)in conflict withpi+1 and somepj,j>i

N(i,j) =expected number of faces ofconv(Pi)in conflict withpi+1 andpj,j>i Pi+=Pi∪ {pi+1} ∪ {pj}: a random subset ofi+2points ofP

N(i,j) = X

f∈F(P)

proba(f F2(Pi+))× 2

(i+1)(i+2)= 2C2(i+1)

(i+1)(i+2) =O(ibd2c−2)

Expected total cost of updating the conflict graph

n

X

n

X N(i,j) =

n

X(ni)O(ibd2c−2) =O(nlogn+nbd2c)

(52)

Theorem

The convex hull ofnpoints ofRd can be computed in time O(nlogn+nbd2c)usingO(nbd2c)space

The same bounds hold for computing theintersection ofn half-spacesofRd

The randomized algorithm can bederandomized

[Chazelle 1992]

The same results hold forVoronoi diagramsprovided that d→d+1

(53)

Voronoi diagram and Delaunay triangulation

Finite set of pointsP∈Rd

The Delaunay complex is the nerve of the Voronoi diagram

(54)

Empty circumballs

An (open)d-ballBcircumscribing a simplexσ⊂ P is calledemptyif

1 vert(σ)⊂∂B

2 B∩ P =∅

Del(P)is the collection of simplices admitting an empty circumball

(55)

Point sets in general position wrt spheres

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

Theorem [Delaunay 1936]

IfPis in general position wrt spheres, the natural mapping f :vert(DelP)→P

provides a realization ofDel(P)called the Delaunay triangulation ofP.

(56)

Point sets in general position wrt spheres

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

Theorem [Delaunay 1936]

IfPis in general position wrt spheres, the natural mapping f :vert(DelP)→P

provides a realization ofDel(P)called the Delaunay triangulation ofP.

(57)

Proof of Delaunay’s theorem 1

σ h(σ)

P

Linearization

S(x) =x22c·x+s, s=c2r2

S(x)<0

z<2c·xs (hS )

z=x2 (P)

ˆx= (x,x2)hS

(58)

Proof of Delaunay’s theorem 2

Proof of Delaunay’s th.

Pgeneral position wrt spheres

Pˆ in general position σa simplex,Sσits circumscribing sphere

σDel(P)Sσ empty

⇔ ∀i, ˆpih+Sσ

σˆis a face ofconvP)

(59)

Proof of Delaunay’s theorem 2

Proof of Delaunay’s th.

Pgeneral position wrt spheres

Pˆ in general position σa simplex,Sσits circumscribing sphere

σDel(P)Sσ empty

⇔ ∀i, ˆpih+Sσ

σˆis a face ofconvP)

(60)

Duality

V(P) =∩ih+p

i D(P) =conv(ˆP)

(61)

Voronoi diagrams, Delaunay triangulations and polytopes

IfPis in general position wrt spheres :

V(P) =h+p

1∩. . .∩h+p

n

duality

−→ D(P) =conv({ˆp1, . . . ,ˆpn})

↑ ↓

Voronoi DiagramofP nerve−→ Delaunay ComplexofP

(62)

Combinatorial complexity

The combinatorial complexity of the Delaunay triangulation diagram of npoints ofRd is the same as the combinatorial complexity of a convex hull ofnpoints ofRd+1

(63)

Constructing Del(P), P = { p

1

, ..., p

n

} ⊂ R

d

Algorithm

1 Lift the points ofPonto the paraboloidxd+1=x2ofRd+1: piˆpi= (pi,p2i)

2 Computeconv({ˆpi})

3 Project the lower hullconv({ˆpi})ontoRd

Complexity :Θ(nlogn+nbd+12 c)

(64)

Direct algorithm : insertion of a new point p

i

1. Location : find all thed-simplices that conflict withpi i.e. whose circumscribing ball containspi

2. Update :construct the newd-simplices

T

pi

pi pi

(65)

Updating the adjacency graph

We look at thed-simplices to be removed and at their neighbors

Eachd-simplex is considered≤ d(d+1)2 times

Update cost=O(# created and deleted simplices)

=O(# created simplices)

(66)

Exercise : computing the DT of an ε-net

DefinitionLetΩbe a bounded subset ofRdandPa finite point set inΩ.Pis called an(ε, η)-net ofΩif

1 Covering: pΩ, pP, kpxk ≤ε

2 Packing: p,qP,kpqk ≥η

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 ofDel(P)isO(n)for fixedd

(67)

Exercise : computing the DT of an ε-net

DefinitionLetΩbe a bounded subset ofRdandPa finite point set inΩ.Pis called an(ε, η)-net ofΩif

1 Covering: pΩ, pP, kpxk ≤ε

2 Packing: p,qP,kpqk ≥η

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 ofDel(P)isO(n)for fixedd

Références

Documents relatifs

10 Il écrit en 1964 dans Contre le cinéma, au sujet de la seconde version et sans faire aucune allusion à la première : “ Le contenu de ce film doit être d’abord rattaché

À une entrée dans la table, correspondant à l’adresse logique 3, sont associés maintenant deux blocs physiques, avec une dégradation potentielle des performances puisqu’il

To determine the potential weight and cost savings, a design of the structure for the aluminum small frigate using extruded integrally stiffened panels was prepared as shown in

The goal of SBIL wavefront metrology is in short to design and implement a system that exploits moir´ e-based interferometry to accurately measure the nonlinear phase distortions in

This study represents a new approach to analyzing the capitalization effect of a transportation investment by using a repeat-sales single-family housing price index

We have chosen these two NSCLC cell lines as they express intermediate (A549) and high (HCC827) level of EGFR and they display inhibited proliferation in response to

Coliformes fécaux Coliformes fécaux 1-Faire de dilutions 1-Faire de dilutions 2-Introduire 1 ml de chaque dilution dans une boite de pétri 2-Introduire 1 ml de chaque

The reflectivity spectra in s polarization are plotted in the right panel of figure 3.For  , reflectivity curves present a completely different feature as compared to