Modélisation par Surfaces Implicites à Squelettes Complexes Bonjour, je m’appelle …, je suis en 2ème année de thèse et je vais vous parler de … thème sur lequel je travaille actuellement avec … Aurélien Barbier Eric Galin Samir Akkouche 30/01/2003 Surfaces Implicites à squelettes complexes
Pourquoi ? Modélisation pour l’animation Dans mon laboratoire, cela fait un bon moment que l’on travaille sur les surfaces implicites et notamment dernièrement sur la métamorphose d’objets animés. Le problème qui s’est posé à nous est celui de la modélisation d’objets complexes. En effet, au cours d’une métamorphose, les objets intermédiaires sont complexes et génèrent des squelettes eux aussi complexes. Mon travail est donc de créer des outils de modélisation intuitifs de SI à squelettes complexes, c’est-à-dire autres que le point et l’arête. !!! METTRE L’ANIM !!! 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes Surfaces Implicites à squelettes complexes
Construire des SI à Squelettes Complexes Inspiration : CSG classique (CAO) Motivations : Modélisation intuitive Profiter du champ de potentiel autour du squelette : mélange automatique Nous nous sommes inspirés du modèle CSG classique pour construire des objets à squelettes complexes. Il n’y a pas que la modélisation : comme je vous l’ai dit, des primitives complexes apparaissent lors des transformations. 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes Surfaces Implicites à squelettes complexes
Contributions Permettre une édition interactive d’objets complexes Modélisation + grande variété de formes modélisation intuitive, contrôle définition de niveaux de détail Visualisation rapide maillage et lancer de rayon Dans ce cadre, nous allons nous attacher à … En effet, la Visualisation de SI est difficile et coûteuse 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes Surfaces Implicites à squelettes complexes
Plan Objectifs Pré-requis : SI à squelette Primitives à squelette complexe Primitives de haut niveau Niveaux de détail Rendu efficace du BlobTree Conclusion 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes
Les Surfaces Implicites Définition : {pER3 / f(p)-T=0} Différents Modèles : Champs de distance [Frisken] : distances stockées dans une grille 3D Blobs, Metaballs [Wyvill, Muraki] et surfaces de Convolution [Bloomenthal, Cani] : peau construite autour du squelette 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes
Modèles hiérarchiques L’utilisation de squelettes est plus intuitive BlobTree [Wyvill,Galin] : alliance de cet avantage, de la CSG et d’opérateurs de déformation F-reps [Pasko] : représentation fonctionnelle moins intuitive 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes
Le modèle du BlobTree mélange BlobTree gi : fonction potentiel (R+ R) {pER3 / f(p)-T=0} BlobTree mélange f(p) = S fi(p) issu des blobs Nous utilisons pour notre part le modèle du BlobTree + opérateurs de déformation potentiel d’une feuille : fi = gi o di gi : fonction potentiel (R+ R) di : fonction de distance au squelette (R3 R+) 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes Surfaces Implicites à squelettes complexes
Le modèle du BlobTree mélange fA+B = (fAn + fBn)1/n f(p) = S fi(p) issu des blobs Autres opérateurs : repères locaux déformation Chaque nœud est inscrit dans une boite englobante Nous utilisons pour notre part le modèle du BlobTree + opérateurs de déformation mélange généralisé union CSG fA+B = (fAn + fBn)1/n 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes Surfaces Implicites à squelettes complexes
Plan Objectifs Pré-requis : SI à squelette Primitives à squelette complexe Primitives de haut niveau Niveaux de détail Rendu efficace du BlobTree Conclusion 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes
Pourquoi des squelettes complexes ? Modélisation plus intuitive Métamorphose [Galin-CGF00] : 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes
Squelettes surfaciques Utilisés : triangles et polygones convexes Surfaces de subdivision [Angelidis-SM02] (convolution) adaptation au BlobTree Surfaces de révolution : axe + profil (quadrique ou cubique par morceaux) Les squelettes utilisés généralement sont très simples et permettent un calcul de la distance à la surface très rapide L’année dernière, Angelidis a proposé d’utiliser des surfaces de subdivision comme squelette dans le cadre des surfaces de convolution. Comme pour les courbes de subdivision, nous avons adapté les surfaces de subdivision au BlobTree comme nous le verrons dans un instant. Nous avons également intégré les surfaces de révolution comme squelette en garantissant un calcul rapide de la distance au squelette à l’aide de fonctions de profil simples et par morceaux. 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes Surfaces Implicites à squelettes complexes
Applications utilisation de squelettes courbes, surfaciques et volumiques Bouteille de vin : 5 primitives ! Les surfaces de révolution et les autres squelettes complexes sont très utiles pour modéliser des objets tels que ceux-ci. Ainsi, la carafe de vin présentée à gauche est créée simplement à partir de 5 primitives : 2 cercles et 1 tube pour le goulot, 1 courbe par morceaux cubiques pour l’anse et 1 surface de révolution dont le profil est une courbe par morceaux quadriques. Les propriétés de mélange des surfaces implicites permettent ensuite d’obtenir les effets de raccord désirés. Le bouchon de l’autre carafe utilise également des squelettes volumiques. 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes Surfaces Implicites à squelettes complexes
Squelettes volumiques + Intuitif + Cohérent : potentiel constant Point–arête sphère-cylindre + flexible qu’une fonction contrainte Ces derniers apportent avant tout un contrôle plus intuitif lors de la modélisation d’objets complexes 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes Surfaces Implicites à squelettes complexes
Plan Objectifs Pré-requis : SI à squelette Primitives à squelette complexe Primitives de haut niveau Niveaux de détail Rendu efficace du BlobTree Conclusion Il faut aller plus loin, nous proposons 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes Surfaces Implicites à squelettes complexes
Cylindre généralisé Utile et simple à contrôler pour les formes tubulaires à rayon variable 1) échantillonner la courbe 2) calculer les rayons 3) pour chaque sommet : - sphère (vi, ri) ; rien si ri=0 - cône, cylindre ou arête 4) renvoyer l’union union 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes
Squelette Surfacique doté d’une épaisseur variable Contrôle : 4 courbes par morceaux 4 x 2 normales 4 rayons variables par morceaux Représentation : surfacique ou volumique 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes
Autres primitives de haut niveau Volumes de révolution : Processus automatique et général intégré au modèle L’utilisateur peut définir les siennes 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes
Utilisation T-Rex : 65 CG, 38 cônes, 7 sphères + mélange local Dragon : 79 CG, 2x3 SC, … Statue : 257 CG dont 176 pour les cheveux Animation : peu de paramètres ! Animation : aussi car hiérarchique 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes Surfaces Implicites à squelettes complexes
Plan Objectifs Pré-requis : SI à squelette Primitives à squelette complexe Primitives de haut niveau Niveaux de détail Rendu efficace du BlobTree Conclusion 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes
Primitives LOD Primitives de haut niveau intrinsèquement LOD Subdivision du support Remplacement à l’instanciation : cône cylindre, … Cani : courbes de subdivision interconnectées comme squelette Primitives : * subdivision du support * cone de presque même rayon -> cylindre, … Se pose alors le problème de la transition entre niveaux de détail, nous y reviendrons … 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes Surfaces Implicites à squelettes complexes
Nœuds multi-représentations Nouveau nœud n-aire : choix du modèle à utiliser Transition entre représentations: Interpolation (double évaluation) l = 1 l = 0,5 l = 0 L 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes
Modèles géomorphes Issus des maillages [Hoppe-SIG96] Primitives : Transitions lisses et sans coût (déplacement des points) Nœuds : influence de sous-arbre tend vers 0 + « métamorphose » 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes
Application des LOD Pas de perte de qualité sensible 30/01/2003 On voit ici le résultat de l’application des différents niveaux de détail 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes Surfaces Implicites à squelettes complexes
Plan Objectifs Pré-requis : SI à squelette Primitives à squelette complexe Primitives de haut niveau Niveaux de détail Rendu efficace du BlobTree Conclusion 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes
Combattre les points faibles Réduire le nombre des requêtes Pousser les repères locaux dans les paramètres des feuilles Ré-équilibrer l’arbre à la volée Accélérer les requêtes en tirant parti de la cohérence spatiale Pré-éliminer des sous-arbres Pré-calculer des fonctions de distance et de projection 2 points d’amélioration Réduction des requêtes : amélioration de [Fox-SMI01] Pourquoi à la volée ? Édition interactive !! 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes Surfaces Implicites à squelettes complexes
Temps de rendu en secondes Visualisation Temps de rendu en secondes LR 512 x 512 Maillage 2563 Std Opt Verre vin 53 15 16 10 V. champagne 30 5 T-Rex 258 133 34 22 Dragon 399 241 54 40 Statue 373 59 80 43 Tous les modèles ont préalablement été équilibrés Champagne : squelette surface de révolution très important -> projection sur l’axe agit beaucoup Dragon : beaucoup de primitives réparties de manière homogène Statue : encore plus de primitives mais réparties de manière hétérogène, plus concentrées Toujours des pbs ouverts en rendu, on voudrait aller encore plus vite Rq : en pratique, seule une partie du modèle esten niveau de détail complet pour l’édition !! 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes Surfaces Implicites à squelettes complexes
Plan Objectifs Pré-requis : SI à squelette Primitives à squelette complexe Primitives de haut niveau Rendu efficace du BlobTree Niveaux de détail Conclusion 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes
Conclusion Modélisation d’objets complexes Visualisation rapide Intuitive (squelettes complexes) Simplement contrôlable À niveaux de détail Visualisation rapide Optimisations automatiques Indépendantes de la méthode 30/01/2003 Modélisation efficace d'objets complexes par surfaces implicites à squelettes complexes