SOMMAIRE
I. Introduction : 3
II. Généralités et propriétés mathématiques: 3
1. Le digramme de VORONOÏ : 3
2. Diagramme De delaunay : 4
III. Application Sous Matlab : 6
3. Representation des points : 6
4. Représentation de l’enveloppe convexe : 8
5. Represntation des digrammes sans poids : 9
6. Trinagulation de delaunay: 10
7. Représentation des points avec leurs poids: 11
IV. Application Java Applet 12
2
Ce travail qui entre dans le cadre du projet de fin du module de géométrie algorithmique, consiste à la fois
de réaliser un travail de recherche sur les structures de données en géométrie algorithmique à savoir le
digramme de Voronoï et la triangulation de Delaunay et de développer une application bureau pour la
réalisation de diagramme de Voronoï et la triangulation de Delaunay en utilisant nos connaissances en
module géométrie algorithmique et aussi nos compétences acquise dans le module de programmation orienté
objet. De gestion de consommation d’énergie électrique profitant des concepts orienté objets vu durant ce
module.
Ce rapport est le fruit de deux mois de recherches et de travails ou on se restreigne à l’étude de deux
structures de données en géométrie algorithmique :
Le diagramme de Voronoï
La triangulation de Delaunay
3
I. INTRODUCTION :
Le diagramme de Voronoï en tant que structure de représentation de données a été largement étudié dans le
domaine de la géométrie et appliqué dans différentes disciplines. À titre d’exemple dans le domaine de
l'analyse d'images, le diagramme de Voronoï suscite un intérêt particulier. En effet, il représente un moyen
efficace pour décrire, manipuler et interpréter des entités géométriques .Parmi les travaux fondés sur
l'utilisation du graphe de Voronoï, on peut citer une approche en vue de la représentation du support
d'image binaire décrite pour le problème de la compression et du codage. La triangulation de Delaunay qui
est un type de partitionnement du support d'une image permet de produire une image de haute résolution à
partir de plusieurs images de basses résolutions.
II. GÉNÉRALITÉS ET PROPRIÉTÉS MATHÉMATIQUES:
1. Le digramme de VORONOÏ :
Voronoï était un mathématicien russe des années 1900. Au début du XXème siècle, il invente une
partition d'un plan E composé d'objets en zones où chaque zone est définie comme l'ensemble des points les
plus proches d'un objet:
zone (objet(i))={x élément de E tel que d(x,objet(i))<=d(x,objet(j)) quelque soit j différent de i}
Cette partition d'un plan est appelé Diagramme de Voronoï. Chaque zone de Voronoï est un polygone
convexe.
Figure 1 : Diagramme de Voronoï
4
Les diagrammes de Voronoï permettent de représenter des relations de distance entre objets : ils sont
souvent utilisés pour modéliser des réseaux comme les cristaux ou les grandes structures de l'univers.
On les trouve également dans la nature, par exemple sur la carapace d'une tortue ou sur le cou d'une girafe
réticulée.
Le concept a d’abord été utilisé dans les travaux de Descartes en 1644 pour montrer la position des astres
dans le système solaire et ses environs. Puis généralisé par Voronoï, il a beaucoup servi à la météorologie et il
est actuellement largement employé dans des nombreux domaines scientifiques différents comme par
exemple les mathématiques, la biologie, l’informatique, la cartographie ou la physiologie.
2. Diagramme De delaunay :
Delaunay était un autre mathématicien russe qui a étendu les travaux de Voronoï. La triangulation de
Delaunay est un type de partitionnement d'un ensemble de points E positionnés dans un plan formé de
triangles dont les sommets sont des objets, et qui à eux tous constituent une partition de l'enveloppe convexe
de ces objets.
La triangulation de Delaunay a deux propriétés principales :
Le "critère du cercle": un triangle de Delaunay est un triangle qui a comme sommet trois objets, et tel que
son cercle circonscrit n'ait en son intérieur aucun autre objet.
La triangulation de Delaunay est parmi toutes les triangulations de E celle qui maximise l'angle
minimum de tous les triangles.
Figure 3 : la carapace d'une tortue Figure 3 : La peau de Girafe
5
Du point de vue de la théorie des graphes, la triangulation de Delaunay est définie comme le
diagramme dual du diagramme de Voronoï de telle façon que deux objets sont liés par un arc dans la
triangulation de Delaunay s'ils appartiennent à des régions de Voronoï adjacentes.
Cette structure est très utile, par exemple, en mécanique, car c'est celle qui permet de mailler les objets de
la manière la plus efficace, en minimisant les aires au carré des triangles. Elle est très utilisée aussi
dans beaucoup d’autres domaines, dont celui qui nous occupe ici: le traitement d’image, et plus concrètement
l’application au problème de la superrésolution.
Figure 4 : Triangulation de Delaunay (trait pleins) et diagramme de Voronoï
(pointillé).
6
III. APPLICATION SOUS MATLAB :
Objectifs:
Cette phase d’application a pour objectif d'aborder les concepts du Diagramme de Voronoï et de
Triangulation de Delaunay d'une façon pratique.
Les Données:
Les points :
p1(-2,5 ) ; p2( 5,3 ) ; p3( -20,9) ; p4( 15,-20 ) ; p5( -10,-20) ; p6( -10,5 ) ; p7( 20,-10 )
3. Representation des points :
REpresentation sous matlab :
C’est la première étape à établir est celle de représenter les différents points qui sont caractérisé par
leurs abscisses et ordonnées. Cette représentation est grâce à la fonction plot. Ci-dessous le code pour la
représentation et la figure obtenu.
7
x= [-2 5 -20 15 -10 -10 20]; %abscisses
y= [5 3 9 -20 -20 5 -10]; %ordonnées
%les points dans le plan R²
plot(x,y,'.');hold on
axis ([-50 70 -40 40])
xlabel('x'), ylabel('y'),
text(-2,5,'P1')
text(5,3,'P2')
text(-20 ,09,'P3')
text(15,-20,'P4')
text( -10,-20,'P5')
text(-10,05,'P6')
text(20,-10,'P7')
Figure 5 : La Représentation des points sur MATLAB
8
x= [-2 5 -20 15 -10 -10 20]; %abscisses
y= [5 3 9 -20 -20 5 -10]; %ordonnées
v= convhull(x,y); %construction de l'enveloppe
convexe
hold on,plot(x(v),y(v),'*');
axis ([-50 70 -30 40])
xlabel('abs'), ylabel('ord'),
text(-2,5,'P1')
text(5,3,'P2')
text(-20 ,09,'P3')
text(15,-20,'P4')
text( -10,-20,'P5')
text(-10,05,'P6')
text(20,-10,'P7')
4. Représentation de l’enveloppe convexe :
Pour déterminer l'enveloppe convexe des points, on utilise la fonction « convhull ». Et pour
représenter les points et l'enveloppe convexe dans la même figure on utilise la fonction « hold ».
Figure 6 : Enveloppe Convexe
9
5. Represntation des digrammes sans poids :
voronoi(x,y) : permet de représenter le diagramme de voro noi d'un ensemble des points. Elle prend comme
paramètres les deux vecteurs x et y.
Delaunay() : permet de représenter la triangulation de Delaunay d'un maillage des points. Elle prend en
paramètres deux vecteurs et retourne les triangles de la triangulation de delaunay.
Triplot() : utilisée pour afficher des triangles.
x= [-2 5 -20 15 -10 -10 20];%abscisses
y= [5 3 9 -20 -20 5 -10];%ordonnées
%Diagramme de voronoi
voronoi(x,y,'r')
axis ([-50 70 -30 40])
xlabel('abs'), ylabel('ord'),
text(-2,5,'P1')
text(5,3,'P2')
text(-20 ,09,'P3')
text(15,-20,'P4')
text( -10,-20,'P5')
text(-10,05,'P6')
text(20,-10,'P7')
10
x= [-2 5 -20 15 -10 -10 20];%abscisses
y= [5 3 9 -20 -20 5 -10];%ordonnées%TRANGULATION DE DELAUNAY
triang = delaunay(x,y);
triplot(triang,x,y)
axis ([-50 70 -30 40])
xlabel('abs'), ylabel('ord'),
text(-2,5,'P1')
text(5,3,'P2')
text(-20 ,09,'P3')
text(15,-20,'P4')
text( -10,-20,'P5')
text(-10,05,'P6')
text(20,-10,'P7')
6. Trinagulation de delaunay:
Figure 7 : Voronoï SANS Poids
11
Figure 8 : Triangulation Delaunay
7. Représentation des points avec leurs poids:
Le problème est de visualiser les points avec poids. Selon la formule
|| M Pi || - Wi.
Les Points (-2,5 ) (5,3) (-20,9) (15,-20) (-10,-20) (-10,5) (20,-10)
Les Poids 1 1+2t 2 0.5 2 (1+t)(1-t) 1+t
12
IV. APPLICATION JAVA APPLET
Pour s’approcher du coté algorithmique et programmation en développer une application java qui
permet de faire les mêmes traitements avec une meilleur précision et flexibilité dans la manipulation
(Voir la vidéo ci-joint)
13
Conclusion
Notre projet consistait à mettre en œuvre un jeu en s’appuyant sur les principes de la
Géométrie Algorithmique, pour obtenir ce résultat on a mis en place tous nos savoir-faire, pour arriver à
ce point, nous avons entamé des étapes successives telles que l’analyse, la modélisation et la bonne
formulation du problème et le déploiement.
Tandis que pour la réalisation du projet, nous avons fait appel à l’utilisation du logiciel MATLAB.
En effet, nous avons eu recours à une séparation des différentes étapes de travail, et de produire un code
évolutif et facilement maintenable.
Ce projet était l’occasion pour raffiner nos capacités d’abstraction et de conception en termes de
modélisation. En plus, la réalisation de ce projet était très enrichissante au niveau technique comme au
niveau méthodique. En effet, le travail en équipe nous a permis de renforcer notre esprit d’équipe et notre
sens de collaboration.
Enfin, durant tout projet on peut confronter des difficultés qui le marquent, comme la gestion du
temps, la cohérence entre les éléments du groupe et des problèmes techniques.
14
Webographie et Bibliographie
fr.wikipedia.org/wiki/Triangulation_de_Delaunay
www.ai.univ-paris8.fr/~audibert/ens/11-Triangulation.pdf
www.cs.rmit.edu.au/~gl/delaunay.html
www.mathworks.com/.../delaunay-triangulation.html
www.cs.cornell.edu/home/chew/Delaunay.html
fr.wikipedia.org/wiki/Diagramme_de_Voronoï
www.jasondavies.com/maps/voronoi/airports/