Simplification de maillages
Projet Réalisé par
Martin Jachimowicz (X96)
Un maillage est la représentation polyédrique d'une surface tridimensionnelle.
Description du projet
Ce projet se propose, en partant d'un maillage polyédrique, de générer un maillage visuellement proche de l'original mais plus simple que lui, pour économiser de l'espace mémoire, du temps de transfert ou de calcul.
- La méthode choisie est inspirée de celle décrite par Hugues Hoppe.
- Le format d'entrées/sorties choisi estle format VRML 1.0C, dont seuls les objets de type IndexedFaceSet sont pris en compte.
Algorithmes utilisés
L'algorithme choisi se propose de simplifier un maillage en itérant une opération, l'effondrement d'arête, qui consiste à en fusionner les deux extrémités.
Pour mesurer la pertinence d'un effondrement d'arte, et donc savoir quelle est la prochaine arête à effondrer, on a recours à une fonction d'énergie qui tient compte :
- de la distance du maillage simplifié au maillage original
- de l'amélioration éventuelle de la répartition spatiale des points
- de la conservation des discontinuités éventuelles du maillage initial.
Le point destination de l'effondrement est trouvé par minimisation de la fonction d'énergie précitée sur l'ensemble des positions acceptables.
L'énergie associée à l'effondrement d'une arête ne doit être recalculée que si elle appartenait au voisinage de la précédente arête effondrée.
Difficultés rencontrées
- Les choix de structures de données limitent l'application de l'algorithme à des surfaces orientables.
- Seuls les attributs géométriques sont pris en compte (pas de couleur ni de texture pour l'instant)
- L'équilibrage entre les différentes composantes de l'énergie d'effondrement est assez délicat...
- Le fichier sortie est très volumineux
- Mais surtout :
La gestion de la mémoire me pose des problèmes, interdisant pour l'instant la simplification de plus de quelques arêtes!!!
Résultats obtenus
Malheureusement, en raison du problème de mémoire mentionné ci-dessus, je nai pas encore de résultats à montrer.
Stay tuned for more...
Pour en savoir plus, vous pouvez ...
Note : j'ai bien conscience qu'effondrer n'est pas un verbe transitif, mais...
Retour à la liste des projets réalisés