Académique Documents
Professionnel Documents
Culture Documents
Triangulation
Une triangulation d'une rgion polygonale du plan est une d
omposition de
ette rgion
en triangles dont les sommets sont
eux du bord de la rgion. Une triangulation permet
souvent de rsoudre plus fa
ilement des problmes portant sur la rgion qu'elle triangule.
Le problme du gardiennage d'une galerie d'art en est un bel exemple.
Au dbut du
XXe si le N.
simple admet une triangulation [Len11. Cette
onstru
tion fournit de fait un algorithme
de
omplexit quadratique en fon
tion du nombre de sommets. Du temps de l'mergen
e
de la gomtrie algorithmique, Garey et al. (1978) ont propos un algorithme de
omplexit
O(n log n)
ompliqu. Contrairement au as bidimensionnel le nombre de ttradre d'une triangulation d'un polydre (mme onvexe)
plus, tous les polydres ne sont pas triangulables, moins d'ajouter des sommets intrieurs (dits de Steiner),
omme le montre le
as du polydre de Shnhardt. Ce polydre
est obtenu partir d'un prisme de base triangulaire en tournant lgrement le triangle
suprieur par rapport au triangle infrieur. Du
oup, les fa
es verti
ales du prisme (des
quadrilatres) ne sont plus planes et il faut ajouter une diagonale pour trianguler
ha
un
de
es quadrilatres gau
hes. En
hoisissant
ette diagonale de manire rendre les quadrilatres '
on
aves', on vrie que toute nouvelle arte entre deux sommets du polydre
est extrieure au polydre. Il n'est don
pas possible de trianguler son intrieur.
Rfren
es :
- Handbook of Dis
rete and Computational Geometry. Edited by Goodman and O'Rourke.
CRC Press 2004.
33
34
3.1
Existen e
Dnitions
La
ligne polygonale
(s1 s2 , . . . , sn1sn ).
de sommets
segments
simple si deux
de ses segments non
ons
utifs sont disjoints et si deux de ses segments
ons
utifs
s'interse
tent en un unique sommet. Un
polygone
ferme. On appelle
ane), un polygone
extrieur
de
diagonale
d'un polygone
P . Une triangulation de P est un re
ouvrement de son intrieur (au sens large, i.e. de
IntP ) par des triangles d'intrieurs disjoints et dont les
ts sont soit des artes soit des
diagonales de P .
Lemme 3.1 Tout polygone ayant au moins 4 sommets admet une diagonale.
Preuve :
Soit
un polygone et soit
le sommet de
l'ordre lexi
ographique (s est le sommet le plus bas parmi les sommets les plus gau
he).
Soit
le sommet pr dant
Si le triangle
spq
et
le sommet suivant
P \ {s, p, q},
P.
alors le
Soit
un polygone et soit
un ensemble de diagonales de
d'intrieurs
disjoints qui soit maximal pour l'in lusion. Toute rgion borne du graphe plan
maximalit de
D.
2
n que toute triangulation
n 3 diagonales.
n2
triangles et
d'un polygone
sommets a
35
Exer i e 3.4 La preuve de Lennes pour l'existen e d'une triangulation est pro he de la
3.2
Algorithmes
Si un polygone
P.
O(n), o n = |P |
Thorme 3.5 Il existe un algorithme qui triangule tout polygone n sommets en temps
O(n log n) et espa
e O(n).
Nous proposons
i-dessous deux preuves
'est dire deux algorithmes pour
e thorme. Elles sont respe
tivement d
rites dans les arti
les suivants :
- A theorem on polygon
utting with appli
ations. B. Chazelle. In Pro
. IEEE Sympos.
Found. Compu. S
i., pp. 339-349, 1982.
- Triangulating a simple polygon. M.R. Garey, D. S. Johnson, F. P. Preparata and R. E.
Tarjan. Inform. Pro
ess. Lett., 7 :175-179, 1978.
3.2.1
qui oupe
P.
Par la suite
a une
|P |.
Thorme 3.6 (du polygon utting, Chazelle 1982) Soit P un polygone n som-
mets et soient L et V les listes asso
ies (respe
tivement des sommets tris selon l'ordre
lexi
ographique des
oordonnes et des paires d'artes verti
alement visibles). Il existe un
36
algorithme de
omplexit O(n) pour
al
uler une diagonale de P qui
oupe P en deux
polygones P1 et P2 tels que
2
|P1 |, |P2| n + 1.
3
De plus, les listes Pi , Li et Vi relatives
ha
un des deux polygones pour i = 1, 2 peuvent
tre
al
ules en temps O(n) galement.
On montre dans un premier temps qu'il existe un segment verti
al intrieur
et qui le
P ont des abs
isses distin
tes. Il suit que
haque trapze de la d
omposition intrieur
P est bord par exa
tement un sommet de P sur sa gau
he et un sommet de P sur sa
droite. Soit T le graphe plan obtenu en reliant par un segment
haque paire de sommets
in
idents un mme trapze (il y a don
un segment par trapze). T est
onnexe (utiliser
de
par exemple la onnexit du graphe d'adja en e des trapzes) et a y lique (utiliser l'a y li it du graphe d'adja en e des trapzes), i.e. que
de position gnrique montre que
haque sommet est in
ident trois trapzes au plus et
don
que le degr des sommets de
a de T
arbre de
T a.
P.
Cette rotation
est elle-mme simule en
onsidrant l'ordre lexi
ographique sur les paires (abs
isses,
ordonnes) des
oordonnes des sommets.
est de degr au plus 3. Alors il existe une arte a de T telle que
haque
omposante de
sommets.
T a possde au plus 2n
3
Preuve :
Soit
une arte de
de
T.
Si une omposante
telle que
de
T b
vrie
n
|C| < |K| <
3
de
T a
|C| < n3
37
T b
n3 .
(de fait
On sait d'aprs le lemme 3.7 qu'il existe une verti
ale dont
2n
3
sommets. En par
ourant la liste V des paires d'artes verti
alement visibles on trouvera
(a, b)
deux artes
et indexons les
sommets
partir de es
indi
es on peut
al
uler en temps
onstant la longueur de la ligne polygonale entre deux
sommets d'indi
es
vers
et
j i+1
si
j i et n j + i 1
sinon. On
peut don tester en temps onstant si une paire d'artes onvient et de e fait dterminer
(a, b)
en temps linaire.
Considrons le quadrilatre
form par
P.
et
Armation I : Cc
les sommets de
Pc
et
Cd
(resp. de
Sc
et
Sd
(resp. de
Cd )
sont
Pd ).
Preuve de l'armation I :
de Jordan que
Cc
mme de leurs enveloppes
onvexes. Par ailleurs, toujours l'aide du thorme de Jordan,
on montre que toute rgion borde par une
omposante de
Sc P d
et un segment de
38
Sc P c
et un segment de
c.
d'aprs l'armation I. Notre but est de montrer que dans toute triangulation T de Q
tout d'abord que tout triangle de T
ontient n
essairement une arte de Cc ou bien de
Cd . En eet, Cc et Cd tant
on
aves, un tel triangle ne peut avoir deux sommets non
adja
ents sur une mme de
es deux
hanes. Le dual de T est don
une
hane simple,
l'une des artes de
bord par i et i+1 . Don
i est une arte de Cc ou de Cd et on note i la sous-
hane
de respe
tivement Pc ou Pd joignant les extrmits de i . Pour
haque diagonale i de T ,
on note enn i la sous-
hane de P
ontenant a et joignant les extrmits de i .
que
on pose
Q )
est une
Preuve de l'armation II :
de
P ) et que
n
|i | + 1.
3
de
Cc
ou de
Cd
on ait
n
|i | .
3
1 Chazelle utilise
de
de
un autre argument. Il extrait de Sc une ligne polygonale simple joignant les extrmits
c et dont l'enveloppe
onvexe est Cc Cette ligne est
onstitue de
omposantes de Sc et de segments
c. Il utilise ensuite l'algorithme de
omplexit linaire pour
al
uler l'enveloppe
onvexe d'une ligne
polygonale simple.
39
On a en parti ulier
(i.e.
n
|1 | = |1 + a| + 1.
3
n
un
ertain i [1, k] on a |i |
3
i < k ) et
alors
2
|i | < |i+1 | n + 1.
3
En eet, on a
n
|i+1 | = |i + i | = |i | + |i | 1 2 1.
3
2
Alors que |k | n + 1 (faire un raisonnement analogue la majoration de |1 |).
3
on
lut par r
urren
e sur k que l'une au moins des diagonales i vrie
On
2
n
+ 1 |i | n + 1.
3
3
Ce
i permet galement de
onrmer l'armation en
hoisissant
omme diagonale de
P.
Armation III : Q
La onjon tion des armations II et III permet de on lure la premire partie du thorme. Il reste vrier, en appelant
P1
et
P2
Pi , Li et Vi relatives au polygone Pi pour i = 1, 2 peuvent tre alO(n) galement. C'est lair pour les listes Pi et Li ( es listes ontiennent
plus pr
isment des pointeurs bidire
tionnels sur un tableau des sommets x une fois
pour toute. On peut asso
ier
ha
un des sommets du tableau un drapeau qui permet
de sle
tionner dans une premire passe les sommets qui nous intressent). Pour la liste
Vi
il sut de remarquer qu'elle est onstitue d'une part des paires d'artes de
dans
Pi
(a, b)
de
1. si
V,
et telle que
(a, )
Vi
Pi
(et don
et
b Pi ,
alors on pla e
(a, b)
qui sont
dont la visibilit
une arte de
Pi ).
a Pi
(a, b) de V
b n'est pas
dans
Vi ,
40
2. sinon, si
et
a Pi , b 6 Pi , et si les
a, b et ont une interse
tion
proje
tions verti
ales sur l'axe des abs
isses des artes
non vide, alors on pla
e
dj prsente dans
Vi .
(a, )
dans
Vi
de
telles que
(a, )
est dans
Vi .
2
Soit
don un polygone
P1
et
P2
P tris selon
O(n log n) et une
des sommets de
pla
e linaire suivant tout algorithme de tri standard. Il faut
onstruire galement la
liste
O(n log n)
par un algorithme
C(n)
n.
On
peut rire
C(n) kn +
{C(n1 ) + C(n2 )}
C(n) = O(n log n). Soit tel que 2/3 < < 1.
2
n
Choisissons N assez grand pour que n > N = n + 1 < n et
log 1 > 2 log n.
3
2
Choisissons ensuite K susamment grand pour que n N = C(n) Kn log n et
1
pour que K log
> 2k .
pour un ertain
k > 0.
max
n1 +n2 =n+2
n1 ,n2 23 n+1
Montrons que
1
n
Kn log n + K(2 log n log ) Kn log n
2
3.2.2
C(n) Kn log n.
monotones. Cette tape prend un temps O(n log n). Ces polygones monotones sont ensuite
trianguls en temps linaire selon une te
hnique approprie. Au total on obtient don
une
omplexit quivalente l'algorithme diviser pour rgner de Chazelle.
41
Polygones monotones
Dnition 3.9 On
onsidre une dire
tion du plan qu'on appelle
verti ale.
La dire
tion
orthogonale est dite horizontale. La hauteur d'un point est sa proje
tion horizontale sur
la verti
ale. Une ligne polygonale L est dite (stri
tement) monotone si la hauteur de la
squen
e des sommets de L est (stri
tement) monotone. Dit autrement L est monotone
si toute droite horizontale
oupe L en au plus une
omposante, rduite un point dans le
as stri
t.
Un polygone P est dit (stri
tement) monotone s'il est la runion de deux lignes polygonales
(stri
tement) monotones ayant seulement leurs extrmits en
ommun. Dit autrement un
polygone P est monotone (resp. stri
tement monotone) si toute droite horizontale
oupe
P en au plus deux
omposantes (resp. au plus deux points).
Un sommet intrieur (i.e. qui n'est pas une extrmit) une ligne polygonale ou un
polygone est dit maximum, (resp. minimum) (stri
t) si
es deux sommets voisins sont
(stri
tement) en dessous (resp. au dessus) de la droite horizontale passant par
e sommet.
On appelle extremum (stri
t) un sommet qui est soit maximum (stri
t) soit minimum
(stri
t).
On vrie aisment qu'un sommet n'est pas un extremum si et seulement si sa hauteur
est stri
tement
omprise entre
elles de ses deux sommets voisins. Par suite :
Lemme 3.10
une ligne polygonale ayant au moins 3 sommets est stri
tement monotone si et seulement si au
un de ses sommets intrieurs n'est extremum.
Un polygone est stri
tement monotone si et seulement si il a exa
tement deux extrema.
Dnition 3.11 Un sommet d'un polygone est dit rexe si l'angle intrieur au polygone
form par les deux artes in
identes au sommet est stri
tement plus grand que . Une
sous-
hane d'un polygone est dite
on
ave si ses sommets intrieurs sont rexes.
Soit
p et q des sommets de P de
p et q
oupent P en deux
PG et PD
telles que
PG
C,
l'intrieur de
uv
de
h.
et le segment
42
D est extremum
rexe.
Cette dernire
ontradi
tion permet de
on
lure la monotoni
it de
PG
P.
et don de
Il
de
~h
~h
l'arte issue de
vers
b la
x est extremum, il ne peut tre rexe,
e qui montre
que l'intrieur de P est entre b et a dans le sens dire
t, ou en
ore droite de a. Montrons
que
'est galement le
as pour l'intrieur de la
ourbe de Jordan uv C . Pour
ela, on
note Ca et Cb les deux
omposantes de C \ {x}
ontenant respe
tivement a et b et on
note w {u, v} l'extrmit de Ca autre que x. Il est
lair qu'on ne peut avoir w = u,
sinon la
ourbe simple S forme de Ca , de la demi-droite horizontale droite de x et de la
demi-droite horizontale gau
he de w formerait une
ourbe de Jordan qui ne ren
ontre
pas Cb . Or l'intrieur de b est au dessus de S et l'extrmit v de Cb est au dessous de
S ,
e qui
ontredit la
onnexit de Cb . Don
w = v . Comme l'intrieur de uv C est au
dessus et don
droite de vu, il en est de mme pour Ca , i.e. l'intrieur de uv C est
droite de a.
suit
elle de
dans le sens indire t (le sens des aiguilles d'une montre). On note
x.
Comme
Un raisonnement analogue permet de montrer que le sommet sp
i dans (B) qui est
videmment extremum est galement rexe.
Preuve :
P,
est
ne peut
tre extremum rexe dans les polygones qui lui sont in
idents. Il suit du lemme 3.12 que
es polygones sont tous monotones. Le
as non gnral o plusieurs sommets peuvent
possder une mme ordonne se traite en simulant une perturbation par rotation l'aide
de l'ordre lexi
ographique sur les paires (ordonne, abs
isse).
Notons que la d
omposition trapzodale peut s'obtenir en temps
O(n log n)
et que
l'ajout de haque diagonale s'obtient en temps onstant par diagonale (en utilisant une
43
d'un polygone P en polygones monotones qui n'utilise pas proprement parler la d omposition trapzodale de P , mais seulement un balayage des sommets de P .
Preuve :
P
Soit
en deux hanes monotones. Les sommets sur haque hane sont naturellement tris
selon leur ordonne. La fusion (en temps linaire) de
es deux listes permet d'obtenir la
liste
des sommets de
Pi
une autre
est triangule et
forme un polygone stri tement monotone que l'on doit trianguler. Soit
le sommet maximum de
Pi .
Pi
et soient
Gi
et
Di
Pi
issue de
Soit
et (ii) le sommet
1. Si
on empile
2. Si
s = i
s.
V.
(i.e.
le dernier sommet de
est
rexe) alors
et si
s n'est
ha un des sommets de
hormis
alors on relie
(et don de
P)
) ni au
une
. On a ainsi triangul une partie suprieure
de Pi . Le reste
onstitue le polygone Pi+1 . On vide ensuite et on r-insert son
dernier sommet, qui devient le sommet i+1 , puis le sommet s ;
es deux sommets
formant les deux plus hauts sommets de Pi+1 . On dnit galement i+1
omme le
sommet suivant le long de Pi . Clairement les invariants (i) et (ii) sont rtablis.
sommets de
Pi
autre arte de
3. Si
Pi
par monotonie de
de
s est
onvexe dans Pi ) alors on relie s par des segments aux derniers
sommets sk , sk+1 , . . . , s1 de , hormis le tout dernier s auquel il est dj reli, de
sorte que la droite ssk est support pour (i.e. les sommets de sont d'un mme
t de
ette droite) mais que la droite ssk+1 ne l'est pas. nouveau
es segments
sont des diagonales de Pi
ar au
une des deux
hanes Gi et Di ne peut re
ouper
le segment ssk du fait de leur monotonie. On a ainsi triangul une partie de Pi .
Le reste
onstitue le polygone Pi+1 . On dpile alors les sommets sk+1 , . . . , s de
ave
(i.e.
44
et insert le sommet
s.
ssk
soit support de
montre que
ontient bien une hane on ave et que les invariants (i) et (ii) sont rtablis.
P.
Pour haque
sommet balay les oprations ee
tues
i-dessus se d
omposent dans
ha
un des trois
as en un nombre
onstant d'oprations lmentaires auquel s'ajoute un nombre d'oprations proportionnel au nombre de diagonales ajoutes la triangulation. Comme il y
a un nombre linaire de diagonales et que l'on balaye un nombre linaire de sommets, le
ot total de la triangulation est linaire.
3.2.3
Le problme
ommunment attribu Vi
tor Klee en 1973 est le suivant : tant donn
une galerie d'art dont le sol a la forme d'un polygone,
ombien de gardiens (ou
amras)
xes susent garder la galerie ? On sous-entend que
haque gardien peut regarder dans
toutes les dire
tions autour de lui.
xy
et
y.
Un ensemble
X P ouvre P
si
P = xX VP (x)
P . Le problme de la galerie
P . Le problme
de Klee tait plus pr
isment de trouver la taille minimale g(n) telle que tout polygone
n sommets est
ouvert par un ensemble de taille g(n).
i.e. si l'union des zones de visibilits des points de
d'art revient don
her
her un ensemble
re ouvre
C est
k -
oloriage de E .
on parle d'un
P.
: soit
dans
C.
un polygone
oloriage
Si le ardinal de
sommets et
d'un
est
une
tel
est tri olore (ses trois sommets ont des ouleurs 2 2 distin tes) :
de
T,
troisime sommet, disons rouge. Si l'arte (rouge, blan ) de e triangle est une diagonale,
45
a.
T.
tk
ave un sommet du t
t1
tk .
t1
ave un
du peigne ne peut
ouvrir simultanment les deux pointes de deux dents du peigne. Il
faut don
au minimum
L'algorithme de
oloriage de la preuve du thorme est
lairement de
omplexit linaire. Compte tenu de l'existen
e d'un algorithme de triangulation de
omplexit linaire [Cha91,
e
i permet de trouver en temps linaire, pour un polygone donn,
un ensemble
ouvrant de taille minimale dans le
as le pire. Par
ontraste, trouver la
taille minimale de tout ensemble
ouvrant pour un polygone pr
is est un problme NPdi
ile [Agg84.
Rfren
es :
-