Vous êtes sur la page 1sur 13

Chapitre 3

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.

J. Lennes montre de manire onstru tive que tout polygone

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)

pour trianguler un polygone

ts. Aprs diverses amliorations

( f. notes historiques du livre de [dBCvKO08), Bernard Chazelle montre en 1991 qu'un


polygone simple peut tre triangul en temps linaire. L'algorithme de Chazelle [Cha91
est rput trs omplexe. Une version plus simple et randomise est d rite par Amato
et al. [AGR01.
Le problme de la triangulation de l'intrieur d'un polydre dans IR

est beau oup plus

ompliqu. Contrairement au as bidimensionnel le nombre de ttradre d'une triangulation d'un polydre (mme onvexe)

sommets peut varier suivant la triangulation. De

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

Gomtrie algorithmique. Mars 2009. Fran is Lazarus.

3.1

Existen e

Dnitions

La

ligne polygonale

(s1 s2 , . . . , sn1sn ).

(s1 , . . . , sn ) est la suite de


ferme si s1 = sn ; elle est

de sommets

Cette ligne polygonale est

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

est une ligne polygonale simple et

artes les segments d'un polygone. Par le thorme de Jordan (version


P spare le plan en deux rgions onnexes appeles intrieur et
P . Dans e hapitre, on notera respe tivement IntP et extP es rgions ( e

ferme. On appelle

ane), un polygone

extrieur

de

sont des ouverts du plan).


Une

diagonale

d'un polygone

est un segment dont l'intrieur relatif (i.e. le segment

priv de ses extrmits) est intrieur

et dont les extrmits sont des sommets de

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

de oordonnes minimales pour

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

pour l'ordre ir ulaire dans

ne ontient (au sens large) au un sommet de

P \ {s, p, q},

P.

alors le

pq est une diagonale : au une arte de P ne peut ren ontrer l'intrieur ni le


spq ar l'une de ses extrmits serait ontenue dans spq . Don toute demi-droite
issue d'un point x intrieur au segment pq et passant par s ne ren ontre P qu'une seule
fois (en s). Par le thorme de Jordan, et puisque la droite est extrieure P l'inni,
le point x est intrieur P , i.e. pq est intrieur P .
Sinon, soit r un sommet de P intrieur au triangle spq et qui minimise la distan e la
droite pq . On montre aisment que le segment sr est une diagonale de P .
segment
bord de

Exer i e 3.2 Complter les dtails manquant de la preuve pr dente en indiquant en

parti ulier o intervient l'hypothse sur le nombre minimal (4) de sommets.

Thorme 3.3 Tout polygone admet une triangulation.


Preuve :

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

est n essairement un triangle ; dans la ngative le lemme pr dent ontredirait la

maximalit de

D.

2
n que toute triangulation
n 3 diagonales.

On montre par r urren e sur


exa tement

n2

triangles et

d'un polygone

sommets a

35

Gomtrie algorithmique. Mars 2009. Fran is Lazarus.

Exer i e 3.4 La preuve de Lennes pour l'existen e d'une triangulation est pro he de la

pr dente quoique lgrement dirente. Soit spq un triangle et soit R un ensemble de


points intrieurs e triangle. Montrer qu'il existe r R tel que rsp R = {r} (i i rsp
dsigne le bord et l'intrieur du triangle). Complter la preuve de Lennes.

3.2

Algorithmes

Si un polygone

est d rit sous forme d'une liste doublement hane de sommets, la

re her he d'une diagonale selon la preuve du lemme 3.1 prend un temps


est le nombre de sommets de

P.

O(n), o n = |P |

On en dduit aisment un algorithme de triangulation

de omplexit quadratique. Nous allons voir deux algorithmes plus e a es.

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

Algorithme diviser pour rgner

L'algorithme de Chazelle onsiste al uler en temps linaire une diagonale du polygone

qui oupe

en deux sous-polygones de tailles approximativement gales. En appliquant

e al ul de manire r ursive ha un des deux sous-polygones on obtient un algorithme


de triangulation de omplexit
On supposera que

O(|P | log |P |).

est d rit sous forme d'une liste y lique doublement hane de

