Enveloppe convexe Triangulation de Delaunay

Documents pareils
Introduction au maillage pour le calcul scientifique

CARTE DE VOEUX À L ASSOCIAEDRE

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Résolution d équations non linéaires

Géométrie Algorithmique Plan du cours

5 ème Chapitre 4 Triangles

EXERCICES DE REVISIONS MATHEMATIQUES CM2

Deux disques dans un carré

DOCM Solutions officielles = n 2 10.

Programmation linéaire

1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Angles orientés et trigonométrie

Algorithmes récursifs

chapitre 4 Nombres de Catalan

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 %

La géométrie du triangle III IV - V Cercles remarquables - Lieux géométriques - Relations métriques

1S Modèles de rédaction Enoncés

Statistiques Descriptives à une dimension

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

Le contexte. Le questionnement du P.E.R. :

Cours Fonctions de deux variables

point On obtient ainsi le ou les points d inter- entre deux objets».

Les algorithmes de base du graphisme

Items étudiés dans le CHAPITRE N5. 7 et 9 p 129 D14 Déterminer par le calcul l'antécédent d'un nombre par une fonction linéaire

OLYMPIADES ACADÉMIQUES DE MATHÉMATIQUES

Sommaire de la séquence 10

Proposition de programmes de calculs en mise en train

LE PRODUIT SCALAIRE ( En première S )

Corrigé du baccalauréat S Pondichéry 12 avril 2007

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE

Cours3. Applications continues et homéomorphismes. 1 Rappel sur les images réciproques

Programmation par contraintes. Laurent Beaudou

Si deux droites sont parallèles à une même troisième. alors les deux droites sont parallèles entre elles. alors

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Initiation à la programmation en Python

Le théorème de Thalès et sa réciproque

Sujet 1 : Diagnostique du Syndrome de l apnée du sommeil par des techniques d analyse discriminante.

Activité 4. Tour de cartes Détection et correction des erreurs. Résumé. Liens pédagogiques. Compétences. Âge. Matériels

Chapitre 7. Récurrences

Calcul intégral élémentaire en plusieurs variables

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Qu est-ce qu une probabilité?

Angles orientés et fonctions circulaires ( En première S )

Cabri et le programme de géométrie au secondaire au Québec

Livret de liaison Seconde - Première S

Indications pour une progression au CM1 et au CM2

Rapport d'analyse des besoins

On ne peut pas entendre la forme d un tambour

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

Initiation à l algorithmique

modélisation solide et dessin technique

Introduction à la théorie des graphes. Solutions des exercices

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

Fonctions de plusieurs variables

Représentation géométrique d un nombre complexe

Rétablissement d un réseau cellulaire après un désastre

PROBLEME(12) Première partie : Peinture des murs et du plafond.

Quelques algorithmes simples dont l analyse n est pas si simple

6. Les différents types de démonstrations

Tâche complexe produite par l académie de Clermont-Ferrand. Mai 2012 LE TIR A L ARC. (d après une idée du collège des Portes du Midi de Maurs)

Correction : E = Soit E = -1,6. F = 12 Soit F = y = 11. et G = -2z + 4y G = 2 6 = 3 G = G =

Pourquoi l apprentissage?

Chapitre 5 : Flot maximal dans un graphe

T.P.E. LA PHYLLOTAXIE: ASSOCIATION DES SPIRALES DANS LA CROISSANCE DES PLANTES. Juan Carlos Marroquin, T le S.

Algorithmique avec Algobox

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

COMPTE-RENDU «MATHS EN JEANS» LYCEE OZENNE Groupe 1 : Comment faire une carte juste de la Terre?

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Chapitre 2 Le problème de l unicité des solutions

EXAMEN : CAP ADAL SESSION 2011 N du sujet : SPECIALITE : CEB - GEPER SUJET SECTEUR : FOLIO : 1/6 EPREUVE : EG2 (MATH-SCIENCES)

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Cours d algorithmique pour la classe de 2nde

315 et 495 sont dans la table de 5. 5 est un diviseur commun. Leur PGCD n est pas 1. Il ne sont pas premiers entre eux

Baccalauréat S Nombres complexes Index des exercices sur les complexes de septembre 1999 à juin 2012 Tapuscrit : DENIS VERGÈS

Logiciel Libre Cours 3 Fondements: Génie Logiciel

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

CONJUGUÉ D'UN POINT PAR RAPPORT À UN TRIANGLE

L E Ç O N. Marches aléatoires. Niveau : Terminale S Prérequis : aucun

MIS 102 Initiation à l Informatique

Feuille d exercices 2 : Espaces probabilisés

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

