Logiciel de construction d’un matériau virtuel
Projet de fin d'étude
Résumé: L’objectif du projet est de réaliser un logiciel de construction de matériaux virtuels. Le matériau virtuel doit synthétiser toutes les caractéristiques importantes du matériau réel de manière à pouvoir ensuite être étudié par des séries d’expériences virtuelles. On doit pouvoir passer d’une description géométrique complexe d’une structure à sa représentation, ou à une de ses représentations en 3D, interactive et « interrogeable » par la souris.
SOMMAIRE
1.1 Présentation du laboratoire.
1.2. Présentation du contexte du projet.
2. Description du cahier des charges.
2.1. Construction du matériau virtuel.
2.2. Visualisation du matériau virtuel.
2.3. Extraction de données.
3. Description du travail effectué.
3.1. Le cahier des charges.
3.2. Etude des différentes librairies.
3.3. Le développement du projet.
3.3.1. Algorithme de remplissage de matériau.
3.3.2. Conception de l’IHM.
4. Planning du projet.
CONCLUSION
BIBLIOGRAPHIE
ANNNEXES
A. Diagramme de Voronoi et triangulation de Delaunay.
B. Algorithme de vérification qu’un point est à l’intérieur d’un volume.
Figure 1: Schéma générale de fonctionnement.
Figure 2: Description de divisions et de joints.
Figure 3: Hiérarchie de la structure d'une division.
Figure 4: Diagramme de classe.
Figure 5: Libraires CGAL (http://www.cgal.org).
Figure 6: Algorithme de remplissage de matériau.
Figure 7: Capture d'écran du logiciel; Visualisation du matériau plein.
Figure 8: Capture d’écran du logiciel;Visualisation du matériau en fil de fer.
Figure 9: Capture d’écran du logiciel; Visualisation du matériau en mettant certaines divisions en transparence.
Figure 10: Capture d’écran du logiciel; Sélection d’une division.
Figure 11: Triangulation 2D de Delaunay.
Figure 12: Triangulation de Delaunay (bleu) et diagramme de Voronoi (Rouge).
Figure 13: Tracé de rayon.
Figure 14: Calcul des angles.
4. Planning du projet
Le projet a commencé à partir du 15 octobre. Jusqu'à début décembre, je me suis concentré sur l’écriture du cahier des charges (Chapitre 1). Ce fut une période d’échange entre mon encadreur et moi. Au fur et à mesure des réunions, je complétais le cahier des charges. Puis, je l’envoyais à mon encadreur pour qu’il puisse vérifier le contenu. Et lors de la réunion suivante, l’on discute de ce qui n’allait pas ou de ce qui fallait compléter.
Au cours du mois de décembre et de mi-janvier, j’ai étudié les différentes librairies pour permettre de créer des diagrammes de Voronoi en 3D. J’ai aussi effectué plusieurs tests pour me permettre de choisir.
De la mi-janvier à la mi-mars, j’ai réfléchi puis implémenter l’algorithme de remplissage d’un matériau avec le diagramme de Voronoi. Certaines parties de l’IHM comme la visualisation 3D ont été nécessaire d’être développer tout de suite pour me permettre de tester mon algorithme.
Enfin, depuis la mi-mars, je me suis concentré principalement sur IHM. J’ai développé la sauvegarde et le chargement des fichiers dans l’application. Je me concentrerais aussi sur les propriétés et les courbes statistiques. C’est à dire, tout ce qui concerne la lecture de ces courbes et l’application des propriétés liées à ces courbes sur les divisions et les joints de divisions. Pendant le mois de mars, j’ai finit le remplissage de la hiérarchie de la structure dans l’onglet, et la création de l’assistant de création de matériau.
Enfin, le mois avril a été principalement utilisé pour la correction des erreurs, à la rédaction de documentation et à la modification de petites parties. Plus aucun gros développement n’a été entreprit pour terminer avec un logiciel qui fonctionne même s’il n’est pas tout à fait complet.
CONCLUSION
En définitive, ce projet me permet de participer à un projet important et concret. J’ai ainsi appris de nouveaux outils et langages comme la programmation IHM sous Windows. J’ai aussi développé mes connaissances en C++ et en conception logiciel. En plus du travail de programmation, il y a un gros travail de communication pour comprendre ce que veut exactement mon encadreur. L’une des difficultés est que ce logiciel est appliqué au domaine de la mécanique, domaine que je ne connais pas bien. Mais la principale difficulté fut la complexité des algorithmes et surtout les erreurs numériques que je n’imaginais pas aussi importante avant d’effectuer ce projet. En définitive, ce projet a donc été fort captivant et enrichissant sous tous rapports.
BIBLIOGRAPHIE
Ivor Horton, ‘Visual C++ 6’, Eyrolles-Wrox, 2002
https://www.cgal.org/ (CGAL est une librairie de calcul géométrique utilisé dans le projet).
http://www.qhull.org/ (Qhull est un programme permettant en autre de calculer le diagramme de Voronoi).
http://www.cs.cornell.edu/Info/People/chew/Delaunay.html (Applet pour visualiser en 2D le comportement de l’algorithme de Voronoi).
Travail effectué Annexes