Thèse de Bastien Saillant
Sujet :
Date de début : 01/11/2022
Date de fin (estimée) : 01/11/2025
Encadrant : Guillaume Damiand
Co-encadrant : Fabrice Jaillet, Florence Zara
Résumé :
Cette thèse aborde la simulation d'objets déformables pour des applications en temps réel, se concentrant spécifiquement sur les objets élastiques. Ces derniers voient leur forme modifiée par des forces externes et retrouvent leur état initial en l'absence de celles-ci. Un exemple courant est la représentation de matériaux organiques (tissus, organes, muscles, graisse) pour les simulateurs médicaux, qui exige une simulation interactive et réaliste. De plus, les matériaux organiques conservent quasi parfaitement leur volume lors des déformations, ce qui pose des défis numériques en termes de robustesse, notamment avec des raideurs élevées, voire infinies.
La méthode des éléments finis est une approche classique pour représenter les objets déformables. Elle divise un domaine géométrique en primitives (tétraèdres, hexaèdres, prismes, etc.), puis utilise des interpolations (linéaires, quadratiques, etc.) au sein de ces éléments pour reconstituer les champs de déformations. En informatique graphique, les tétraèdres linéaires sont populaires grâce à leur simplicité et leur faible coût de calcul. Cependant, de récentes études ont montré que l'emploi d'autres types d'éléments et de degrés d'interpolation peut offrir de meilleurs résultats tout en réduisant le temps de calcul. Ces recherches, toutefois, ne ciblent pas les applications en temps réel.
C'est dans ce contexte que nous avons proposé au sein de _eXtended Position Based Dynamics_ (_XPBD_) une définition générique des éléments finis quelconques sous forme de contraintes. Ensuite, nous avons montré la nécessité d'imposer la stabilité au repos (en l'absence de déformation) pour les contraintes. Ces ajouts permettent de réduire significativement les temps de calcul, notamment sur _CPU_. Dans le contexte massivement parallèle sur _GPU_, les tétraèdres quadratiques et les hexaèdres linéaires permettent des accélérations ou des performances équivalentes à celles des tétraèdres linéaires pour des précisions comparables.
Pour tirer le meilleur parti de la parallélisation _GPU_, nous nous sommes ensuite tournés vers _Vertex Block Descent_ (_VBD_), une autre méthode de résolution conçue pour la parallélisation massive en résolvant le problème localement par sommet. Nous avons proposé une formulation locale pour tous types d'éléments tout en améliorant l'algorithme de _VBD_ pour une meilleure parallélisation des éléments. Au final, nous obtenons des accélérations avec les tétraèdres quadratiques et les hexaèdres linéaires, qui répondent aux critères du temps réel tout en offrant une précision équivalente que les tétraèdres linéaires pour un coût réduit.