ses sommets dans l'ordre ( y lique) le long de

P.

Par la suite

dsignera aussi bien

un polygone que sa liste doublement hane. On supposera galement disposer de la


liste

doublement hane des sommets de

oordonnes ainsi que de la liste

tris selon l'ordre lexi ographique de leurs

des paires d'artes de

P verti alement visibles, i.e.


P et dont les

des paires d'artes pour lesquelles il existe un segment verti al intrieur

extrmits sont respe tivement intrieures ha une de es deux artes. En onsidrant


la taille de la arte des trapzes ( f. se tion 8.2), il est fa ile de voir que la liste
taille linaire en fon tion de

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

Gomtrie algorithmique. Mars 2009. Fran is Lazarus.

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

oupe en deux polygones de tailles approximativement gales.

Lemme 3.7 Soit P un polygone n sommets. Il existe un segment verti al pq (i.e.


xp = xq ) intrieur P et interse tant P en ses deux extrmits p et q exa tement de
sorte que les deux omposantes de P \ {p, q} ontiennent ha une au plus 23 n sommets
de P .
Preuve :

On onsidre la d omposition trapzodale de

dans un premier temps que

( f. se tion 8.2). On suppose

est en position gnrique, 'est dire que tous les sommets

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

est un arbre. De plus, l'hypothse

de position gnrique montre que haque sommet est in ident trois trapzes au plus et
don que le degr des sommets de

est au plus trois.

Remarquons qu'on peut asso ier haque arte


et interse tant
de

a de T

un segment verti al intrieur

en ses extrmits. Le nombre de sommets des deux lignes polygonales

oupes par es extrmits est pr isment le nombre de sommets de haque sous

arbre de

T a.

Le lemme suivant permet don de on lure.

Dans le as non-gnrique, on perturbe les sommets en tournant de manire innitsimale


le polygone an de distinguer toutes les abs isses des sommets de

P.

Cette rotation

est elle-mme simule en onsidrant l'ordre lexi ographique sur les paires (abs isses,
ordonnes) des oordonnes des sommets.

Lemme 3.8 Soit T un arbre n sommets, n 2. On suppose que haque sommet de T

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

alors il existe une arte

de

1. ou bien une omposante

T.

Si une omposante

telle que

de

T b

vrie

n
|C| < |K| <
3

de

T a

est telle que

|C| < n3

37

Gomtrie algorithmique. Mars 2009. Fran is Lazarus.

2. ou bien haque omposante de

T b

est de taille au moins

n3 .

En eet, soit C la omposante omplmentaire de C dans T a et x le sommet in ident

C et a. Par les hypothses sur T , x est de degr d 2 dans C .


2n

 On ne peut avoir d = 0 ar dans e as on aurait |C | = 1 > , en ontradi tion


3
ave n 2.

 Si d = 1, on hoisit pour b l'unique arte in idente x dans C . Alors T b a une

C + a) de taille |C| + 1. On se retrouve alors dans le as 1 ou 2


|C| + 1 est respe tivement stri tement infrieur ou gal n3 .

 Sinon d = 2. Soient a1 , a2 les deux artes in identes x dans C et soit C1 (resp. C2 )


2n

la omposante de C a1 (resp. de C a2 ) qui n'est pas in idente x. Si |C1 | >


3
alors on se retrouve dans le as 1 en hoisissant b = a1 (et K = C + a + C2 ). De
2n
2n
mme en hoisissant b = a2 si |C2 | > . On peut don supposer |C1 | et
3
3
2n
n
n
|C2| 3 . Puisqu'on ne peut avoir la fois |C1 | < 3 et |C2 | < 3 , on a |C1 | n3
n
ou |C2 | . On se retrouve dans le as 2 en hoisissant b = a1 dans le premier as
3
et b = a2 dans le se ond as.
La preuve du lemme est alors termine par r urren e sur |C|.
2
omposante

