Algorithmique géométrique
M. Zvonkine
27 avril 2006
2
Table des matières
1 Introduction 5
1.1 Historique . . . 5
1.1.1 Apparition de la géométrie . . . 5
1.1.2 Construction à la régle et au compas . . . 5
1.2 problème modernes . . . 6
1.2.1 Enveloppe convexe . . . 6
1.2.2 Localisation de points . . . 6
1.2.3 Section d'un polytope . . . 6
1.2.4 Triangulation . . . 7
1.2.5 Diagramme de Voronoï . . . 7
1.2.6 Eliminaion de lignes invisibles. . . 7
1.3 Les cas particuliers . . . 7
2 Equation de la ligne droite, du plan, . . . 9
2.1 La ligne droite . . . 9
2.1.1 La nature de a, b. . . 9
2.1.2 Pour trouver c . . . 10
2.1.3 Commentaire . . . 10
2.2 Equation du plan . . . 10
2.3 Généralisation : équation de l'hyperplan . . . 11
2.4 Ligne droite dans R3 . . . 11
3 Barycentre 13 3.1 Le barycentre de deux points . . . 13
3.1.1 Dénition . . . 13
3.1.2 Régle du levier . . . 13
3.2 Le barycentre de n points . . . 14
3.2.1 Dénition . . . 14
3.2.2 Proposition . . . 14
3.2.3 Propriété de groupement . . . 14
3.2.4 Conséquences . . . 15
3.2.5 Barycentre et transformation anes . . . 16
4 Convexité 19 4.1 Ensemble convexe . . . 19
4.1.1 Denition . . . 19
4.1.2 Exemple 1 : demi-plan . . . 19
4.1.3 Exemple2 : disque . . . 19 3
4.1.4 Proposition . . . 20
4.2 Enveloppe convexe . . . 20
4.2.1 Dénition . . . 20
4.2.2 Algorithmes . . . 20
5 Polytopes 23 5.1 Dénitions. . . 23
5.1.1 Dénition . . . 23
5.1.2 Dénition équivalente . . . 23
5.1.3 Terminologie . . . 24
5.2 Représentation . . . 24
5.3 Formule d'Euler. . . 25
5.3.1 Constatations de Descartes(d=3) . . . 25
5.3.2 Théorème : Formule d'Euler. . . 25
5.4 Polytopes cycliques . . . 26
5.5 Transformation polaire et dualité de polytope . . . 28
5.5.1 Présentation de notre but . . . 28
5.5.2 Construction . . . 29
5.5.3 Construction de polytope en utilisant la formule . . . 32
5.6 Polytopes simplicial et simples . . . 32
5.6.1 Équations de Dehn-Sommerville . . . 33
6 Cartes 35 6.1 Dénitions. . . 35
6.2 Algorithme pour l'enveloppe convexe dansR3 . . . 40
7 Diagramme de Voronoï et Complexe de Delaunay 45 8 Annexes 49 8.1 Le produit vectoriel . . . 49
8.2 Paraboloïde . . . 49
Chapitre 1
Introduction
1.1 Historique
1.1.1 Apparition de la géométrie
chez les égyptiens
1.1.2 Construction à la régle et au compas
Opérations élémentaires
1. Tracer la droite passant par deux points donnés.
2. Tracer le cercle de centre et de rayon donnés.
3. Trouver l'intersection de deux lignes tracées.
4. Choisir un point arbitraire dans un domaine donné.
3 problèmes classiques
Quadrature du cercle : construire un carré dont l'aire est égale à celle du cercle donné
Trisection d'un angle : diviser un angle en trois parties égales Doublement du cube : construire√3
2
Au vingtième siécle, on a montré que tout ça est impossible.
Gauss : polygone régulier à 17 côtés.
5
6 CHAPITRE 1. INTRODUCTION
1.2 Quelques exemples de problémes modernes de la géométrie algorithmique
1.2.1 Enveloppe convexe
Instance : un nuage de points dansRd. On cherche leur enveloppe convexe (le plus petit ensemble convexe qui contient tous les points).
r r
r
r
r r r
r r
r r
XXX XXX
XX
XX XX
1.2.2 Localisation de points
Instance : un graphe planaire dessiné sur le plan, avec ses arêtes segments droits et un point.
On cherche la région du graphe à la- quelle appartient ce point.
r r r r
r
r r
r
r
r u
A A A A A A
@@
@@ l
l ll
, , ,,
H HH
HH H
Un cas très particulier Il y a un triangle est un point.
Ce point se trouve-t-il à l'intérieur ou à
l'extérieur ? P
PP B
B B B q
1.2.3 Section d'un polytope
Instance : un polytope et un plan qui coupe ce polytope
On cherche : leur intersection
A
@ A
@
A
1.3. LES CAS PARTICULIERS 7
1.2.4 Triangulation
Instance : un nuage de points
On cherche : une triangulation dont ces
points servent de sommets. q
q qq qq q qq
@
@ BB PPBB
H
1.2.5 Diagramme de Voronoï
Les points des segments sont équidis-
tants des points noirs qui les entourent. q
q q q
q q
q
A A A A A
A
1.2.6 Eliminaion de lignes invisibles
→
1.3 Les cas particuliers
Il y a une multitude de cas particuliers Localisation :
PP P B
B B B r
PP P B
B B B r
PP P B
B B B r
PP P B
B B B r
Intersection de deux segments
r rr HHr
r
r r
@
@@r r
r r
@@r r
r
@@r r
r r r
En cours : modéle irréaliste et idéaliste (Shub-Smale) R; +,−,×
On va essayer d'éviter la division
Eviter encore davantage les autres fonctions :a <√
b→a2< b Les opérations les plus contestées :<,>=
Exemple 1
q3 √
5 + 2− 3 q√
5−2 = 1
8 CHAPITRE 1. INTRODUCTION On peut deviner que
1 +√ 5 2
3
= 2 +√ 5
Exemple 2 1 10
3
q
eπ√163−744 = 64031.99999999999999999999999999999999. . . Exemple 3
1 105
+∞
X
n=−∞
exp −n2
1010 !
6=π mais les premiers 42 milliards de chires sont corrects.
Chapitre 2
Equation de la ligne droite, du plan, . . .
2.1 La ligne droite
Une équation d'une ligne droite sur un plan est ax+by+c = 0. Atten- tion,kax+kby+kc= 0est la même ligne. Les coecients sont dénis à une proportionnalité près.
2.1.1 La nature de a, b
Tracer une ligne qui passe par deux points donnés (trouver son équation) A(x1, y1)
B(x2, y2)
ax1+by1+c= 0 ax2+by2+c= 0
soustraction (x2−x1)a+ (y2−y1)b= 0
−−→
AB= (x2−x1, y2−y1) r
r
(x1, y1) A
(x2, y2) B
Si on prend le vecteur~k= (a, b), on obtient que le produit scalaire~k·−−→ AB= a(x2−x1) +b(y2−y1) = 0
Conclusion :~kest orthogonal à−−→
AB, c'est à dire à la ligne recherchée.
a(x2−x1) +b(y2−y1) = 0 . Si on prend a =y2−y1 et b =−(x2−x1), l'équation est bien vériée.
ax+by+c= 0→(y2−y1)x−(x2−x1)y+c= 0 Il reste à déterminer c.
(y2−y1)x−(x2−x1)y=
x y
x2−x1 y2−y1
x y
x2−x1 y2−y1
+c= 0
9
10 CHAPITRE 2. EQUATION DE LA LIGNE DROITE, DU PLAN, . . .
2.1.2 Pour trouver c
x y
x2−x1 y2−y1
=constante(=−c) =
x1 y1 x2−x1 y2−y1
=
x1 y1 x2 y2
x y
x2−x1 y2−y1
−
x1 y1
x2 y2
= 0
2.1.3 Commentaire
r
r
r r
r1
B B B BB X
X(x, y)
A B
O −−→ AB
−−→OX= (x, y)
x y
x2−x1 y2−y1
=det(−−→
OX·−−→ AB)
= aire du parallélogramme
L'aire de tous les parallélogrammes ainsi obtenus est constante (en eet, la hauteur ne change pas).
2.2 Equation du plan
ax+by+cz+d= 0 A(x1, y1, z1)
B(x2, y2, z2) C(x3, y3, z3)
Tracer un plan qui passe parA,B etC. ax1+by1+cz1+d= 0
ax2+by2+cz2+d= 0 ax3+by3+cz3+d= 0
a(x2−x1) +b(y2−y1) +c(z2−z1) = 0 a(x3−x1) +b(y3−y1) +c(z3−z1) = 0
−−→
AB= (x2−x1, y2−y1, z2−z1)
−→AC = (x3−x1, y3−y1, z3−z1)
~k= (a, b, c)
-
6
A B
C
~k
~k·−−→ AB= 0
~k·−→
AC= 0
Donc ~k⊥−−→ AB
~k⊥−→
AC )
~k⊥plan On a −−→
AB,−→
AC, on cherche~ktel que~k⊥−−→ AB,−→
AC.
~k=−−→ AB×−→
AC (produit vectoriel)
2.3. GÉNÉRALISATION : ÉQUATION DE L'HYPERPLAN 11 Géométriquement, le vecteur~k est orthogonal au planΠ (qui passe parA,B, C).
ax+by+cz=
x y z
x2−x1 y2−y1 z2−z1
x3−x1 y3−y1 z3−z1
=constante=−d=
−d=
x1 y1 z1
x2−x1 y2−y1 z2−z1
x3−x1 y3−y1 z3−z1
=
x1 y1 z1
x2 y2 z2
x3 y3 z3
det(−→
OA,−−→ AB,−→
AC) =det(−→
OA,−−→ OB,−−→
OC)
Question à réexion : le déterminant est le volume du parallélépipède formé par ses vecteurs-lignes (ou colonnes)
Pourquoi le volume det(−→
OA,−−→ AB,−→
AC)reste constant ? Si les pointsA,B,C sont alignés alors :
(a) géométriquement, il y a une innité de solutions.
(b) algébriquement, on obtient−→
AC proportionnel à−→
AC et donc det(−→
OA,−−→ AB,−→
AC) = 0 =det(−→
OA,−−→ OB,−−→
OC) = 0
2.3 Généralisation : équation de l'hyperplan
Proposition
SoientnpointsA1, A2, . . . , An dans l'espaceRn Supposons que les vecteurs −−−→
A1A2, . . . ,−−−→
A1An soient linéairement indépen- dants.
Alors il existe un seul hyperplan de dimensionn−1qui passe par ces points et son équation est
det(−−→
OX,−−−→
A1A2, . . . ,−−−→
A1An=det(−−→
OA1,−−→
OA2, . . . ,−−→
OAn)
=det(−−→
OA1,−−−→
A1A2, . . . ,−−−→
A1An) Remarque : aucune division !
2.4 Ligne droite dans R
3On ne peut pas l'exprimer par une équation linéaire : il en faut deux. Encore pire, on peut choisir ces deux équations de plusieurs manières diérentes.
Soient deux pointsAetB, nous voulons écrire deux équations de deux plans dont l'intersection est la ligne(AB).
Une stratégie possible :
1. Tracer un plan orthogonal au vecteur−−→
AB et qui passe parA. 2. Choisir deux vecteurs−→
AC et−−→
ADsur ce plan (non colinéaires).
3. Ecrire deux équations des plans ortogonaux à−→
AC et−−→
ADqui passent par A.
Une autre stratégie :
1. choisir deux pointsC etD.
2. tracer deux plans passant parA,B, Cet parA, B,D
12 CHAPITRE 2. EQUATION DE LA LIGNE DROITE, DU PLAN, . . . Une autre approche : représenter la ligne d'une manière paramétrique.
1ercas : O, A, B sont alignés (les vecteurs −→
OA et −−→
OB sont proportionnels) :
−−→OX =t−→
OA (t∈R)
2ecas :O,A,B ne sont pas alignés.
Proposition
Un pointX appartient à l ligne(AB)⇔
−−→OX=a−→
OA+b−−→
OB a+b= 1
=t−→
OA+ (1−t)−−→ OB Preuve
1.−−→
OX=a−→
OA+b−−→ OB
=−→
OA−(1−a)−→
OA+b−−→ OB
=−→
OA−b−→
OA+b−−→ OB
=−→
OA+b(−−→ OB−−→
OA)
=−→
OA+b−−→ AB
2.Soit X ∈ (AB) et donc −−→
AX=b−−→ AB alors−−→
OX=−→
OA+−−→
AX
=−→
OA+b−−→ AB
=−→
OA+b(−−→ OB−−→
OA)
=(1−b)−→
OA+b−−→ OB Le vecteur −−→
OX peut être toujours représenté sous la forme
−−→OX=a−→
OA+b−−→ OB
=−→
OA+b−−→
AB oùb∈Reta+b= 1
Si les points A,B ne sont pas alignés avecO, la première représentation est déterminée de manière unique.
X ∈[AB]⇔0≤a, b≤1
Chapitre 3
Barycentre : centre de masse : centroïde
3.1 Le barycentre de deux points
3.1.1 Dénition
Soient(A1, m1)et (A2, m2)deux points matériels.
Alors leur barycentre est un point matériel (M, m)tel que m=m1+m2
m−−→
OM =m1
−−→OA1+m2
−−→OA2
Autrement dit,
−−→OM = m1
m1+m2
−−→OA1+ m2
m1+m2
−−→OA2
Remarque :
m1
m1+m2 + m2
m1+m2 = 1
Si les deux masses sont positives alors le point M se trouve à l'intérieur du segment[AB]
3.1.2 Régle du levier
m1|A1M|=m2|A2M|
Preuve
−−−→A1M = m2
m1+m2
−−−→A1A2
m1
−−−→A1M = m1·m2
m1+m2
−−−→A1A2
m2−−−→
A2M = m2·m1
m1+m2
−−−→A2A1
13
14 CHAPITRE 3. BARYCENTRE
3.2 Le barycentre de n points
3.2.1 Dénition
Soient npoints matériels(A1, m1),(A2, m2), . . . ,(An, mn). Alors leut barycentre est un point matériel (M, m)tel que
m=
n
X
i=1
mi
m−−→
OM =
n
X
i=1
mi
−−→OAi
3.2.2 Proposition
Le barycentre ne dépend pas du choix de l'origine O.
Preuve
SoitO0 une autre origine. Alors m−−−→
O0M =m(−−→
O0O+−−→
OM) m1
−−−→O0A1+m2
−−−→O0A2+. . .+mn
−−−→O0An
= m1(−−→
O0O+−−→
OA1) +m2(−−→
O0O+−−→
OA2) +. . .+mn(−−→
O0O+−−→
OAn)
= m1
−−→O0O+m1
−−→OA1+m2
−−→O0O+m2
−−→OA2+. . .+mn
−−→O0O+mn
−−→OAn
= (m1+m2+. . .+mn)−−→
O0O+m1
−−→OA1+m2
−−→OA2+. . .+mn
−−→OAn
= m−−→
O0O+m−−→
OM
= m(−−→
O0O+−−→
OM)
= m−−−→ O0M
3.2.3 Propriété de groupement
Si on choisi un sous-ensemble des points matériels et si on le remplace par leur barycentre, alors le barycentre global de l'ensemble tout entier ne change pas. On veut regrouper les pointsA1, . . . , Ak
(m1
−−→OA1+. . .+mk
−−→OAk) +mk+1
−−−−→
OAk+1+. . .+mn
−−→OAn= ((m1+. . .+mk) + mk+1+. . .+mn)−−→
OM m1−−→
OA1+. . .+mk−−→
OAk = (m1+. . .+mk)−−−→ OM0 L'addition des vecteurs est associative !
3.2. LE BARYCENTRE DE N POINTS 15
3.2.4 Quelques conséquences géométrique de la propriété du groupement
Médianes d'un triangle
Théorème de Ceva
Soit un triangle ABC et les points A1, B1, C1 respectivement sur les seg- ments[BC], [CA],[AB]. Alors les segments AA1, BB1, CC1 se coupent dans un point si et seulement si
AC1 C1B ·BA1
A1C ·CB1 B1A = 1
Preuve
AC1
C1B=yx
BA1
A1C=Zy
CB1 B1A=xz
y x·z
y·x z = 1
Théorème de Menalaüs
Les pointsA1,B1,C1 sont alignés si et seulement si
−−→AC1
−−→C1B ·
−−→BA1
−−→A1C ·
−−→CB1
−−→B1A =−1
16 CHAPITRE 3. BARYCENTRE
Tétraèdre
3.2.5 Barycentre et transformation anes
Théorème
Le barycentre est invariant par rapport aux transformations anes.
3.2. LE BARYCENTRE DE N POINTS 17 Transformation ane :X →Y tel que
−−→
OY =P−−→
OX+−−→
OB oùP est une transformation linéaire (une matrice) On envoie tous les vecteurs −−→
OAi vers les vecteurs −−→
OAi =P−−→
OAi où P est une opération linéaire (une matrive) ; les masses mi restent inchangées. Alors si(M, m)est le barycentre des points (A1, m1), . . . ,(An, mn)et (M0, m)est le barycentre des points(A01, m1), . . . ,(A0n, mn)on a−−−→
OM0=P−−→
OM Preuve
m1
−−−−−−−−−−−−−−−→
OA01+. . .+mn
−−→OA0n=m1·P·−−→
OA1+. . .+mn·P·−−→
OAn
=P·(m1−−→
OA1+. . .+mn−−→
OAn)par linéarité
=P·m·−−→
OM avecm=m1+. . .+mn
=m·P·−−→
OM
=m−−−→ OM0
Pour la translation, il existe une preuve similaire.
Transformations linéaires
rotation autour de l'origine dansR2
6
-
−→ 6 -
(diérent de l'homotétie car on ne change qu'une variable)
6
-
−→ 6 -
dansR3, rotation autour d'une droite, autour d'un axe.
dansR4, rotation autour d'un plan.
Chapitre 4
Convexité
4.1 Ensemble convexe
4.1.1 Denition
Un ensemble est convexe si avec chaque couple de points , il contient le segment dont les extrémités sont ces points.
Exemple d'un esemble non convexe
Les extrémités appartiennent à l'ensemble, le segment tout en- tier non
4.1.2 Exemple 1 : demi-plan
Un demi-plan est un ensemble convexe.
Soit un demi-plan ax+by+c≥0, et soient deux points de ce demi-plan : A(x1, y1)etB(x2, y2)
Soit un point C(x, y)appartenant au segment[AB].
On a alorsx=tx1+ (1−t)x2et y=ty1+ (1−t)y2 où0≤t≤1 Alors
ax+by+c=a(tx1+ (1−t)x2) +b(ty1+ (1−t)y2) +tc+ (1−t)c
=atx1+bty1+tc+a(1−t)x2+b(1−t)y2+ (1−t)c
=t(≥) + (1−t)(≥) ≥0
4.1.3 Exemple2 : disque
Le disque unité {(x, y) :x2+y2≤1}est convexe.
On a x21+y12≤1etx22+y22≤1 x=tx1+ (1−t)x2
19
20 CHAPITRE 4. CONVEXITÉ x=tx1+ (1−t)x2
x2+y2 =t2x21+ 2t(1−t)x1x2+ (1−t)2x22+t2y12+ 2t(1−t)y1y2+ (1−t)2y22
=t2(x21+y21) + 2t(1−t)(x1x2+y1y2) + (1−t)2(x22+y22)
≤t2+ 2t(1−t)(x1x2+y1y2) + (1−t)2
≤t2+ (1−t)2+ 2t(1−t)(inégalité de Cauchy :x1x2+y1y2≤p
x21+y12·p
x22+y22)
= (t+ (1−t))2= 1
4.1.4 Proposition
L'intersection d'une famille d'ensemble convexe est convexe.
Preuve
Soient des ensemblesX1, X2, . . .dont l'intersection X =\
i∈I
Xi
contient deux pointsA etB.
Ceci veut dire que tout ensembleXicontient AetB.
Alors tout ensembleXi contient le segment[AB](car il est convexe).
Alors leur intersection
X =\
i∈I
Xi
aussi contient[AB].
4.2 Enveloppe convexe
4.2.1 Dénition
Soit un ensembleA. L'ensemble convexe deA, notéeconv(A)est l'intersec- tion de tous les ensembles contenantA.
Forcément, c'est le plus petit (par inclusion) ensemble convexe contenantA. Exemple
Soient trois points A, B, C dansR2.
Le triangle (rempli) est intersection de 3 demi-plans.
Dans R3, on a un tétraédre.
4.2.2 Algorithmes
Enveloppe convexe d'un ensemble ni de points dans R2 : un algo- rithme incrémental
Soit un ensemble de pointsA1, A2, . . . , An∈R2
1. On trie les points selon leurs abcisses ; pour des abcisses égales, on les trie selon leur ordonnées. Complexité :Θ(nlogn)
La partie qui nous reste sera de complexité linéaire
4.2. ENVELOPPE CONVEXE 21 2. Supposons que nous avons déjà construitconv(A1, . . . , Ak).
Une liste circulaire doublement chaînée.Ak est le dernier point ajouté à l'enveloppe. Ak+1 est le point suivant dans l'ordre.
Le point Ak est visible depuis Ak+1.
On remplace dans la liste circulaire :Ak−→AkAk+1Ak.
3. On recule dans la listeAiAkAk+1 et on examine dans quel sens on tourne si on tourne à droite, on élimineAk de la liste :AiAkAk+1−→AiAk+1
4. On va en avant deAk+1
si on tourne à droite :Ak+1AkAj−→Ak+1Aj Preuve de la complexité
L'algorithme de construction de l'enveloppe convexe de points surR2 est de complexité O(nlogn) mais seule la partie de l'étape de tri posséde cette com- plexité, les étapes suivantes sont de complexité linéaire.
Coût amorti d'un point
Armation : on visite chaque point au plus deux fois la première fois quand on l'ajoute :O(1)
la deuxième fois quand on l'enléve (si on l'enléve) npoints⇒O(n)opérations.
Comment vérier si on tourne à gauhe ou à droite ?
q
A:q B
qC
qC0 det(−−→
AB,−−→
BC >0⇒on tourne à gauche det(−−→
AB,−−→
BC <0⇒on tourne à droite det(−−→
AB,−−→
BC= 0⇒les vecteurs sont colinéaires On a suite de points, on tourne à gauche : la ligne forme-t-elle un polygone convexe ?
Contre-exemple :
22 CHAPITRE 4. CONVEXITÉ Proposition
Aucun algorithme de l'enveloppe convexe ne peut avoir la compléxité meilleure queO(nlogn).
Preuve
Le problème de tri de nnombres réels se réduit au problème de l'enveloppe convexe enR2.
S'il existait un algorithme linéaire de l'enveloppe convexe alors il existerait aussi un algo linéaire pour le tri.
La réduction
Soientnnombres réelsx1, . . . , xn. On prendnpoints surR2:Ai= (xi, xi2).
A4→A3→A5→A1→A6→A1→A4 Si on trouveA5→A1→A6→A2→A4→ A3 → A5, il faut trouver le min et le max pour avoir dans le bon sens : c'est linéaire.
Liste des algo pour l'enveloppe convexe 1. Algorithme incrémental
2. Méthode de Graham
3. Méthode de Jarvis (paquet-cadeau) :O(nk)oùkest le nombre de sommets de l'enveloppe convexe
4. Méthode l'élagage et recherche :O(nlogk) 5. Diviser pour régner
6. Plusieurs algorithmes pour les situations spéciques ensemble aléatoire avec une distribution connue parcours d'un polygone non convexe :O(n) 7. Algos en ligne
Chapitre 5
Polytopes
5.1 Dénitions
Quels sont les objets que l'on cherche en construisant des enveloppes convexes ?
5.1.1 Dénition
Un polytope est une enveloppe convexe d'un ensemble ni de points dans Rd.
Anti-exemples
Exemples
5.1.2 Dénition équivalente
Un polytope est un ensemble borné qui est une intersection d'un nombre ni de demi-espaces.
23
24 CHAPITRE 5. POLYTOPES
5.1.3 Terminologie
1. Un polytope de dimensiondest un d-polytope.
2. un hyperplan support : un hyperplan dont l'intersection avec le polytope n'est pas vide et tel que le polytope se trouve entièrement dans un des demi-espaces formé par l'hyperplan.
L'hyperplan support touche le polytope.
3. Une face de polytope : l'intersection avec un hyperplan support (toute face est elle-même un polytope mais de dimension< d.
4. Faces propres :
face de dimension0 : sommet face de dimension1 : arête face de dimensiond−1 : facette 5. Parfois on ajoute deux faces impropres :
∅ de dimension−1
le polytope lui-même de dimensiond
5.2 Représentation
5.3. FORMULE D'EULER 25
5.3 Formule d'Euler
5.3.1 Constatations de Descartes(d=3)
8 sommets 12 arêtes 6 faces
8−12 + 6 = 2
4 sommets 6 arêtes 4 faces
4−6 + 4 = 2
6 sommets 10 arêtes 6 faces
6−10 + 6 = 2
10 sommets 15 arêtes 7 faces
10−15 + 7 = 2
Dodécaédre 20 sommets
30 arêtes 12 faces
20−30 + 12 = 2 On cherche à généraliser.
Pour la dimension 2 (polygone) : #(sommets) - #(arêtes) = 0 Pour d= 1(segment) : #(sommets)=2
Remarque : là nous n'avons compter que les faces propres. Si on compte aussi les faces impropres (∅ de dimension -1 et le polytope de dimensiond), on a toujours 0 :
d=3 : -1+8-12+6-1=0 d=2 : -1+n-n+1=0 d=1 : -1+2-1=0 d=0 : -1+1=0
5.3.2 Théorème : Formule d'Euler
Soit un polytopeP de dimensiondet soitnk(P)le nombre de faces deP de dimensionkaveck=−1,0,1, . . . , d(les deux faces impropres y compris). Alors
χ(P) =
d
X
k=−1
(−1)knk(P) = 0
26 CHAPITRE 5. POLYTOPES Preuve
Déjà démontré pourd= 0,1,2, et vériée pour quelques exemples en dimen- sion3.
Récursion sur d : Supposons la formule vraie pour les dimensions jusqu'à d−1.
Supposons que P possède n sommets, et plaçons P dans l'espace de telle manière que tous les sommets soient aux niveaux diérents par rapport à l'axe vertical
Traçons les hyperplans horizontaux :
H1 qui passe parA1
H2 qui passe entreA1 etA2
H3 qui passe parA2
. . .
H2n−1qui passe parAn
SoitPi=Hi∩P
P1 etP2n−1 : un point chacun
P2, . . . , P2n−2 sont des polytopes de dimensiond−1.
Considérons χ(P1), χ(P2), . . . , χ(P2n−1). Elles sont toutes égales à 0.
Calculons la sommeχ(P1)−χ(P2) +. . .+χ(P2n−1). 1. Combien de fois compte-t-on l'ensemble vide ? -1
2. Comment compte-t-on les sommets ? 1 fois chacun, avec le signe + 3. Pour une faceF deP de dimensionk >0
F ∩Hi sont des faces de dimensionk−1 ⇒un changement de signe : (−1)k →(−1k−1)
(−1)k →(−1)k−1(−1 + 1−1 + 1−. . .−1) = (−1)k+1.(−1) = (−1)k
5.4 Polytopes cycliques
On se demande combien peut avoir de faces un polytope.
Les algorithmes pour enveloppe convexe : Données : npoints dansRd 1. d= 2 :O(nlogn), et on ne peut faire mieux (réduction du tri) 2. d= 3 :O(nlogn)(astuce supplémentaire)
3. d≥4 :O(n(d+12 )) Théorème
En dimension d, il existe des polytopes ayantO(n(d2))faces.
Note
Les polytopes cycliques sont ceux qui ont le nombre maximum de faces.
5.4. POLYTOPES CYCLIQUES 27 Dénition
On dit quenpoints dansRdsont en position générale sid+ 1points de cet ensemble n'appartiennent jamais à un hyperplan de dimensionsd−1.
Autrement dit, s'il y ad+1pointsA0, . . . , Ad, alors lesdvecteurs−−−→
A0A1, . . . ,−−−→
A0Ad sont linéairement indépendants, ou biendet(−−−→
A0A1, . . . ,−−−→
A0Ad)6= 0 La numérotation des points n'entre pas en compte :
det(−−−→
A0A1,−−−→
A0A2,−−−→
A0A3)6= 0 det(−−−→
A1A0,−−−→
A1A2,−−−→
A1A3)=det(−−−−→
A0A1,−−−→
A1A0+−−−→
A0A2,−−−→
A1A0+−−−→
A0A3)
=det(−−−−→
A0A1,−−−−→
A0A1+−−−→
A0A2,−−−−→
A0A1+−−−→
A0A3)
=±det(−−−→
A0A1,−−−→
A0A2,−−−→
A0A3)6= 0
Considérons dansRd la courbe :x1=t, x2=t2, . . . , xd=td t∈R Proposition
npoints appartenant à cette courbe sont toujours en position générale Note
Les polytopes cycliques sont les enveloppes convexes des points comme ça.
Preuve
Soientd+ 1points : A0(t0, t02, . . . , t0d) A1(t1, t12, . . . , t1d) ...
Ad(td, td2, . . . , tdd)
1 t0 t02 · · · t0d
1 t1 t12 · · · t1d
... ... ... ... ...
1 td td2 · · · tdd
=
1 t0 t02 · · · t0d
0 t1−t0 t12−t02 · · · t1d−t0d
... ... ... ... ...
0 td−t0 td2−t02 · · · tdd−t0d
=
t1−t0 t12−t02 · · · t12−t02
... ... ... ...
td−t0 td2−t02 · · · td2−t02
Soientk points sur la courbe : A1= (t1, t12, . . . , t1d)
...
Ak = (tk, tk2, . . . , tkd)
On prend le polynômeP(t) = (t−t1)2×(t−t2)2× · · · ×(t−tk)2 k≤d2 P(t)≥0 ∀t
P(t) = 0 pour t=t1, . . . , tk
P(t)>0 pour t6=t1, . . . , tk
P(t) =a0+a1t+a2t2+· · ·+a2kt2k+ 0t2k+1+· · ·+ 0td
Considérons, dans Rd, l'hyperplanH ={X/a0+a1x1+· · ·+adxd= 0} et le demi-espaceH+={X/a0+a1x1+· · ·+adxd≥0}
Deux armations
La courbe M toute entière se trouve dans le demi-espaceH+
28 CHAPITRE 5. POLYTOPES Elle touche à l'hyperplan H uniquement dans les points A1, A2, . . . , Ak; tous les autres points se trouvent strictement à l'intérieur du demi-espace.
On prendnpoints quelconques sur la courbe (nest supposé être grand) ; et on considère un sous-ensemble quelconque de ces points de taillek≤ d2; alors le simplexe de dimensionk−1 formé par cesk points est une face de l'enveloppe convexe desnpoints.
Exemple
d= 4,k= 2, n= 1000
Toute paire de sommets (k = 2) forme une arête simplexe de dimension k−1 = 1.
dansR3 :nsommets→O(n)arêtes
dansR4 :nsommets→C2n =n(n−1)2 =O(n2)arêtes
Pour dplus grand : le nombre de faces de dimension 2 est borné parC3n =
n(n−1)(n−2)
6 ≤ 16n3=O(n2)et cette borne est atteinte pour nos polytopes. Ainsi de suite . . .
Pourk≤d2, le nombre de faces de dimensionk−1peut atteindre le maximum Ckn= n(n−1)···(n−k+1)
k! 'k!1 =O(nk)(dxé,n→ ∞) Pour k=bd2c, on obtientO(nbd2c)
5.5 Transformation polaire et dualité de poly- tope
5.5.1 Présentation de notre but
Dimension 2
sommets→arêtes arêtes→sommets
5.5. TRANSFORMATION POLAIRE ET DUALITÉ DE POLYTOPE 29 dimension 3
8 sommets de degré 3→8 faces de degré 312 arêtes →12 arêtes
6 face de degré 3→6 sommets de degré 3
cube →octaédre octaédre →cube
5.5.2 Construction
Tout se passe dansRd. SoitA= (a1, . . . , ad) Dénition
Transformation polaire associe àAle demi-espace A0 ={X/A.X≤1} avec A.X=a1x1+a2x2+· · ·+adxd
Remarque 1
Si A= 0alors ce n'est plus un demi-espace, mais l'espace tout entier.
Remarque 2
La condition A.X≤1 est symétrique par rapport àAet X. Dénition
SoitA ⊆Rd un sous-ensemble deRd. Alors le transformé polaireA0 deAest
\
A∈A
{X/A.X≤1}= \
A∈A
A0={X/A.X≤1 ∀A∈ A}
30 CHAPITRE 5. POLYTOPES Remarque
Aest l'union de ces points.
A0 est l'intersection des demi-espaces correspondants Proposition
1. A ⊆ B ⇒ A0⊇ B0
2. Quel que soit A, A0 est toujours convexe (comme intersection des en- sembles convexes)
Exercice
Le transformé polaire d'une boule de rayon R avec le centre dans l'origine est la boule de rayon R1 avec le centre dans l'origine.
Lemme
1. SiAcontient l'origine dans son intérieur, alorsA0 est borné 2. SiAest borné,A0 contient l'origine dans son intérieur
3. SiAest borné et contient l'origine,A0 borné et contient l'origine Preuve
1.
2.
Désormais, nous considérons des ensembles bornés et contenant l'origine dans leur intérieur.
5.5. TRANSFORMATION POLAIRE ET DUALITÉ DE POLYTOPE 31 Théorème
Si Aest convexe, alors(A0)0 =A.
Preuve
1. Supposons A ∈ A. Alors ∀X ∈ A0 on a A.X ≤ 1 et par conséquent A∈T
X∈A0X0 (X est un point,X0 est un demi-espace).
X0={A/A.X≤1}. DoncA∈(A0)0 c'est à direA ⊆(A0)0
2. Supposons Z /∈ A. Comme A est convexe, on peut tracer un hyperplan H qui sépareZ et A; écrivons l'équation de H sous forme K.A = 1 (K coecients,Avariables).
Pour toutA∈ A, on a K.A≤1et KZ >1 K∈ A0
K∈ A0 et K.Z >1⇒Z0∈/(A0)0 A rééchir
Est-il vrai que (A0)0 =conv(A)
Théorème
Si P est un polytope,P0 aussi est un polytope.
Preuve
Prenons tout d'abord les sommets A1, A2, . . . , An de P. Par construction, P0⊆Tn
i=1A0i. Montrons qu'en fait c'est une égalité.
SoitX /∈P0, et donc il existeA∈P tel que AX >1. Mais
A=
n
X
i=1
αiAi, αi≥0,
n
X
i=1
αi= 1
Et donc pour au moins unAi, on doit avoirAiX >1. Parce que si jamais pour toutA, on a Ai≤1alors
A.X= (X
αiAi)X=X
αi(AiX)≤X αi= 1
Théorème
1. Il y a une bijection entre les faces de dimension k de P et les faces de dimensiond−k−1 deP0.
2. Cette bijection inverse la relation d'inclusion.
32 CHAPITRE 5. POLYTOPES
5.5.3 Construction de polytope en utilisant la formule
5.6 Polytopes simplicial et simples
Dénition
Polytope simplicial : toute face est un simplexe Dénition
Polytope simple : dual à un simplicial
5.6. POLYTOPES SIMPLICIAL ET SIMPLES 33 Une face (un simplexe) de dimension p−1 (il y a p sommets). Combien possède-t-telle de faces de dimensioni−1(isommets) ? :Cip
Une face de dimensionj = (d−1)−(p−1) = d−p. Elle appartient (sert comme face) à combien de faces de dimensionk= (d−1)−(i−1) =d−i? Le même nombreCip= Cd−id−j.
5.6.1 Équations de Dehn-Sommerville
(uniquement pour les polytopes simples) Raisonnement
Toute face d'un polytope est elle-même un polytope, mais de dimension inférieure. SoitF une face de dimension k; appliquons àF la formule d'Euler
k
X
j=−1
(−1)jnj(F) = 0
Prenons la somme sur toutes les faces de dimensionk. X
F dimk k
X
j=−1
(−1)jnj(F) =
k
X
j=−1
(−1)j X
F dimk
nj(F)
| {z }
#(toutes les faces de dimensionjde toutes les faces de dimensionk)
Si notre polytope est simple, chaque face de dimension j est comptée Cd−kd−j fois, sauf∅ (j=−1) qui est compté une fois pour chaqueF
−nk(P) +
k
X
j=0
(−1)jCd−kd−jnj(P) = 0
k
X
j=0
(−1)jCd−kd−jnj(P) =nk(P) k= 0,1, . . . , d Soitd= 3
k= 0:(−1)0C33n0(P) =n0(P) n0=n0
k= 1:C23n0−C22n1=n1 3n0−n1=n1
k= 2:C13n0+ C12n1+ C11n2=n2 3n0−2n1+n2=n2
k= 3:C03n0−C02n1+ C01n2−C00n3=n3 n0−n1+n2−n3=n3
En manipulant ces équations, on trouve : Équations de Dehn-Sommerville
n1= 3 2n0 n2= 1
2n0+ 2
34 CHAPITRE 5. POLYTOPES Exemples
L'octaédre est simplicial (toutes les faces sont des triangles). Donc le cube est simple. On a
n0= 8
n1= 32×8 = 12 n2= 12×8 + 2 = 6
L'isocaédre est simplicial. Donc le dodécaédre est simple. On a n0= 20
n1= 32×20 = 30 n2= 12×20 + 2 = 12
Reconnaître les polytopes simplicials ou simples En dimension 3
simplicial : toutes les faces sont des triangles simple : tous les sommets sont de degré 3 Application
Le nombre des faces pour les dimensiosn k <d2 est O(nb12c).
Chapitre 6
Cartes
6.1 Dénitions
Dénition
Une variété de dimensiondest un espace topologique tel que le voisinage de chaque point est homéomorphe à un voisinage de points dansRd.
Homéomorphisme
Une bijection dans les 2 sens.
Formellement
Pour chaque point on est capable de faire le plan de son voisinage.
Quasi-dénition
variété compacte : de taille nie (on peut faire un nombre ni de plans) Contre-exemple
Cylindre inni et non-compacte.
Question
Peut-on déterminer la forme de la surface de la Terre sans sortid dans l'es- pace ?
35
36 CHAPITRE 6. CARTES Dénition
Une variété est orientable si après un long voyage et le retour au point de départ les notions de gauche et droite ne changent pas, la notion de sens trigonometrique ne change pas.
Théorème de classication des variétés compactes orientables de di- mension 2
Il y a un seul paramètreg= 0,1,2, . . .qui s'appelle genre :
Sphère : genre 0
genre 1 g= 1
genre2 g= 2
Comment peut-on représenter une variété de dimension2 ?
Le tore
Résumé : identier les côtés opposés du carré.
6.1. DÉFINITIONS 37
Observation
Après avoir collé les côtés, ce qu'on obtient sur la surface c'est un graphe.
Un graphe tout seul ne sut pas.
38 CHAPITRE 6. CARTES Exemple
Un brin d'arête est un petit morceau qui sort d'un sommet : .
# brins = 2. # arêtes.
Dénition
Une carte est un graphe connexe (les boucles et arêtes multiples sont accep- tées) avec l'ordre circulaire des brins d'arêtes autour de chaque sommet précisé.
1. Etiqueter les brins d'arêtes 2. Ecrire la permutation :
α= (1,2)(3,4)(5,6)(7,8)(9,10)(11,12) Elle associe à chaque brin le brin opposé de la même arête (αcomme arête)
3. Ecrire la permutation : σ= (1,6,9,11)
| {z }
ordre trigo
(2,3)(4,5,7) (8)(10)(12)
| {z }
pas oblige
Les sommets sont les cycles de cette ermuta- tion (σcomme sommet)
4. Les faces sont représentées par la permutation ϕ=α−1σ−1
ϕ= (1,3,7,8,5)(2,11,12,9,10,6,4) Les cycles correspondent aux faces α=α−1. Alors pourquoi écrireα−1 dans la formule ? σαϕ = identité carσαα−1σ−1
plus facile à se rappeler.
Théorème (formule d'Euler)
#(sommets)−#(artes) + #(f aces) = 2−2goùgest le genre de la surface.
Exemples sphère g= 0→ s−a+f = 2
tore g= 1→ s−a+f = 0
pretzel g= 2→ s−a+f =−2 Modèle combinatoire de carte
3 permutationsσ, α,ϕtel que σαϕ=id
ϕ=α−1σ−1 où
6.1. DÉFINITIONS 39 les cycles de σreprésentent les sommets
les cycles de αreprésentent les arêtes les cycles de ϕreprésentent les faces
Les permutations agissent sur les brins d'arêtes 2 conditions
1. tous les cycles deαsont de longueur 2
2. en appliquant à 1 brinαetσon peut arriver à tout autre brin
Exemple
σ= (1,2,3)(4,5,6) α= (1,5)(2,6)(3,4)
ϕ=α−1σ−1= (1,4,2,5,3,6) K4
4 sommets 6 arêtes 4 faces 4-6+4=2 4 sommets 6 arêtes 2 faces 4-6+2=0 Pour un grapheKn, le genre minimum :d(n−3)(n−4)12 e Exercice 1 (faisable)
Dessiner le grae du cube sur le tore de telle manière que toutes les faces deviennent hexagonales.
cube habituel : 6 faces de degré 4 nouvelle carte : 4 faces de degré 6 s−a+f = 8−12 + 4 = 0sur le tore Exercice 2
Dessiner (cad calculer) le graphe d'icosaédre sur la surface de genre 4, de telle sorte que toutes les faces soient de degré 5.
⇒ Prendreσ et αpour l'icosaédre habituel ; laisser αtelle qu'elle, et rem- placerσparσ2
40 CHAPITRE 6. CARTES
Les automorphismes d'une carte sont des permutations qui comutent avec σ,α,ϕ.
6.2 Algorithme pour l'enveloppe convexe dans R
3En dimension d, les algorithmes de l'enveloppe convexe sont de complexité O(nd+12 (en pier cas).
Avec 2 exceptions :
d=2 : O(nlogn)au lieu deO(n) d=3 : O(nlogn)au lieu deO(n2) 2 conditions
1. Les points sont en position générale.
2. les absices de tous les points sont distincts.
Méthode
diviser pour régner ou division-fusion
on divise l'ensemble de n points en 2 sous-ensembles de n/2 points qui sont à gauche et à droite d'un plan vertical
on applique récursicement la même méthode à chaque sous-ensemble on fait la fusion
t(n) = 2t(n/2) +f(n)oùf(n)est la complexité de la fusion.
Objectif
faire une fusion de 2 polytopesP1etP2(c'est-à-dire construireconv(P1∪P2)) enO(n1+n2)(ouO(n)). Alors on obtiendra que la complexité de l'algorithme serat(n) = 2t(n/2) +O(n)
serat(n) =O(nlogn)
Plusieurs étapes, chacunes intéressantes en soi.
Première étape
Soit un polytope convexe de dimension 3 ; construire sa projection surR2.
6.2. ALGORITHME POUR L'ENVELOPPE CONVEXE DANSR3 41
Idée naïve : projeter tous les sommets, puis trouver l'enveloppe convexe des projections
Hélas O(nlogn)au lieu deO(n).
N'oublions pas que les sommets sont triés selon leur coordonnéesx.
1. Trouver le sommet du polytope avecxmax
2. Regarder toues les voisins de Aet trouver les points B et C avec les angles minimaux par rapport à la verticale ; puis regarder les voisins deB et trouverD tel que l'angle par rapport à ABest minimal, et ainsi de suite
3. Complexité : au pire, on parcours 2 fois toutes les arêtes : O(n)
Question : Quel est le nombre maximum d'arêtes d'une carte planaire sans boucle ni arête multiple avecnsommets ?
Il faut faire en sorte que toutes les faces deviennent triangulaires. Alors s−a+f = 2
s=n a= 3f /2 n−32f+f = 2
n−12f = 2⇒f = 2n−4 a=32(2n−4) = 3n−6
amax= 3n−6 =O(n) fmax= 2n−4 =O(n)
42 CHAPITRE 6. CARTES Icosaèdre : 12 sommets, 30 arêtes : 30 = 3×12−6
Deuxième étape
Construction de l'enveloppe convexe en R2par division-fusion.
Nous avons 2 polytopes convexes enRd; il faut les fusionner.
1. Trouver le point le plus à droite du polytope de gauche et le point le plus à gauche du polytope de droite et les joindre
2. Pousser ce segment vers le haut, puis vers le bas
3. Enlever les sommets et les arêtes in- utiles
Remarque : La complexité de toutes les fusions ensemble est linéaire. En eet :
1. chaque arête est traitée au plus 2 fois.
Si on l'enlève, on n'y revient plus 2. le nombre total d'arêtes créées est li-
néaire car à chaque fusion on crée 2 nouvelles arêtes (bleues)
Le nombre total d'arêtes créées pendant toutes les étapes intermédiaire ≤2 fois le nombre de fusions
Troisième étape
En remontant une nouvelle arête de l'en- veloppe de 2 polygones, nous trouvons une nouvelle arête de l'enveloppe des polytopes
Et le plan vertical est le plan support qui passe par cette arête.
Méthode paquet-cadeau
On tourne le plan sup- port par rapport à la nou- velle arête
Le premier sommet trouvé est l'extrémité d'une nou- velle arête
On tourne H0 autour de la nouvelle arêteM E(l'axe de roation change !) et ainsi de suite . . .
Mais . . .qu'est ce que cela veut dire tourner le plan du point de vue algo- rithmique ?
6.2. ALGORITHME POUR L'ENVELOPPE CONVEXE DANSR3 43 Tourner veut dire parcourir tous les voisins deM et deAet trouver le plus proche (l'angle entreH et H0 est minimal)
Danger !
On trace un plan qui découpe le sommetM de tout le reste, et on dessine tout sur ce plan là. Les traces des plans deviennent lignes droites, les traces des novelles arêtes deviennent des points
Les pointsB,C,Dappartiennent au même polytope queM
Les pointsE, F, Gappartiennent à l'autre polytope
Les gagnants :E,F,G,D
Remarque très importante : les pointsB,C,Dsont des voisins du point M et ils sont traités en ordre circulaire ! ! !
Conclusion : on parcourt les voisins deM au plus deux fois.
Chapitre 7
Diagramme de Voronoï et Complexe de Delaunay
Dénitions
Soit un ensemble de points surR2: M={M1, M2, . . . , Mi} A chaque pointMi on associe une région
V(Mi) ={X:dist(X, Mi)≤dist(X, Mj)∀j6=i}
L'ensemble des régionsV(Mi),i= 1,2, . . . , n, c'est le diagramme de Voronoï Généralisations possibles
1. Rd au lieu deR2
2. d'autres métriques, par exemple : la métrique de Manhattan la métrique sur sphère
3. segments au lieu des points (mouvement à l'intérieur des batiments) Exemples (Essais de dessins)
2 points 3 points
45
46CHAPITRE 7. DIAGRAMME DE VORONOÏ ET COMPLEXE DE DELAUNAY Observation
Toute régionV(Mi)est une intersection den−1demi-plans formés par les médiatrices deMi et Mj,i6=j.
Par conséquent, V(Mi) est un polygone (ou polytope s'il s'agit de Rd) convexe mais pas strictement borné.
Applications possibles structure de cristaux structure de l'univers carapace d'une tortue mouvement de robots
problèmes algorithmiques comme recherche du plus proche voisin, . . .
Complexe de Delaunay
est le complexe dual de Voronoï, ou bien, s'il s'agir de R2, la carte duale formée de segments de lignes droites : on connecteMi etMj si et seulement si V(Mi)et V(Mj)ont une frontière commune qui n'est pas réduite à un point.
On fait quoi avec AB?
Dans la théorie des cartes, on aurait pris l'arête bleue.
Là, on pour le complexe de Delau- nay, on prend la verte.
47
Supposons qu'il n'y ait pas 4 points Mi sur le même cercle, alors il n'y a pas non plus 4 médiatrices se coupant dans le même points⇒le complexe de Delaunay est une triangulation
3 propriètés
1. Une triangulation avec les sommets M1, . . . , Mn est une triangulation de Delaunay si et seulement si chaque cercle circonscrit autour d'un triangle ne contient pas d'autres points de l'ensembleM
2. Granularité : soit un triangle et soit le plus petit cercle qui le contient SoitRle rayon maximal d'un tel cercle sur tout les triangles
Alors pour la triangulation de Delauney,Rest minimal
3. Finesse (seulement en dimension 2). Il y a mtriangles , soit3mangles : α1, α2, . . . , α3m. Alors pour le complexe de Delauney le verteur(α1, α2, . . . , α3m) est le plus grand en ordre lexicographique.
Idée d'algorithme
Un algorithme (non déterministe) qui provient de la propriété 3 : on considère 2 triangles voisins.
ne rien faire
Faire le ip si cela rend le plus petit des 6 angles plus grand
Comme ça, on augmente le rang de la triangulation en ordre lexicogra- phique
1. le nombre de triangles est ni 2. l'ordre lexicographique est total
Complexité : ? ? ?
48CHAPITRE 7. DIAGRAMME DE VORONOÏ ET COMPLEXE DE DELAUNAY Algorithme
1. Considérer dansR3 le paraboloïde de révolutionz=x2+y2
2. Relever tous les points Mi sur le paraboloïde : M(x, y)→ P(x, y, z) où z=x2+y2. On obtientP1, P2, . . . , Pn
C'est en O(n)avec une très petite constante 3. Ajouter un pointP0= (0,0, z0)avecz0 très grand
C'est en O(1)
4. Construire l'enveloppe convexe des pointsP0, P1, P2, . . . , Pn
C'est en O(nlogn)
5. projeter surR2 toutes les arêtes qui ne contiennent pasP0 C'est en O(n)
Complexe de Delauney enRd se réduit à l'enveloppe convexe enRd+1.
Chapitre 8
Annexes
8.1 Le produit vectoriel
Soient deux vecteurs~p= (p1, p2, p3)et~q= (q1, q2, q3) Comment écrire un vecteur~r orthogonal à~pet ~q?
~
r=~p×~q=
p2 p3 q2 q3
, −
p1 p3 q1 q3
,
p1 p2 q1 q2
Considérons le déterminant
u v w
p1 p2 p3
q1 q2 q3
=u·
p2 p3
q2 q3
−v·
p1 p3
q1 q3
+w·
p1 p2
q1 q2
= (u, v, w)·~r
Deux observations
1. Si on prend(u, v, w) =~p= (p1, p2, p3), le déterminant s'annule⇒ ~p⊥~r 2. Si on prend(u, v, w) =~q= (q1, q2, q3), le déterminant s'annule⇒ ~q⊥~r
8.2 Paraboloïde
Equation z = x2+y2. Fixons z = cte; alors x2+y2 = cte ⇒ un cercle
⇒donc il s'agit d'une gure de révolution. C'est quoi qui tourne ? Prenons par exempley= 0:z=x2 →parabole
49
50 CHAPITRE 8. ANNEXES