Programme scientifique Majeure INTELLIGENCE NUMERIQUE. Mentions Image et Réalité Virtuelle Intelligence Artificielle et Robotique

Structures algébriques

Priorités de calcul :

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Construction de la bissectrice d un angle

«Aucune investigation humaine ne peut être qualifiée de science véritable si elle ne peut être démontrée mathématiquement.

Extraction et reconstruction de bâtiments en 3D à partir de relevés lidar aéroportés

Géométrie dans l espace Produit scalaire et équations

Fonctions de plusieurs variables

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Séquence 2. Repérage dans le plan Équations de droites. Sommaire

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

6 ème. Rallye mathématique de la Sarthe 2013/ ère épreuve de qualification : Problèmes Jeudi 21 novembre 2013

Programmation linéaire

Transcription:

Enveloppe convexe Triangulation de Delaunay Pauleau Jean Denis Roudaut Prigent Vidal Clément Master 1 SIS 1/16

Table des matières I/ Présentation...4 II/ Définition...5 1/ Simplexe... 5 2/ Complexe...5 3/ Triangulation...5 4/ Cercle circonscrit...5 III/ Enveloppe convexe...6 1/ Présentation...6 2/ Définition...6 3/ Algorithme Graham...6 3.1/ Principe... 6 3.2/ Algorithme... 7 3.3/ Illustration... 7 4/ Algorithme Division Fusion... 7 4.1/ Principe...7 4.2/ Algorithme... 7 4.3/ Illustration... 8 III/ Triangulation de Delaunay... 9 1/ Présentation...9 2/ Définition...9 3/ Algorithme Incrémental (Hermeline, Watson)...9 3.1/ Principe... 9 3.2/ algorithme... 10 3.3/ Illustration... 11 4/ Algorithme Basculement... 12 4.1/ Principe... 12 4.2/ Algorithme... 12 4.3/ Illustration... 12 5/ Calcul de la boule circonscrite...13 5.1/ Calcul en 2D... 13 5.2/ Calcul en 3D... 13 6/ Point dans la boule ouverte...13 7/ Point dans simplexe... 14 7.1/ Cas d un simplex 2D (Triangle) :... 14 7.2/ Cas d un simplex 3D (Tétraèdre) :...14 IV/ Conclusion...15 V/ Bibliographie... 16 1/ enveloppe convexe...16 2/ Triangulation...16 2/16

Remerciement Nous remercions l ensemble du corps enseignant du master SIS et tout particulièrement notre tuteur Jean Sequeira. 3/16

I/ Présentation L étude de la structure d un nuage de points est un problème récurrent et très important en imagerie, en modélisation, et même en recherche opérationnelle. Cette étude passe classiquement par le calcul de l enveloppe convexe de ce nuage de points et par une triangulation «optimale» appelée «Triangulation de Delaunay». Des algorithmes ont été conçus pour répondre à ces deux problèmes (un algorithme d enveloppe convexe en 2D et un algorithme de triangulation de Delaunay en 2D seront étudiés dans le cours de Modélisation Géométrique). L objet de ce projet est d étudier et de mettre en œuvre, en les comparant, quelques algorithmes importants de ce domaine, à la fois en 2D et en 3D.) 4/16

II/ Définition 1/ Simplexe Simplexe : Structure de base de construction. En Dimension n, cette structure sera constitué de n+1 points (exemple en dimension 2, 3 points soit un triangle) 2/ Complexe Complexe : Ensemble de simplexe de dimension inférieure. 3/ Triangulation En topologie, une triangulation d'un espace topologique X est un complexe simplicial K homéomorphe à X et un homéomorphisme h:k X. Dans les termes de Layman, si X est un plan alors une triangulation est une façon de découper X en une collection de triangles. 4/ Cercle circonscrit Le cercle circonscrit est le cercle qui passe par les sommets du triangle. Son centre est situé à l'intersection des médiatrices. La boule circonscrite est la boule qui passe par les sommets du tétraèdre. Son centre est situé à l'intersection des plans médians. En dimension quelconque, son centre est situé à l'intersection des l'hyperplan médiateur. 5/16

III/ Enveloppe convexe 1/ Présentation Le calcul de l enveloppe convexe est un problème récurrent en modélisation géométrique. Nous allons ici présenter plusieurs algorithmes majeurs. Le premier a été créé par Ronald Graham et publié en 1972. Le second est un algorithme de type division fusion que nous avons implémentée. 2/ Définition L'enveloppe convexe d'un ensemble de points est l ensemble convexe le plus petit parmi ceux qui le contiennent Un enveloppe est convexe si pour tout point A et B contenue dans cette dernière le segment AB est lui aussi contenu. 3/ Algorithme Graham 3.1/ Principe Le principe est de prendre un point au centre du nuage de points. On trie ensuite les points de l'ensemble en fonction de leur angle avec ce point centrale. A partir du point de plus petite ordonnée, on parcourt le nuage par séquences de 3 points dans l'ordre de trie. Si pour passé du point un au point trois on tourne dans le sens trigonométrique, alors le point 2 fait partie de l'enveloppe convexe sinon il n'en fait pas partie et on passe au point d après. 6/16

