Modélisation d’objets 3D
Maillage Triangulaire
Cette dernière phase consiste à générer une surface de subdivision, minimisant l’énergie avec le maillage issu de la deuxième phase .une modification du schéma de subdivision est proposée, permettant de diminuer localement l’ordre de continuité de la surface, et de représenter les arêtes vives. Si l’angle entre deux faces adjacentes est inférieur à un seuil prédéfini, l’arête commune est marquée comme vive, et un masque spécial de subdivision sera appliqué.
Reconstruire une surface à partir d’un nuage de points qui l’échantillonnent est un problème que l’on rencontre souvent, qu’il s’agisse d’exploitation géologique, d’imagerie médicale ou industrielle, ou la modélisation des réseaux tels que ceux du gsm. Pour résoudre ce problème, la grande majorité des algorithmes utilisent un outil central en géométrie algorithmique : la triangulation de Delaunay, nommée d’après Boris Delone, mathématicien russe dont le nom a été francisé en Delaunay. La triangulation d’une surface plane ou volumique est la subdivision de celle-ci en un ensemble de triangles ou tétraèdres caractérisés par leurs sommets en vue de leur modélisation informatique. Lorsque l’échantillonnage est suffisamment dense, on peut fournir des approximations précises de la surface. La triangulation de Delaunay se définit naturellement à partir de ce qu’on appelle le diagramme de Voronoi, du nom du mathématicien russe Georgi Voronoi. Un diagramme de Voronoï est un découpage du plan (pavage) en cellules à partir d’un ensemble discret de points appelés « germes ».
Chaque cellule enferme un seul germe, et forme l’ensemble des points du plan plus proches de ce germe que de tous les autres. La cellule représente en quelque sorte la « zone d’influence » du germe. [8] Soit S= {M 1, .., M n} un ensemble de n points du plan euclidien distincts deux à deux. Il s’agit de décomposer l’espace en régions autour de chaque point p de S, telles que tous les points dans la région contenant p soient plus près de p que de n’importe quel autre point de S. Il s’agit donc de s’intéresser aux médiatrices de points voisins de S.
Le Virtual Reality Modeling Language (VRML)
Est un langage de description d’univers virtuels en 3 dimensions. Ce langage interprété est une norme internationale ISO et les fichiers VRML ont habituellement pour extension .wrl. C’est à proprement parler un langage de présentation et non de programmation, puisque comme pour le langage HTML par exemple, un fichier VRML ne contient généralement pas une suite d’instructions mais plutôt les informations permettant au visionneur d’afficher ensuite les éléments (formes, senseurs, lumières, etc.). Présenté lors de la World Wide Web Conférence de 1994, VRML n’est pas l’oeuvre d’un unique programmeur, mais plutôt le résultat de la collaboration de plusieurs professionnels de la 3D, dont entre autres Mark Pesce, Tony Parisi, Gavin Bell (Silicon Graphics) et Paul Strauss (Silicon Graphics). Le but premier de ce langage est de permettre la représentation d’univers interactifs 3D virtuels. Les fichiers .wrl sont des fichiers texte décrivant les scènes virtuelles à l’aide du langage VRML. Les fichiers .wrl, qui peuvent être stockés localement sur un ordinateur ou téléchargés depuis un serveur web, sont visualisés à l’aide d’un visionneur, qui est soit un plugin ajouté au navigateur web ou encore un logiciel autonome indépendant du navigateur web, qui est installé sur l’ordinateur de l’utilisateur. Les programmes VRML peuvent décrire des formes simples (points, lignes, polygones) ou complexes (sphères, cubes, cônes, cylindres…), du texte, des images, des animations, des éclairages, des sons, des hyperliens, ainsi que leur agencement dans l’espace, leur texture, leur couleur, leur matériau…
3D Studio Max (ou 3ds max)
Est un logiciel de modélisation et d’animation 3D, développé par la société Autodesk. Avec Maya, Softimage XSI, Lightwave, Houdini et Blender, il est l’un des logiciels de référence dans le domaine de l’infographie 3D. Le logiciel est issu du programme 3D Studio qui a tourné sous DOS jusqu’à sa version 4 en 1994. Les programmeurs de Kinetix5 (une division d’Autodesk rebaptisée maintenant Autodesk Media and Entertainment) ont mis au point un logiciel entièrement neuf et repensé. Celui-ci sort en 1996. 3ds Max est ainsi conçu sur une architecture modulaire, compatible avec de multiples plug-ins (extensions) et les scripts écrits dans un langage propriétaire appelé Maxscript. Le logiciel 3ds Max s’est développé rapidement, en étant utilisé principalement dans les industries vidéoludique, cinématographique et automobile. Le logiciel est actuellement en version 2016 (3ds max 2016) et est développé par Autodesk (anciennement appelé Discret, qui développe aussi Combustion et d’autres logiciels professionnels), et intègre de très nombreuses fonctionnalités, comme le moteur Mental Ray, ainsi que le plugin Shave and HairCut de Joe Alter pour les rendu de cheveux et de poil, nouveautés de la version 8. 3ds Max possède aussi deux moteurs d’animation de personnage: Character Studio et CAT (Character Animation Toolkit). La version de 3ds Max 2016 intègre aussi Max Création Graph un module de création de plug-in fonctionnant de manière nodale. [12]
Segmentation d’objets 3D
Grâce au développement de dispositifs d’acquisition de formes 3D et aux avancées dans les outils de modélisation interactive, le nombre et la diversité des bases de modèles 3D disponibles sur internet, comme la 3D Warehouse de SketchUp, sont en augmentation. L’analyse de haut niveau des formes 3D constitue une tâche primordiale dans de nombreuses applications. En effet, la modélisation de nouvelles formes par composition, l’édition de maillages ou la recherche par le contenu d’objets 3D, requièrent la compréhension de l’information sémantique associée à ces formes 3D. Cependant, la plupart des bases de modèles 3D accessibles en ligne ne contiennent pas ce genre d’information et ne permettent pas de déduire les relations entre les maillages des différents objets. Elles contiennent généralement peu d’information sémantique et ne disposent pas des décompositions cohérentes des modèles en leurs parties significatives.
Or ceci peut s’avérer très utile si l’on veut créer de nouvelles formes par assemblage de parties de modèles existants. En effet, ce type d’application requiert de segmenter les modèles en parties significatives (fonctionnelles), et de trouver quelles parties peuvent être mises en correspondance à travers la base de données. Cette application peut utiliser notamment une indexation de formes par parties et des algorithmes conçus pour extraire automatiquement les relations sémantiques et structurelles des modèles appartenant à ces grandes bases. De tels algorithmes sont habituellement basés sur l’analyse des formes 3D. La segmentation de maillage consiste à subdiviser une surface polygonale en différentes parties présentant des caractéristiques identiques. Cette opération est devenue un outil de prétraitement nécessaire à de nombreuses applications telles que la reconnaissance de forme, compression, etc. Il existe dans la littérature un grand nombre d’algorithmes de segmentation permettant le traitement des modèles 3D.
Présentation de VTK, bibliothèque de visualisation graphique VTK (Visualization ToolKit en anglais) est une puissante bibliothèque graphique permettant de visualiser de gros volumes de données 2D ou 3D. Son grand avantage est son large spectre d’applications (du traitement de l’image à la visualisation de données volumiques). VTK a aussi un système de picking et d’interaction avec les objets 3D très avancé et utilisant divers algorithmes (sélection par frustum, pick color, etc.). Vous pouvez sélectionner des objets entiers ou des primitives graphiques (triangles, points, lignes, etc.). Son principal défaut est que les performances de VTK s’effondrent s’il contient plus de 1000 objets 3D. Notre choix s’est porté sur les fichiers de type VTK à cause de la simplicité de la structure des points 3D et des faces qui constituent l’objet tridimensionnel facilement avec les langages Tcl-Tk, Python et Java. La bibliothèque comprend plus de 1 100 classes C++. Elle a été développée à partir de 1993 au Centre de Recherche du groupe General et utilisée en premier dans le domaine médical. Par la suite ses développeurs (Will Schroeder et Ken).
|
Table des matières
Introduction générale
Chapitre 1 :Modélisation d’objets 3D
I.Introduction
II.Différents modes de modélisation géométrique
II.1. La modélisation filaire
II.1.2 modèles à partir de surface frontières (Brep)
II.2. Les modélisations surfaciques
II.2.1. Courbe de Béziers
II.2.2 Courbes et surfaces B-splines
II.2.3. Courbe et surfaces NURBS
II.3. Les modélisations volumique
II.3.1. Enumération de l’occupation spatiale
II.3.2.Représentation par volumes élémentaires
II.3.3.Géométrie Solide Constructive (CSG)
II.3.4.Représentation par balayage
III. conclusion
Chapitre 2 :Maillage Triangulaire
I.Introduction
II.Utilisation d’un maillage triangulaire
III. Définition et caractérisation d’un maillage triangulaire
III.1 Méthodes de génération des maillages de surfaces 3D
III.1.2. Approche basées sur le diagramme de Voronoi
III.2. Adaptation de maillages
III.2.1. Raffinement
III.2.2. Déplacements de noeuds
III.2.3. Simplification de maillage
IV.Format d’objets 3D
IV.1.Les Différents formats des objets 3D
IV.1.1. DXF (Drawing eXchange Format)
IV.1.2. Le Virtual Reality Modeling Language (VRML)
IV.1.3. 3D Studio Max (ou 3ds max)
IV.1.4. OBJ
IV.1.5. Blender(ou Blender3D)
IV.1.6. VTK (The Visualisation Toolkit)
Conclusion
Chapitre 3 :Segmentation d’objets 3D
I.Introduction
II.Définition de la segmentation
III. Méthodes de segmentation
III.1 Segmentation de maillages triangulaires et rectification directionnelle de frontières basées sur les tenseurs de courbure
III.1.1 Algorithme générale
III.2 Croissance de régions: (seeds en anglais)
III.3 Ligne de Partage des Eaux (LPE) (watershed en anglais)
III.3.1 Adaptation à la 3D
III.3.2 Sur-segmentation
III.3.3 Critère de courbure
III.3.4. Génération des marqueurs
III.4 Système Multi-Agents
Conclusion
Chapitre 4 :Implémentation
I.Introduction
II.Choix techniques
II.1 Le langage de programmation
II.2. Présentation de l’environnement JAVA
II.3. Présentation de VTK, bibliothèque de visualisation graphique
II.4 Organigramme de la méthode de l’implémentation
III. Fonctionnement du logiciel
III.1. Présentation
Conclusion
Conclusion générale
Références bibliographique
Télécharger le rapport complet