Sujet de Master 2006-2007

Déformations et animation par squelette
Skeleton-based deformations and animation

Déformation d'une tige
Déformation d'un ressort
Déformation d'une tige [3] Déformation d'un ressort [1]

Responsables

Francis Lazarus Franck Hétroy
LIS GRAVIR/EVASION
E-mail : Francis.Lazarus@lis.inpg.fr E-mail : Franck.Hetroy@imag.fr
Tél. : 04 76 82 64 67 Tél. : 04 76 61 55 04

Contexte

Note to English-speaking readers: if you want information in English concerning this proposal, please contact me by e-mail.


Une déformation par squelette d'un objet consiste à associer un graphe plongé à cet objet - une structure filaire jouant le rôle de squelette - puis à reporter les déformations de ce graphe sur l'objet [2,4,5]. Nous nous intéressons à une technique pour laquelle un repère tridimensionnel est associé à chaque sommet du graphe, et des coordonnées locales des points de l'objet sont calculées relativement à ces repères et à une fonction définie à la fois sur l'objet et sur le squelette [1,3]. Une déformation du graphe entraîne une modification de ces repères. La déformation de l'objet est alors obtenue en utilisant les coordonnées locales précédemment calculées dans ces nouveaux repères.

Les principales difficultés concernent d'une part le calcul des repères du graphe en chacun de ses sommets - qui doivent vérifier certaines conditions de continuité aux embranchements - et d'autre part la préservation de ces conditions de continuité lors des déformations du graphe. En particulier, si l'objet comporte une "boucle" (objet de genre non nul), il faut faire attention aux conditions engendrées sur le reste de l'objet par la déformation d'un morceau de cette boucle.

Le but de ce stage est de développer un outil interactif à la fois de déformations et d'animation par squelette d'objets polyédriques. La déformation consiste à modifier l'objet à partir d'une position initiale et du déplacement d'un point, alors que l'animation consiste à passer d'une position connue de l'objet à une autre position connue par déformations successives. Une première composante de l'outil portant sur le calcul du squelette a été implémentée en C++ lors du stage de Grégoire Aujay l'an passé [1]. Une interface graphique a également été développée lors de ce stage. Il s'agira donc de poursuivre ce travail afin d'obtenir un outil complet de déformations et d'animation.

Mots-clés : algorithme, modélisation géométrique, surface, courbe.

Objectifs

  1. Etudier la bibliographie afin d'avoir une vision globale du sujet.
  2. Développer et implémenter une méthode de déformations d'objets par squelette, s'appuyant sur les études précédentes.
  3. Etendre cette technique au cas de l'animation d'objets.
  4. Tester et valider ces méthodes sur des données fournies par les encadrants.

Références

  1. G. Aujay. D'un Squelette Géométrique à un Squelette d'Animation. Rapport de stage, M2R IVR 2006.
  2. J. Bloomenthal. Medial-Based Vertex Deformation. Symposium on Computer Animation, 2002.
  3. F. Lazarus. Smooth Interpolation Between Two Polylines in Space. Computer-Aided Design, 1997.
  4. F. Lazarus, S. Coquillart, P. Jancene. Axial Deformations: an Intuitive Deformation Technique. Computer-Aided Design, 1994.
  5. J. Lewis, M. Cordner, N. Fong. Pose-Space Deformation: a Unified Approach to Shape Interpolation and Skeleton-Driven Deformation. SIGGRAPH, 2000.