3.2/ Algorithme Calcul du barycentre du nuage de point. Trie des points autour du barycentre On sélectionne le point le plus bas On traite les point trois par trois (point courant, point suivant, point suivant suivant) Si l angle entre le point courant, le point suivant et le point suivant suivant n est pas dans le sens trigonométrique. On récupère le point courant (comme appartenant a l enveloppe convexe) On passe au point suivant Fin si Fin si Sinon Point suivant égale au point suivant suivant Si on n a pas atteint le dernier point Le point courant égal au point précédent Fin si Fin sinon 3.3/ Illustration 4/ Algorithme Division Fusion 4.1/ Principe La stratégie diviser pour régner consiste à briser un problème en sous-problèmes plus simples de même type, à résoudre ces sous-problèmes, puis à fusionner les résultats obtenus pour apporter une solution au problème posé. Il s'agit donc d'une démarche essentiellement récursive. Les algorithmes de ce type apparaissent comme composés de deux algorithmes; le premier partage le problème en sous-problèmes, le second algorithme fusionne les résultats partiels en le résultat global. 4.2/ Algorithme Trie tous les points par x croissant Division en 2 parties Recherche de l'enveloppe convexe de chacune des parties On rejoint les deux parties pour avoir une enveloppe convexe Rappel de la fonction sur chaque parties nouvellement créer 7/16

4.3/ Illustration 8/16

III/ Triangulation de Delaunay 1/ Présentation La triangulation de Delaunay est importante dans le domaine de modélisation géométrique mais aussi dans l analyse de données car il est le dual du diagramme de Voronoï. Cette triangulation porte le nom du mathématicien Boris Delone. 2/ Définition Delaunay : «Façon de trianguler un ensemble de points avec des triangles le moins plat possible» La triangulation de Delaunay d'un ensemble de n points est l'unique triangulation telle que les cercles circonscrits de chaque triangle triangle ne contienne aucun autre point de l'ensemble. Cette notion peut être généralisée à n'importe quelle dimension : en 3D, par exemple, on utilisera des tétraèdres et des sphères. Le terme disque ouvert (ou boule vide en 3D) est employé pour désigner l'espace intérieur au cercle circonscrit (ou à la sphère en 3D) sans prendre en compte les points situé sur celui-ci (ou situé sur la surface de la sphère). On utilisera donc ce principe de la boule vide pour notre triangulation. Principe de la boule vide : l'ensemble le disque ouvert circonscrit ne contient aucun point de Exemple : Cette triangulation n'est pas de delaunay, le critere de la boule vide n'est pas vérifié Cette triangulation est de delaunay, le critere de la boule vide est vérifié 3/ Algorithme Incrémental (Hermeline, Watson) 3.1/ Principe Le principe est de créer un simplexe de dimension n englobant du nuage de point à trianguler. Ensuite de manière incrémental on ajoute les points à mailler. A chaque ajout de point on 9/16

triangule, De manière récursive, on vérifie la boule ouverte de chaque simplexe ainsi créé et on effectue un basculement de simplexe de dimension n-1 sur chaque simplexe. 3.2/ algorithme Algorithme incrémental //calcul et ajout du simplexe de dimension n englobant //Pour tout les points à trianguler //Pout chaque simplexe de dimension n //si le point appartient à ce simplexe //On supprime le simplexe en cour de traitement //on créer les 4 nouveaux simplexes en utilisant le nouveau point //Basculement simplexe n-1 sur les 4 simplexes créés //Fin si //Fin pour //Fin pour //on retire les 4 points du simplexe 3d englobant créé au début Algorithme récursif Basculement de simplexe n-1 sur un simplexe de dimension n (Arête pour un triangle ou face pour un tétraèdre) Soit S1 le simplexe en cour de basculement Pour tout les points déjà maillé S ils sont dans la boule ouverte de s1 *Recherche le simplexe de dimension n associé au point qui partage le même simplexe de dimension n-1 que S1, on appel se implexe S2 *Basculement du simplex partagé *Appel de la fonction Basculement S1 *Appel de la fonction Basculement S2 Fin si Fin pour 10/16

