Sujet de stage 2ème année ENSIMAG 2007

Modifications topologiques de surfaces animées
Topological modifications of animated surfaces


Surface animée (1)
Surface animée (2)
Surface animée (3)
Simulation de fluide par une surface animée selon [2]

Responsables

Antoine Bouthors Matthieu Nesme Franck Hétroy
LJK/EVASION TIMC/GMCAO et LJK/EVASION LJK/EVASION
E-mail : Antoine.Bouthors@imag.fr E-mail : Matthieu.Nesme@imag.fr E-mail : Franck.Hetroy@imag.fr
Tél. : 04 76 61 55 93 Tél. : 04 76 61 55 04

Contexte

Les surfaces implicites sont une représentation classique des objets en informatique graphique, ou plus exactement de leur surface frontière. Une surface implicite est définie comme l'ensemble des points de valeur constante (généralement zéro) d'une fonction définie de R3 dans R. Cette représentation est particulièrement utile lorsqu'il s'agit de modéliser et d'animer des objets hautement déformables, comme par exemple des fluides ou des structures organiques. Cependant, afficher de telles surfaces est très coûteux, et on préfère généralement passer par une autre représentation : un maillage. Ainsi, [2] propose une nouvelle approche permettant d'afficher une surface implicite animée en temps-réel, grâce à la construction de deux maillages successifs approchant la surface implicite, appelés respectivement "maillage mécanique" et "maillage géométrique".

La méthode proposée dans [2] souffre de quelques limitations : en particulier, les objets animés doivent être de topologie constante, c'est-à-dire que le nombre de composantes connexes et le nombre de trous dans la surface ne peuvent pas évoluer. On ne peut donc pas avoir fusion de plusieurs objets par exemple. L'objectif du stage est de résoudre ce problème en étendant la méthode définie dans [2] afin de permettre un changement de la topologie de l'objet (modification du nombre de composantes connexes et apparition ou disparition de trous dans la surface), de manière suffisamment efficace pour que l'animation reste temps-réel. Le stagiaire programmera en C++ et reprendra le code existant de la méthode proposée dans [2].

Mots-clés : surface implicite, triangulation, topologie.

Objectifs

  1. Lire et comprendre la bibliographie afin d'avoir une vision globale du sujet : [2], mais aussi [1,5,7] notamment.
  2. Afin de se familiariser avec le code à compléter, appliquer la méthode [2] au "surface tracking" [1], en résolvant les éventuels problèmes (gestion des inversions).
  3. Etudier les méthodes existantes de gestion de la topologie pour les objets animés : [3,4,6].
  4. S'inspirer d'une ou de plusieurs méthodes pour proposer un algorithme efficace de gestion de la topologie de surfaces implicites animées par la méthode proposée dans [2].
  5. Tester et valider ces méthodes sur des données fournies par les encadrants.

Modalités du stage

Références

  1. A. Bargteil, T. Goktekin, J. O'Brien, J. Strain. A Semi-Lagrangian Contouring Method for Fluid Simulation. ACM Transactions on Graphics, 2006.
  2. A.Bouthors, M. Nesme. Twinned Meshes for Dynamic Triangulation of Implicit Surfaces. Graphics Interface, 2007.
  3. J. Hart, A. Durr, D. Harsh. Critical Points of Polynomial Metaballs. Implicit Surfaces, 1998.
  4. A. Paiva, H. Lopes, T. Lewiner, L. Henrique de Figueiredo. Robust Adaptive Meshes for Implicit Surfaces. SIBGRAPI 2006.
  5. H.C. Rodrian, H. Moock. Dynamic Triangulation of Animated Skeleton-Based Implicit Surfaces. Implicit Surfaces, 1996.
  6. B. Stander, J. Hart. Guaranteeing the Topology of an Implicit Surface Polygonization for Interactive Modeling. SIGGRAPH, 1997.
  7. A. Witkin, P. Heckbert. Using Particles to Sample and Control Implicit Surfaces. SIGGRAPH, 1994.