(de fait

i-dessus selon que

Preuve du thorme 3.6 :

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

les extrmits oupent

en deux lignes polygonales ontenant ha une au plus

don n essairement une paire

(a, b)

telle que tout segment verti al de visibilit entre les

a et b oupe P omme i-dessus. Fixons un sommet s de P


de P de 0 n 1 dans l'ordre dire t le long de P partir de s.

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

: en in luant les deux sommets et en onsidrant la ligne de

dans le sens dire t, ette longueur vaut

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.

Il n'est en gnral pas possible de relier deux des extrmits de


ar elle- i peut re ouper

Considrons le quadrilatre

a et de b par une diagonale


a, b et les deux

form par

d reliant les extrmits de a et b situs d'un mme t d'une verti ale de


visibilit entre a et b. Le quadrilatre Q forme bien un polygone (simple) de par l'existen e
d'un segment de visibilit qui spare c et d. Soit Pc (resp. Pd ) la sous-ligne polygonale
de P bords par les extrmits de c (resp. de d) et ne ontenant ni a ni b. L'obje tif
est de al uler une diagonale entre un sommet de Pc intrieur Q et un sommet de Pd
intrieur Q de sorte que ette diagonale spare P omme voulu. Pour ela on onsidre
l'ensemble Sc (resp. Sd ) des omposantes de P IntQ qui s'appuient sur c (resp. sur d).
On pose Cc = Conv(Sc ) et Cd = Conv(Sd )
segments

P.

et

Armation I : Cc
les sommets de

Pc

et

Cd

sont disjointes. De plus, les sommets de

(resp. de

Sc

et

Sd

(resp. de

Cd )

sont

Pd ).

Preuve de l'armation I :
de Jordan  que

Cc

Par hypothse, il est fa ile de voir  l'aide du thorme

sont spares dans

par un segment verti al. Il en est don de

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

Gomtrie algorithmique. Mars 2009. Fran is Lazarus.

est ontenue dans une rgion borde par une omposante de

Sc P c

et un segment de

c.

On en dduit que Cc = Conv(Sc Pc ). Don Cc est l'enveloppe onvexe des sommets de


Sc Pc qui omprend les sommets de Pc in lus dans Sc et les extrmits des omposantes
de Sc . Or es sommets sont tous sur c don dans l'enveloppe onvexe des extrmits de
c qui sont des sommets de Pc . Un raisonnement analogue montre que les sommets de Cd
sont des sommets de Pd .
2

O(n) un sous-ensemble A des


sommets de P tel que Cc = Conv(A) : il sut de par ourir Pc et de retenir les sommets
de Pc ompris entre deux interse tions su essives de Pc ave c, lorsque Pc entre dans
Q la premire interse tion. On peut extraire de L la sous-liste LA , trie selon l'ordre
lexi ographique des oordonnes, des sommets de A. On obtient nalement Cc en temps
1
linaire partir de LA par l'algorithme lassique de balayage 6.1.2. De manire analogue
on al ule Cd en temps linaire.
L'armation pr dente permet de sle tionner en temps

On onsidre maintenant le polygone Q form des artes a et b et des deux hanes

on aves Cc = Cc c et Cd = Cd d. Notons que Q est bien une ligne polygonale simple

d'aprs l'armation I. Notre but est de montrer que dans toute triangulation T de Q

T fournit une diagonale qui spare P omme voulu. On remarque

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

e qui permet d'ordonner les diagonales de

de la premire, in idente au mme triangle

a, la dernire, in idente au mme triangle que b. On note 1 , 2 , . . . k es diagonales,


k+1 = b et pour i = 1, . . . , k 1, on note i la troisime arte du triangle de T

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

Armation II : Une des artes de T


diagonale de P qui oupe
2
plus n + 1.
3

Q )

est une

en deux lignes polygonales (extrmits in lues) de taille au

Preuve de l'armation II :

Supposons qu'une arte

de

Cc ou de Cd ne soit pas une

P ) et que
n
|i | + 1.
3

On a alors, en notant i l'autre hane de P joignant les extrmits de i


2n
 d'une part : |i | max{|Pc |, |Pd |} ,
3
2

 d'autre part : |i | + |i | = n + 2, d'o |i | n + 1.


3
L'armation est don vrie en hoisissant i omme diagonale de P .
arte de