3.3/ Illustration Nuage de points Boite englobante ajout du 1er point ajout du 2eme point ajout du 3eme point Basculement Basculement ajout du 4eme point 11/16

4/ Algorithme Basculement 4.1/ Principe Le principe est d effectuer en premier lieu une triangulation quelconque (pas de Delaunay) et d'applique ensuite le principe de basculement de simplexe de dimension n-1 sur chaque simplexe de dimension n récursivement (comme précédemment) afin qu'ils respectent le critère de la boule vide 4.2/ Algorithme Triangulation des points du nuage de points Pour chaque simplexe Pour chaque point du nuage de points Si le point est dans la boule vide du simplex en cours Basculement Fin si Fin pour Fin pour 4.3/ Illustration 12/16

5/ Calcul de la boule circonscrite 5.1/ Calcul en 2D En deux dimensions, le centre du cercle circonscrit est donné par l'intersection des médiatrices des arêtes du triangle. 5.2/ Calcul en 3D En trois dimensions, on procède de la même façon, on cherche tout d abord le centre du cercle circonscrit à un des triangles du tétraèdre, on le nommera ABC. Une fois l'intersection O des trois médiatrices trouvées, on détermine un vecteur normal au plan comprenant le triangle. D O A C A C B D O v B A B O On déplace ensuite le point O sur ce vecteur normal, de cette façon il sera toujours a égale distance des 3 points du triangle ABC. Le point O est donc déplacé de sorte que la distance OA (ou OB ou OC) devienne égale à la distance qui sépare O du dernier point du tétraèdre, cette distance définira le rayon de la sphère. De cette façon, on récupère donc un point O à égale distance de tous les points du tétraèdre, qui est donc le centre de la sphère circonscrite. 6/ Point dans la boule ouverte On calcul la distance euclidienne entre le point et le centre de la boule vide si cette distance est inferieur au rayon de celle ci alors les points est dans la boule ouverte 13/16

7/ Point dans simplexe 7.1/ Cas d un simplex 2D (Triangle) : Pour vérifier si un point est contenu dans un polygone (triangle dans notre cas) on lance une demi droite a partir du point à tester et on compte le nombre d intersection de cette demi droite avec les arêtes du polygone si ce nombre est impaire le point est intérieur si le nombre est pair le point est extérieur. 7.2/ Cas d un simplex 3D (Tétraèdre) : Pour vérifier si un point est contenue dans un tétraèdre on calcul les équations des plans de chaque face du tétraèdre en choisissant des coefficients de sorte a ce que lorsque on insère les coordonnée du quatrième point du tétraèdre on obtiennent une valeur positive. Pour tester ensuite l intériorité du point il suffit d insérer les coordonnées du point à tester dans chaque équation de plan et si tous les résultats sont positif, le point est bien a l intérieur dans le cas contraire le point est extérieur. 14/16

IV/ Conclusion Ce projet nous a permis de mettre en œuvre et d appréhender les techniques acquis au cours de cette première année de master. Nous avons pue implémenter des algorithmes majeures dans le domaine de la modélisation géométrique. Outre les problèmes typiquement algorithmique nous avons rencontré des difficultés d ordre mathématiques qui nous on poussés à effectuer des recherche dans ce sens. A l issue du projet nous avons réussi a mettre en place un programme de calcul d enveloppe convexe sur un nuage de point 2D, une application de la triangulation de Delaunay sur le même type de nuage de point. Nous avons appliqué cette méthode sur un nuage de point 3D afin d obtenir une surface, cette méthode est souvent utilisé pour modéliser des terrains. Enfin une dernière application a était réalisé dans le but de paver un nuage de point 3D. Par manque de temps et en raison de certains problèmes rencontrés ce dernier n est pas complètement fonctionnel. 15/16

V/ Bibliographie 1/ enveloppe convexe, http://fr.wikipedia.org/wiki/enveloppe_convexe http://www-sop.inria.fr/geometrica/courses/slides/enveloppe-convexe-od.pdf http://www.liafa.jussieu.fr/~cc/algo-avancee/enveloppes.pdf http://graal.ens-lyon.fr/~fvivien/enseignement/ppp-2001-2002/enonce.pdf 2/ Triangulation http://fr.wikipedia.org/wiki/triangulation_de_delaunay http://fearyourself.developpez.com/tutoriel/jeu/delaunay/ http://www.kaddour.com/chap4/chap4.htm http://bobuse.free.fr/delaunay/ http://www-bio3d-igbmc.u-strasbg.fr/~wicker/cours/licence/geoalgo2.ppt Et bien sur les cours de Jean Sequeira et Jean Luc Mari 16/16