SIMPLIFICATION DE MAILLAGE 3D


Projet Réalisé par Olivier Mellina-Gottardo (promo 96)


Description du projet

Le but du projet est de mettre en oeuvre un algorithme progressif de simplification de maillage 3D. Il doit pouvoir simplifier un maillage jusqu'à un nombre d'arête choisi tout en conservant au maximum l'allure et les caractéristiques du maillage d'origine (forme générale, topologie, éventuellement des détails).

Algorithmes utilisés

L'algorithme utilisé simplifie un maillage constitué de facettes triangulaires en cherchant à minimiser une énergie donnée. La seule opération de simplification autorisée est la suppression d'une arête.

Les arêtes sont classées dans une pile par ordre d'énergie. Celle qui, par sa suppression, entraîne la différence d'énergie la plus faible (une diminution d'énergie la plus importante ou une augmentation la plus faible) sera la première à être supprimée. Les arêtes sont ainsi supprimées une à une dans l'ordre de la pile jusqu'au nombre souhaité ou jusqu'à ce que le maillage devienne trop mauvais. Chaque suppression d'arête entraîne une recomposition locale du maillage qui nécessite le recalcul des énergies attachées à la suppression des arêtes voisines et un reclassement de la pile, qui s'effectue simplement par le déplacement de proche en proche des arêtes réévaluées.
Par ailleurs chaque calcul d'énergie de suppression s'accompagne d'un problème d'optimisation sur la position du sommet issu de l'effondrement de l'arête. On peut se contenter de choisir ce sommet parmi un nombre fini de positions sur l'arête initiale.

L'énergie utilisée est de la forme E=E(dist)+E(long)+E(angle) où E(dist) est une fonction de la distance du maillage simplifié au maillage initial, E(long) dépend des longueurs des arêtes et E(angle) est une fonction croissante de la déformation angulaire créée par une suppression.

Résultats obtenus

Les résultats obtenus dépendent en grande partie de la proportion donnée aux trois termes de l'énergie.
Pour une simplification de moitié du nombre d'arêtes, ces proportions jouent sur la conservation des formes du maillage.
Maillage d'origine, simplification sans énergie de distance, sans énergie de longueur, simplification plus équilibrée

Une simplification plus poussée, si elle ne débouche pas sur des scissions du maillages, peut amener vers un maillage plus grossier, mais qui, si les paramètres sont correctement ajustés, ressemble encore à peu près au maillage initial.

Enfin, s'il reste suffisamment d'arêtes!...

Problèmes rencontrés et solutions apportées

Les problèmes majeurs rencontrés l'ont été au cours de l'implémentation d'une procédure de suppression d'arête, car tous les liens du maillages doivent être mis à jour et un certain nombre de cas particuliers apparaissent dans lesquelles une description par arête devient fastidieuse. Ainsi l'apparition d'un point de scission change-t-il la topologie du maillage et perturbe-t-il l'orientation de la surface. Une telle situation n'a pas été complètement traitée, car cette situation est de toute façon signe d'un problème dans le choix des paramètres d'optimisation.
Enfin il semble difficile de trouver une énergie correcte en général quel que soit le niveau de simplicité du maillage et la voie à explorer pour une amélioration de l'algorithme consisterait à lui permettre d'évoluer en fonction de la phase de simplification.




Retour à la liste des projets réalisés