(soit une diagonale soit une arte de

(et soit don une diagonale de

Supposons maintenant l'inverse que pour toute arte

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

Gomtrie algorithmique. Mars 2009. Fran is Lazarus.

On a en parti ulier

Par ailleurs si pour


diagonale de

(i.e.

n
|1 | = |1 + a| + 1.
3
n
un ertain i [1, k] on a |i |
3
i < k ) et

alors

n'est pas la dernire

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

peut tre triangul en temps linaire.

Preuve de l'armation III :

D'aprs la preuve de l'armation II, on peut trianguler

Q de manire in rmentale en al ulant haque diagonale i+1 en fon tion de la diagonale


i al ule pr demment : en notant pc et pd les extrmits de i et pc qc et pd qd les artes

de Q respe tivement in identes pc et pd et au dessus de i , alors on a soit i+1 = pc qd


soit i+1 = pd qc . Il sut de tester si qd (resp. pc ) est au dessous de la droite pc qc (resp.
pd qd ) pour savoir si pc qd (resp. pd qc ) est une diagonale. Il se peut que les deux le soient,
auquel as l'une ou l'autre onvient puisque dans les deux as on se retrouve dans une

onguration o la partie de Q au dessus de i+1 est onstitue de deux hanes on aves


relies par deux segments, e qui permet d'appliquer la r urren e.

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

les deux polygones oups par la diagonale

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

trouve, que les listes


ules en temps

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

et d'autre part des paires

est obstrue par


En par ourant

(a, b)

de

1. si

V,

et telle que

(a, )

pour haque paire

est une arte de

on peut ainsi onstruire

Vi

Pi

(et don

et

b Pi ,

alors on pla e

(a, b)

qui sont

dont la visibilit
une arte de

Pi ).

de la manire suivante. Pour haque paire

a Pi

(a, b) de V
b n'est pas

dans

Vi ,

40

Gomtrie algorithmique. Mars 2009. Fran is Lazarus.

2. sinon, si

et

a Pi , b 6 Pi , et si les
a, b et ont une interse tion

ne sont pas dans le mme polygone, disons

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

aprs avoir vri que ette paire n'tait pas

Cette dernire vri ation s'obtient en temps onstant en

marquant au fur et mesure les artes

de

telles que

(a, )

est dans

Vi .
2

Preuve du thorme 3.5 :

Soit

n sommets. L'algorithme onsiste


utting : la triangulation de P est

don un polygone

appliquer r ursivement le thorme du polygon


l'union des triangulations des polygones

P1

et

P2

obtenus par le thorme 3.6.

Pour initialiser l'algorithme il faut onstruire la liste

P tris selon
O(n log n) et une

des sommets de

l'ordre lexi ographique de leurs oordonnes ; e qui prend un temps

pla e linaire suivant tout algorithme de tri standard. Il faut onstruire galement la
liste

P verti alement visibles


trapzes de P ( f. se tion

des paires d'artes de

en par ourant la arte des

que l'on obtient en temps linaire


8.2). Cette arte a elle-mme une

taille linaire (lemme 8.2) et peut tre onstruite en temps

O(n log n)

par un algorithme

randomis ( f. se tion 8.2) ou non ( f. se tion 8.1).


Soit

C(n)

la omplexit maximale de la triangulation de tout polygone de taille

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

Pour n N on a don par hypothse C(n) Kn log n. Supposons par r urren e


C(m) Km log m pour m infrieur un ertain n > N . Pour n1 , n2 23 n + 1 tels que
n1 + n2 = n + 2 on a

kn + C(n1 ) + C(n2 ) kn + Kn1 log n1 + Kn2 log n2 kn + K(n + 2) log(n)


1
Kn log n + 2K log n + (k K log )n

1
n
Kn log n + K(2 log n log ) Kn log n
2

Ce qui permet de on lure

3.2.2

C(n) Kn log n.

Algorithme par d omposition en polygones monotones

L'algorithme de triangulation de Garey et al. se ompose de deux tapes. Dans un premier


temps le polygone trianguler est d ompos en polygones plus simples appels polygones

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

Gomtrie algorithmique. Mars 2009. Fran is Lazarus.

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.

Lemme 3.12 Un polygone sans extremum rexe est monotone.


Preuve :

Soit

un polygone sans extremum rexe. Soient

p et q des sommets de P de
p et q oupent P en deux

hauteur respe tivement minimale et maximale. Les sommets


lignes polygonales

PG et PD

n'est pas monotone. Alors par

sans perte de gnralit que

PG est gau he de PL . Supposons par l'absurde que


dnition, PG ou PD n'est pas monotone. On suppose

telles que

PG

n'est pas monotone. Il existe don une droite horizontale


+

oupant PG en deux omposantes au moins. On note h et h les demi-plans ouverts

respe tivement au dessus et au dessous de h. Par onnexit de PG , l'une des omposantes,


C , de h+ PG ou de h PG a ses deux extrmits dans h. On note u et v es deux
+
extrmits ave u gau he de v . Supposons nouveau sans perte de gnralit C h .
J'arme que
(A) le long de
dlimit par

C,

l'intrieur de

est situ du mme t que l'intrieur du polygone

uv

de

h.

et le segment

42

Gomtrie algorithmique. Mars 2009. Fran is Lazarus.

PG est gau he de PD , l'intrieur de P est droite de PG lorsque PG est par ourue


du bas vers le haut (i.e. de p vers q ). Par onsquent u est avant v dans e par ours. Soit
D la omposante de PG \ C joignant v q . J'arme que
Puisque

(B) le sommet le plus gau he parmi les sommets de hauteur minimale de

D est extremum

rexe.
Cette dernire ontradi tion permet de on lure la monotoni it de

PG

P.

et don de

Il

reste montrer les armations (A) et (B).


Pour (A), on onsidre le sommet

de

le plus droite parmi les sommets de hauteur

maximale. Les dire tions des deux artes d'origine


la droite sont don deux deux distin tes. Soit

~h

~h

et la dire tion horizontale

l'arte issue de

vers

dont la dire tion

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

se onde arte issue de

x.

Comme

Un raisonnement analogue permet de montrer que le sommet sp i dans (B) qui est
videmment extremum est galement rexe.

D omposition en polygones monotones


Thorme 3.13 Il existe un algorithme de omplexit O(n log n) pour d omposer tout
polygone n sommets, par l'ajout de diagonales au polygone, en polygones monotones .

Preuve :

Considrons la d omposition trapzodale d'un polygone

obtenue par loi-

sonnement horizontal ( f. se tion 8.2). On suppose le polygone en position gnrale, i.e.


deux sommets distin ts ont des ordonnes distin tes. Chaque trapze intrieur
don in ident exa tement deux sommets de

P,

est

un sommet suprieur sur le t ho-

rizontal suprieur du trapze et un sommet infrieur sur le t horizontal infrieur du


trapze. On ajoute une diagonale joignant es deux sommets si le sommet suprieur est
un minimum rexe et/ou si le sommet infrieur est un maximum rexe. On obtient
ainsi une d omposition de

en polygones. On vrie qu'au un sommet de

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

Gomtrie algorithmique. Mars 2009. Fran is Lazarus.

stru ture de arte planaire en demi-artes), e qui a hve la dmonstration.

Exer i e 3.14 D rire un algorithme de omplexit O(n log n) pour la d omposition

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 .

Triangulation des polygones monotones


Thorme 3.15 Il existe un algorithme de omplexit linaire pour trianguler un polygone monotone.

Preuve :
P

Soit

un polygone stri tement monotone. En temps linaire on peut ouper

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

tris selon leur ordonne. On ee tue un balayage des sommets

de haut en bas. Au ours du balayage une partie de l'intrieur 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

les deux hanes monotones maximales de

On sto ke les sommets balays dans une pile

de manire onserver l'invariant

forment une sous- hane on ave de sommets rexes de


i est galement in ident dans Pi un sommet i plus bas
que les sommets de . En parti ulier, si les sommets de sont dans Gi (resp. Di ) alors
i est dans Di (resp. Gi ). Au dpart est initialise ave les deux premiers sommets de
V (i.e. le sommet maximal de P0 = P et le sommet juste au dessous).
suivant : (i) les sommets dans

Pi

issue de

Soit

et (ii) le sommet

le nouveau sommet balay dans la liste

1. Si

forme une hane on ave ave

on empile
2. Si

s = i

s.

V.

(i.e.

le dernier sommet de

est

rexe) alors

Les invariants (i) et (ii) sont maintenus.

et si

s n'est

pas le sommet minimal de

ha un des sommets de

hormis

segments sont des diagonales de

alors on relie

(qui est dj reli

(et don de

P)

s par des segments


s). Notons que es

ar au une arte entre deux

) 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

