plan du cours - uliege.bejohann peter gustav lejeune dirichlet (1805-1859) ~ 1850. dimension...
Post on 23-Sep-2020
0 Views
Preview:
TRANSCRIPT
1
Géométrie Algorithmique
Plan du cours
Introduction
Arrangements dans le plan
Triangulation de polygones
Diagrammes de Voronoï
Triangulation de Delaunay
Recherche/localisation
Arbres de partition binaire
2
Géométrie Algorithmique
Diagrammes de Voronoï
Diagrammes de Voronoï ou Tessellation de Dirichlet
En dimension 2 / 3Johann Peter Gustav Lejeune Dirichlet (1805-1859) ~ 1850.
Dimension quelconque : Georgy Feodosevich Voronoy (1868-1908) ~ 1908
G.F. Voronoï (1908). "Nouvelles applications des paramètres continus à la théorie des formes quadratiques". Journal für die reine und angewandte Mathematik 134: 198–287.
3
Géométrie Algorithmique
Diagrammes de Voronoï
Soit P={ p0, p
1, … , p
n-1 } un ensemble de points du plan
Le diagramme de Voronoi Vor(P) est une décomposition du plan en n cellules V( p
i ).
À l'intérieur de la cellule V( pi ), le point le plus proche
appartenant à P est le point pi .
On s'intéresse ici à la distance euclidienne entre deux points :
Un point q est dans la cellule correspondant au point p
i ssi
Dist p , q= p x−q x2 p y−q y
2
Dist q , piDist q , p j ∀ p j∈P , j≠i
4
Géométrie Algorithmique
Diagrammes de Voronoï
Structure du diagramme de Voronoï Le bisecteur d'une paire de point p et q délimite le plan en deux demi
plans Soit h(p,q) le demi plan ouvert contenant p On a alors
et
V( pi) est l'intersection de n-1 demi-plans, une région polygonale ouverte
éventuellement non bornée, limitée par au plus n-1 arêtes et n-1 sommets. Celle ci est nécessairement convexe.
p
q
r∈h p , q ssi Dist r , pDist r , q
h(p,q)
V pi= ∩j≠i h pi , p j
v(pi)
Vor(P) est
a) soit un ensemble délimité par n-1 droites parallèles
b) soit un ensemble connecté de segments et/ou de demi-droites.
5
Géométrie Algorithmique
Diagrammes de Voronoï
Démonstration Cas a) évident Cas b) : Considérer qu'une arête a délimitant
deux cellules V(pi) et V(p
j) est une droite : elle
sépare le plan en deux parties. Soit un troisième point p
k non colinéaire avec p
ip
j :
nécessairement l'arête a' délimitant V(pj) et
V(pk) n'est pas parallèle à a ; et donc
l'intersecte. La partie de a qui est dans h(pk,p
j)
ne peut être à la frontière de V(pj) ; car elle est
plus proche de pk que de p
j .
Donc les arêtes du diagramme sont soit des demi-droites, soit des segments de droite
n-1 droites parallèles
pi
pj
pk
a
a'
6
Géométrie Algorithmique
Diagrammes de Voronoï
Reste à prouver que le diagramme de Voronoi forme un graphe connecté.
Admettons que ce n'est pas le cas. Alors au moins une cellule de Voronoï séparerait le plan en deux parties. Comme les cellules de Voronoï sont convexes, ses frontières sont nécessairement des droites « complètes », une contradiction avec ce qui précède.
7
Géométrie Algorithmique
Diagrammes de Voronoï
Complexité du diagramme de VoronoïQuel est le nombre de cellules, d'arêtes, de sommets ?
Il y a n sites dans P ; et au pire, une cellule peut avoir n-1 arrêtes et sommets. En tout, la complexité de Vor(P) pourrait être quadratique. En fait, ce n'est pas le cas:
Formule d'Euler pour un graphe plan (y compris la face « infinie ») : s – a + f = 2Ici, on considère un sommet supplémentaire à l'infini ; on a doncn
s +1 – n
a + n = 2 → 2n
s – 2n
a + 2n = 2
Chaque arrête a deux sommets ; la somme des degrés de chaque sommet donne le doubledu nombre d'arêtes. En outre, le degréest au minimum de 3.
s
2 na≥3n s12ns−3ns12 n≥2 ns≤2n−5
2n−51−nan≥2 na≤3n−6
8
Géométrie Algorithmique
Diagrammes de Voronoï
Le nombre de bissectrices est quadratique, mais seules une partie (nombre linéaire en fonction de n) fait effectivement partie du diagramme de Voronoï.
Lesquelles ?
On définit CP(q) comme étant le plus grand cercle de centre q et ne
contenant aucun des points pi de P dans son intérieur. Il possède au
moins un point de P sur son pourtour.
Alors :
Un point q est un sommet de Vor(P) ssi CP(q) possède au moins trois
points de P sur son pourtour. Une bissectrice des points p
i et p
j existe sous forme d'une arrête dans
Vor(P) ssi il y a un point q sur celle-ci tel que CP(q) possède p
i et p
j sur
son pourtour mais aucun autre point de P. q
CP(q)
9
Géométrie Algorithmique
Diagrammes de Voronoï
Démonstration 3 points ou plus sur le bord → Centre du cercle
est un sommet 2 sommets → Centre du cercle sur une arête du
DDV 1 seul sommet → Centre situé dans une cellule
de Voronoï
10
Géométrie Algorithmique
Diagrammes de Voronoï
Calcul du diagramme de voronoï Pour chaque cellule V(p
i), calculer l'intersection des demi-plans
h(pi,p
j) avec j≠i en utilisant l'algorithme du cours n°2 (arrangements
dans le plan)
Complexité : en nlog n pour chaque cellule (on ne sait pas à l'avance quelles intersections vont effectivement intervenir dans la forme finale de la cellule)
Il y a n cellules → n²log n en tout. Alors que la complexité de la décomposition est en O(n)...
Peut on faire mieux → oui ! Optimum : Ω(nlog n) Cf suite du cours.
11
Géométrie Algorithmique
Triangulation de Delaunay
12
Géométrie Algorithmique
Triangulation de Delaunay
Boris Nicolaïevich Delaunay (Delone)(1890 - 1980)
Fut un étudiant de Voronoï Développe une étude théorique des
triangulation portant son nomdans les années 1930
B. Delaunay: Sur la sphère vide, Izvestia Akademii Nauk SSSR, Otdelenie Matematicheskikh i Estestvennykh Nauk, 7:793–800, 1934
13
Géométrie Algorithmique
Triangulation de Delaunay
Problématique de l'interpolation
À droite, l'interpolation est faite sur des échantillons éloignés (géométriquement parlant)
Il existe donc des triangulations « meilleures » que d'autres. La triangulation de Delaunay est une triangulation parmi d'autres, elle possède des caractéristiques intéressantes (justement lorsque la triangulation sert de base pour l'interpolation )
3
0
1
5
2
1
7
8
80
79
91
8975
85
90 (valeur raisonnable)
3
0
1
5
2
1
7
8
80
79
91
8975
85
3 (manifestement faux)
14
Géométrie Algorithmique
Triangulation de Delaunay
Caractéristiques d'une triangulation Soit P un ensemble de sommets {p
0 … p
n-1}, non tous colinéaires
On note par S une subdivision maximale du plan telle que aucune nouvelle arête ne peut relier deux sommets sans intersecter une arête existante dans S.
Une triangulation de P est précisément cette subdivision S pour laquelle les sommets de la subdivision sont ceux de P.
Les cellules sont bien triangulaires, car on a vu que tout polygone peut être triangulé avec un nombre constant de triangles.
Complexité de la triangulation (toute triangulation)
Soit k le nombre de points de P situés sur l'enveloppe convexe de P. Alors toute triangulation de P a 2n–k–2 triangles, et 3n–k–3 arêtes.
15
Géométrie Algorithmique
Triangulation de Delaunay
Caractéristiques d'une triangulation Soit k le nombre de points de P situés sur l'enveloppe convexe de P.
Alors toute triangulation de P a 2n–k–2 triangles, et 3n–k–3 arêtes. Preuve : Soit m le nombre de triangles. Dans le graphe plan, on a
donc nf=m+1 faces en comptant la face infinie. Chaque triangle a
trois arêtes, et la face infinie en a k. Chaque arête est incidente à exactement deux faces (y compris la face infinie)
Le nombre total d'arêtes est donc na=(3m+k)/2
La formule d'Euler doit être vérifiée (il s'agit d'un graphe plan)
n–na+n
f= 2
En remplaçant na,et n
f on trouve m=2n–k–2 et donc n
a=3n–k–3 .
Bornes valables en 2D. En 3D, ces bornes sont quadratiques.
16
Géométrie Algorithmique
Triangulation de Delaunay
Caractéristiques d'une triangulation Cas 3D : bornes quadratiques
En tout il y a 2n sommets, et (n–1)² cellules (tétraèdres)
n sommets
n sommets
17
Géométrie Algorithmique
Triangulation de Delaunay
Caractéristiques d'une triangulation Soit T la triangulation, supposons qu'elle est formée de m triangles
Considérons les 3m angles aux sommets des triangles de T classés par ordre croissant.
Soit 0,
1,... ,
3m-1 la séquence d'angles. On a ici
i ≤
j pour i < j.
On note A(T) le vecteur des angles dans cet ordre. Soit T' une autre triangulation de P (donc avec autant de triangles),
et soit A(T') son vecteur des angles.
On dit que A(T) > A(T') (plus grand lexicographiquement) si :
j=
j' pour j < i < 3m, et
i >
i'.
Une triangulation T est dite angulairement optimale si pour toute autre triangulation T' on a A(T) ≥ A(T')
18
Géométrie Algorithmique
Triangulation de Delaunay
Théorème de Thalès (l'autre ...) Soit une ligne l intersectant un cercle en deux
points a et b. Soient r un point intérieur au cercle, p et q deux points sur le cercle et s un point extérieur
Alors Preuve : par la construction du lieu des points q tels que
(cercle)
Ca
b
s
r
q
p
l
arbapb=aqbasb
aqb=cte
19
Géométrie Algorithmique
Triangulation de Delaunay
Retournement d'arête Considérons une arête a = p
ip
j d'une triangulation T de P. Si cette
arête est interne , alors elle est voisine de deux triangles pip
jp
k et
pjp
ip
l . Si ces triangles forment un polygone convexe ; alors on peut
obtenir une nouvelle triangulation T' en retournant l'arête a. La seule différence dans le vecteur angle est que les six angles
0 ....
6 de A(T) sont remplacés par
0' ....
6' de A(T').
On appelle a = pip
j une arête illégale si
En d'autre termes, une arête est illégale si on peut améliorer l'angle minimal en effectuant un retournement d'arête.
pi
pj
pk
pl
a1
2
3
4
5
6
pi
pj
pk
pl
a'
1'
2'
3'
4'
5'
6'
mini≤i≤6
i mini≤i≤6
i '
20
Géométrie Algorithmique
Triangulation de Delaunay
Retournement d'arête. Soit T une triangulation avec une arête illégale a. Soit T' la
triangulation obtenue en retournant l'arête a. Alors A(T') ≥ A(T) En fait il n'est pas nécessaire de calculer tous les 12 angles pour
vérifier qu'une arête est illégale, grâce au second théorème de Thalès. Soit une arête p
ip
j incidente aux triangles p
ip
jp
k et p
ip
jp
l , et C
le cercle passant par pip
jp
k. L'arête p
ipj est illégale si p
l est à
l'intérieur du cercle C. De plus, si pi, p
j , p
k et p
l forment
un quadrilatère convexe, et ne sont pas situés sur un même cercle, alors seulement une des deux arêtes p
ip
j ou p
kp
l est illégale.
pi
pj
pk
pl
a
C
21
Géométrie Algorithmique
Triangulation de Delaunay
Triangulation légale C'est une triangulation pour laquelle toutes les arêtes sont légales. L'algorithme pour obtenir une telle triangulation légale à partir de
n'importe quelle triangulation est le suivant :
Cette triangulation existe car il est toujours possible d'inverser une arête non légale pour la rendre légale (et améliorer A(T) au passage). Chaque inversion d'arête améliore A(T) ; donc on n'obtient jamais deux fois la même triangulation (pas de cycles), et le nombre de triangulations possibles, bien que très élevé , est fini.
TriangulationLegale(T)En entrée : une triangulation quelconque T de PEn sortie : une triangulation légale de P { Tant que T contient une arête illégale p
ip
j
{ Soit p
ip
jp
k et p
jp
ip
l les deux triangles adjacents à p
ip
j
supprimer pip
j et ajouter p
kp
l
} Renvoyer T.}
22
Géométrie Algorithmique
Triangulation de Delaunay
Graphe de Delaunay Soit G le graphe dual du diagramme de Voronoï Vor(P)
Les sommets de G sont les cellules de Vor(P) ; les cellules de G sont les sommets de Vor(P) . Un arc relie deux sommets de G si les deux cellules correspondantes partagent une arête de Vor(P).
Soit DG le graphe de Delaunay, soit G pour lequel la position des sommets est fixée par la position des points de P. Les arêtes sont des segments de droite reliant ces points.
G
Vor(P)
DG
Vor(P)
23
Géométrie Algorithmique
Triangulation de Delaunay
Propriétés du graphe de Delaunay Si P est un ensemble de points du plan, alors il s'agit d'un graphe
plan – i.e. aucune des arêtes n'en intersecte une autre.
Preuve : à partir des propriétés des sommets et des arêtes de Vor(P) :
Une bissectrice des points pi et p
j existe sous forme d'une arête dans
Vor(P) ssi il y a un point q sur celle-ci tel que CP(q) possède p
i et p
j sur
son pourtour mais aucun autre point de P.
Dans le cas du graphe de Delaunay, on peut reformuler
Une arête pip
j fait partie de DG(P) ssi il existe un cercle passant par p
i et
pj et ne contenant aucun autre point p
k de P
Il est donc évident que deux arêtes de DG(P) nes'intersectent pas car dans le cas contraire,au moins un des points (sur 4) est situé dans le cercle passant par p
ip
j.
q
CP(q)
Vor(P)
pi
pj
24
Géométrie Algorithmique
Triangulation de Delaunay
Propriétés du graphe de DelaunayReformulation des propriétés de Vor(P)
Trois points pi, p
j, p
k de P sont sommets d'une même cellule de DG(P) si
le cercle passant par pi,p
j,p
k ne contient aucun autre point de P
Deux points pi,p
j de P forment une arête de DG(P) si et seulement si il
existe un cercle passant par pi et p
j tel que son intérieur ne contient pas
d'autre point de P
Ceci implique le critère de Delaunay (sous réserve de la généralité des positions des p
i) :
T est une triangulation de Delaunay de P ssi le cercle circonscrit de tout triangle de T ne contient aucun autre point de P en son intérieur.
25
Géométrie Algorithmique
Triangulation de Delaunay
Propriétés du graphe de Delaunay Question des configurations non générales de p
i (k points
cocycliques) Un sommet du DDV est de valence k Le graphe de Delaunay contient des faces à k cotés (convexes!). On peut trianguler ces cellules arbitrairement (tous les points étant
cocycliques, tous les triangles créés respecteront le critère de Delaunay)
En définitive, on appelle triangulation de Delaunay toute triangulation vérifiant le critère de Delaunay (dit de la sphère vide)- celle ci n'est pas nécessairement unique.
Vor(P)
s
26
Géométrie Algorithmique
Triangulation de Delaunay
Propriétés de la triangulation de Delaunay Une triangulation T de P est légale si et seulement si c'est une
triangulation de Delaunay
Preuve : il est évident qu'une triangulation de Delaunay est légale (cf p 20). Toute triangulation légale est elle de Delaunay ?
Oui - preuve par contradiction
Supposons que T soit une triangulation légale, mais non Delaunay. Alors elle contient un triangle p
ip
jp
k dont le cercle circonscrit contient un
autre point pl de la triangulation. On choisit ici le triangle et le point tels
que l'angle est maximal.
Soit e l'arrête telle que plp
jp
i n'intersecte pas p
ip
jp
k, et elle appartient à T,
donc elle est légale. pm n'est donc pas dans le cercle circonscrit à
pip
jp
k .Le cercle circonscrit à p
mp
jp
i contient p
l car il contient l'arc du
cercle circonscrit à pip
jp
k situé du même côté de e que p
l. Posons que
pip
m soit l'arête a telle que p
mp
jp
i n'intersecte pas p
lp
mp
i. Alors
par le second théorème de Thalès. Ceci contredit le choix de pl, donc p
l
n'existe pas : nécessairement la triangulation est de Delaunay.
pl
pj
pk p
i
pm
e
a p i p l pm> pi p l p j
p i p l p j
27
Géométrie Algorithmique
Triangulation de Delaunay
Propriétés de la triangulation de Delaunay
Une triangulation de Delaunay de P est angulairement optimale , i.e. elle maximise l'angle minimum parmi toutes les triangulations de P . Toute triangulation angulairement optimale de P est une triangulation de Delaunay de P.
top related