ne peut ouper une telle diagonale (par on avit de

Pi

par monotonie de

est in ident au dernier sommet

de

mais ne forme pas une hane on ave

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

Gomtrie algorithmique. Mars 2009. Fran is Lazarus.

et insert le sommet

s.

Le fait que la droite

ssk

soit support de

montre que

ontient bien une hane on ave et que les invariants (i) et (ii) sont rtablis.

Lorsqu'on balaye le sommet minimal de

on se retrouve dans la dernire des trois si-

tuations i-dessus et la triangulation qui suit a hve la triangulation de

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

Appli ation au problme de la galerie d'art

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.

P un polygone du plan et x IntP un point intrieur


(au sens large) P . La zone de visibilit de x dans P est l'ensemble des points intrieurs
P et visibles depuis x dans P . C'est en ore

De manire plus gomtrique, soit

VP (x) = {y IntP | xy IntP }


o

xy

dnote le segment joignant

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

de taille minimale ouvrant

Thorme 3.16 (de la galerie d'art, Chvtal 1973)


g(n) = n/3.
La preuve suivante due Fisk en 1978 utilise la notion de oloriage. Un
ensemble

C est
k - oloriage de E .

par une ensemble

on parle d'un

une appli ation de

Preuve du thorme : g(n) n/3


triangulation de

P.

que tout triangle de


Choisir une arte

: soit

dans

C.

un polygone

oloriage

Si le ardinal de

sommets et

d'un

L'algorithme suivant onstruit un 3- oloriage des sommets de

est

une

tel

est tri olore (ses trois sommets ont des ouleurs 2 2 distin tes) :

de

et olorier ses deux sommets, l'un en bleu et l'autre en blan .

Cette arte est in idente un unique triangle de

T,

e qui dtermine la ouleur de son

troisime sommet, disons rouge. Si l'arte (rouge, blan ) de e triangle est une diagonale,

45

Gomtrie algorithmique. Mars 2009. Fran is Lazarus.

olorier r ursivement la partie de

oupe par ette diagonale et ne ontenant pas

a.

Faire de mme ave l'arte (rouge, bleu).

P ayant la ouleur la moins frquente


n/3 et ouvre P , puisque ouvre tout

Remarquons alors que l'ensemble des sommets de


dans un tel 3- oloriage est de ardinal au plus
triangle de

T.

g(n) n/3 : Pour tout k , on onstruit un polygone en forme de peigne de taille


3k , ayant k dents, qui ne peut tre ouvert par moins de k points. Considrons pour
ela un triangle t ayant un t horizontal de longueur 1 et k opies t1 , t2 , . . . , tk de t
su essivement translates horizontalement de 2 units. Ces opies sont don disjointes
et forment les dents du peigne. On onsidre galement un trapze dont les bases sont
horizontales : l'une joint un sommet du t horizontal de
horizontal de

tk

ave un sommet du t

et l'autre joint un point intrieur un t non horizontal de

point intrieur un t non horizontal de


trapze ave les

t1

tk .

t1

ave un

Notre peigne est le bord de l'union de e

triangles t1 , t2 , . . . , tk . Puisque les triangles sont disjoints, au un point

du peigne ne peut ouvrir simultanment les deux pointes de deux dents du peigne. Il
faut don au minimum

points pour ouvrir le peigne.

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 :
-

http ://valis. s.uiu .edu/sariel/tea h/2004/b/webpage/le /23_triang.pdf


http ://valis. s.uiu .edu/sariel/tea h/2004/b/webpage/le /24_triang_II.pdf

- On pourra onsulter l'tat de l'art


Art Gallery and Illumination Problems. J. Urratia. Chap. 22 in Handbook of Computational Geometry. Edited by J. R. Sa k and J. Urrutia

Vous aimerez peut-être aussi