Surfaces implicites J. Bloomenthal, ed., Introduction to Implicit Surfaces, Morgan Kaufmann, San Francisco, 1997.

Slides:



Advertisements
Présentations similaires
Aurélien Barbier LIRIS Université Claude Bernard Lyon 1 Nautibus, 8 boulevard Niels.
Advertisements

Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
Licence pro MPCQ : Cours
Constructive Volume Geometry (CVG) Article de Min Chen & John V. Trucker COMPUTER GRAPHICS Benoît Capelli – Stéphane Renaudie DESS IMM
Modélisation par Surfaces Implicites à Squelettes Complexes
Simplification Out-of-Core des modèles polygonales complexes
Unstructured Lumigraph Rendering
Visible Surface Determination (Hidden Surface Removal)
Efficient Simplification of Point-Sampled Surfaces
Courbes & Surfaces de subdivision
Xavier Décoret* Frédo Durand° François Sillion*
Modélisation 3D Réalisation d'une image de synthèse
Modélisation Géométrique
Reconstruction de volume 3D
Maillage et création de surface sous Geomagic
Accueil cuisine nature laboratoire. accueil cuisine nature laboratoire.
Résolution des Équations Différentielles
Mémoire de Projet de Fin d’Etudes
Intersection de Surfaces de Subdivision
Transformations de visualisation en OpenGL
Deuxième Loi de Newton Chapitre 5.
Fonction puissance Montage préparé par : André Ross
Méthode des k plus proches voisins
Tolérances géométriques
Modélisation géométrique à l’aide d’un maillage
Synthèse Applications des réseaux de neurones en reconnaissance de formes et en vision par ordinateur.
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Courbes de Hermite Michael E. Mortenson, Geometric Modeling. Wiley, 1997, 523p.
Courbes de Bézier.
1 Fusion de paraboles Rick Parent, Animatique Algorithmes et techniques. Vuibert, Paris, 2003, 530p. 1.
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
Théorie fractale Introduction à la géométrie fractale
IFT3730: Infographie 3D Textures
Réaction aux collisions dans les animations physiques François Faure, Olivier Galizzi GRAVIR Projet commun CNRS,INRIA,INPG,UJF 1 1.
Réalisation d'une image de synthèse
Technique de points de contrôle: Formes de Bézier
Triangles de Bézier Tiré de Tomas Akenine-Möller & Eric Haines, Real-Time Rendering. A K Peters, 2002, 835p.
Programmation linéaire en nombres entiers : les méthodes de troncature
Modélisation géométrique de base
Modélisation avec des solides facette arête sommet Solides paramétriques.
Animation par scènes ou images clés
1 Modèles de particules Reeves, W. T., "Particle Systems - A technique for Modeling a Class of Fuzzy Objects," SIGGRAPH 83, Reeves, W. T., and.
Modélisation géométrique
Programmation linéaire en nombres entiers
Fonctionnement Duran l’animation cliquez sur pour avancer
GRAPHISME PAR ORDINATEUR
Présentation générale
Par Youssef Mardini et Mahmoud Samhat École La Dauversière, Montréal, juin 2000 Validation du contenu et r é vision linguistique: St é phane LamarcheSt.
Électricité et magnétisme (203-NYB) Chapitre 2: Le champ électrique
Chapitre VIII Découpage d’une scène selon une fenêtre donnée.
Les bases de la modélisation Primitives simples et CSG.
Déformation d’objets non rigides
CHAPITRE III Calcul vectoriel
Les différents modèles
1 Méthode de “Fast Marching” générique pour “Shape From Shading” E. Prados & S. Soatto RFIA 2006 janvier 2006, Tours.
Synthèse d’images et Rendu Réaliste Compression Progressive de Modèles 3D DOMENGET Bruno DUMAS Benjamin EISTI.
Recalage contraint par cartes de courbures discrètes pour la modélisation dynamique du rein Valentin LEONARDI, Jean-Luc MARI, Philippe SOUTEYRAND, Julien.
Equipe synthèse d ’images et réalité virtuelle IRIT-UPS Toulouse Surfaces implicites Les différents modèles analytiques.
LCIN4U73 Bases géométriques de l’imagerie
Introduction aux Surfaces implicites
Visualisation des flots optiques en 3D
Post-optimisation, analyse de sensibilité et paramétrage
Résolution des équations différentielles
GRAPHISME PAR ORDINATEUR
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
L’eau Tiré de D. R. Peachey, Modeling Waves and Surf. SIGGRAPH 86, 20(4), pp
1 Tableur Excel. 2 Introduction Un tableur est un logiciel permettant de manipuler des données numériques et d'effectuer automatiquement des calculs sur.
MECANIQUE DES MILLIEUX CONTINUS ET THERMODYDAMIQUE SIMULATIONS.
Simulation numérique d’un procédé de mise en forme par faible contact d’une virole acier J. Raujol-Veillé, F. Toussaint, L. Tabourot, M. Vautrot, P. Balland.
De la Terre à la carte: Projections et Géoréférencement
Transcription de la présentation:

Surfaces implicites J. Bloomenthal, ed., Introduction to Implicit Surfaces, Morgan Kaufmann, San Francisco, 1997.

Références J. F. Blinn, A Generalization of Algebraic Surface, ACM Transactions on Graphics, Vol. 1, No. 3, July 1982, Pages 235-256. J. Bloomenthal, ed., Introduction to Implicit Surfaces, Morgan Kaufmann, San Francisco, 1997. J. Bloomenthal, Polygonization of Implicit Surfaces, Computer-Aided Geometric Design, vol. 5, no. 4, pp. 341-355, 1988. L. H. de Figueiredo et al.,Physically-Based Methods for Polygonization of Implicit Surfaces, Graphics Interface 92, pp. 250-257. M.-P. Gascuel, An Implicit Formulation for Precise Contact Modeling between Flexible Solids, SIGGRAPH’ 93, p. 313-320. T. Karkanis & A. James Stewart, Curvature-Dependent Triangulation of Implicit Surfaces, IEEE Computer Graphics and Applications, vol. 22, no. 2, pp. 60-69, mars 2001.

Références W. E. Lorensen & H.E. Cline, Marching Cubes: A High Resolution 3D Surface Construction Algorithm, SIGGRAPH’ 87, p. 163-169. Rick Parent, Animatique Algorithmes et techniques, Vuibert Paris, 2003, 530p. A. Pentland & J. Williams, Good Vibrations: Modal Dynamics for Graphics and Animation, Computer Graphics, vol. 23, no. 3, pp. 215-222, 1989. L. Velho, Simple and Efficient Polygonization of Implicit Surfaces, journal of graphics tools, vol. 1, no. 2, pp. 5-24, 1996.

Introduction Ce sont des surfaces définies par tous les points qui satisfont une équation de la forme f(x, y, z) = 0. Ex. : une sphère unité où f(x, y, z) = x2 + y2 + z2 – 1. Ces surfaces sont qualifiées d’implicite parce qu’elles ne sont pas représentées explicitement. Pour définir un objet, une approche consiste à construire une fonction implicite comme étant une somme de fonctions primitives définies de manière implicite. Des animations peuvent être produites en faisant varier la position et l’orientation relatives des fonctions primitives ou les paramètres utilisés pour définir les fonctions elles-mêmes. La normale d’une surface implicite est : f(x, y, z) = f , f , f . x y z L’objet peut alors être déformé en perturbant cette normale. Des surfaces implicites animées sont utiles pour modéliser des liquides, des nuages ou des formes animales étranges.

Modélisation ensembliste Soient F = {(x, y, z) | f(x, y, z) = 0} et G = {(x, y, z) | g(x, y, z) = 0}, F  G = H = {(x, y, z) | h(x, y, z) = 0 où h = f * g}, F  G = Q = {(x, y, z) | q(x, y, z) = 0 où q = f2 + g2}. Par conséquent, le modèle CSG ("constructive solid geometry") peut être appliqué facilement. Si l’on s’intéresse uniquement aux opérations ensemblistes sur des surfaces implicites, les définitions de H et Q sont tout à fait corrects. Mais il en est autrement lorsqu’on considère les mêmes opérations ensemblistes sur des solides. Supposons que F(p) < 0 pour les points p à l’intérieur de F et F(p) > 0 pour les points p à l’extérieur de F. Il en est de même pour G. Malheureusement, cette façon de définir H et Q ne nous permet pas de définir l’intérieur ou l’extérieur de H et de Q.

Modélisation ensembliste union intersection + + f * g f2 + g2 Choisissons plutôt min(f, g) et max(f,g) afin d’y arriver. + + min(f,g) max(f, g)

Modélisation ensembliste Malheureusement, ces fonctions ne sont pas différentiables partout. On peut alors opter pour les approximations suivantes : Union : (f-a + g-a)-1/a avec a > 0. Intersection : (fa + ga)1/a A. Ricci, A Constructive Geometry for Computer Graphics, The Computer Journal, vol. 16, no. 2, 73, pp. 157-160. Note : lim (f-a + g-a)-1/a a = min lim (fa + ga)1/a a = max Qu’en est-il de la différence entre F et G c’est-à-dire F – G ou G – F ?

Fusion de surfaces implicites Il s’agit d’utiliser des primitives implicites, telles que des sphères ou des ellipsoïdes, et de les fusionner de façon homogène. Métaballe (metaball) 1er cas : n-1 f(x, y, z) =  hi(|| (x, y, z) – Ci ||) i=0 où Ci désigne le centre de la iième sphère, Ri marque la fin de la zone d’influence, hi(r) représente la zone d’influence de la iième sphère, avec hi(r) = 0 si r = Ri. Exemple : hi(r) = 1 – r2 Ri2 3

Fusion de surfaces implicites 2ième cas : Somme pondérée de surfaces implicites n-1 f(x, y, z) =  i hi(x, y, z) i=0 Les poids sont spécifiés arbitrairement par l’utilisateur pour construire une surface souhaitée donnée. Note : Si tous les poids i valent 1, alors les primitives implicites sont additionnées. Si l’on utilise des poids négatifs, on obtient des concavités douces. Des concavités plus sévères peuvent être créées en donnant aux poids une valeur négative plus forte.

Surfaces implicites composées

Surfaces implicites basées sur la distance 3ième cas : min min || P - (x, y, z) ||2 i=0, 1, …, n-1 P  élément centrali f(x, y, z) = - 1 = 0 r2 Exemples d’éléments centraux : un point, un segment de droite, un triangle, un polyèdre convexe ou même un polyèdre concave. Note : Lorsque l’élément central est une courbe 3D, la surface implicite est un cylindre généralisé. Note : L’inconvénient d’utiliser des éléments centraux complexes, tel un polyèdre concave, résulte du fait que la fonction de distance est alors plus coûteuse du point de vue du calcul. Note : On doit tenir compte de la forme des éléments centraux pour calculer f.

Surfaces implicites basées sur la distance

Affichage de surfaces implicites Algorithme de tracés de rayons Les rayons sont déterminés en fonction des paramètres de la caméra et de la résolution d’affichage. Il s’agit de localiser le point de la surface le plus près du centre de projection sur le rayon à une tolérance d’erreur près. Trouver la plus petite valeur de t telle que f(P + t d) = 0 en utilisant des méthodes numériques.

Affichage de surfaces implicites Représentation polygonale explicite Il s’agit d’échantillonner la fonction implicite aux sommets d’un maillage 3D renfermant la surface implicite. À l’aide des valeurs obtenues aux sommets du maillage 3D, il s’agit d’estimer la position des points se trouvant sur la surface implicite. Des fragments polygonaux sont construits dans chaque cellule du maillage 3D en utilisant tout point de la surface localisé sur les arêtes de cette cellule. fonction négative fonction positive point sur la surface implicite

Effets d’animation produits en modifiant la forme des surfaces implicites 1. Contrôler le mouvement des éléments centraux de ces surfaces. Exemple : Les points qui définissent une collection de métaballes peuvent être contrôlés par un système à particules. La surface implicite résultante peut être utilisée pour modéliser de l’eau, de la pâte ou des nuages selon les attributs d’affichage et le nombre de particules. Exemple : Les éléments centraux composés de segments de droite peuvent former une structure hiérarchique d’articulations.

Effets d’animation produits en modifiant la forme des surfaces implicites 2. Modifier les autres paramètres de la surface implicite. Les poids des différentes primitives implicites peuvent être manipulés pour produire des renflements ou simplement pour contrôler la taille d’un objet implicite. Exemple : La fusion de 2 objets en diminuant le poids d’un objet implicite de 1 à 0 tout en augmentant le poids d’un autre objet implicite de 0 à 1. Modifier la zone d’influence de chaque primitive implicite de façon à produire des effets de déformation. Exemple : Un allongement des axes de définition de l’objet implicite ellipsoïdal produit des effets d’écrasement et d’étirement.

Détection de collisions Il s’agit d’échantillonner la fonction implicite aux sommets d’un maillage 3D renfermant une surface implicite. 1. À l’aide des valeurs obtenues aux sommets du maillage 3D, il s’agit d’estimer la position des points se trouvant sur la surface implicite à l’aide de méthodes numériques. 2. Il faut alors évaluer la fonction implicite de la 2ième surface à ces points. 3. Note : Pour accélérer le traitement, on considère uniquement les points obtenus à l’étape 2 faisant partie de la région enveloppante associée à la 2ième surface. Note : S1 et S2 : surfaces initiales On peut aussi construire une surface implicite S = S1  S2 et tâcher de mettre en évidence des points de S à l’aide des étapes et . 1. 2.

Déformation de la surface implicite à la suite d’une collision (région complémentaire à l’extérieur de la région de pénétration) (chevauchement des zones d’influence)

Déformation de la surface implicite à la suite d’une collision Ajoutons deux termes de déformation, l’un à Fi(p) et l’autre à Fj(p). Il s’ensuit que : Fi(p) + Gij(p) = 0 et Fj(p) + Gji(p) = 0 Choix des termes de déformation : Gij(p) = - Fj(p) et Gji(p) = - Fi(p) Fi(p) - Fj(p) = 0 et Fj(p) - Fi(p) = 0 La région commune entre les surfaces déformées est : Fi(p) - Fj(p) = 0 = Fj(p) - Fi(p) c’est-à-dire, Fi(p) = Fj(p). L’ajout des termes de déformation permet de déformer les 2 objets de manière qu’elles coïncident dans la zone de chevauchement, créant ainsi une surface de contact.

Déformation de la surface implicite à la suite d’une collision

Simulation de la conservation du volume Dans la région de pénétration, on suppose les G négatifs de façon à comprimer les surfaces implicites respectives à la suite de la collision. Pour simuler la conservation de volume, on ajoute un terme aux G de façon à les faire passer à une valeur positive dans la région de propagation immédiatement adjacente mais extérieure à la région de pénétration. Gij(p) = - Fj(p) si p  région de pénétration i.e. Fi(p)  0 et Fj(p)  0 hij(distance r de p à la bordure de la région de pénétration) si p  région de propagation i.e. Fi(p) < 0 ou Fj(p) < 0. Note : hij(r) = 1 – r2 Rij2 3 peut être utilisé par exemple. Note : Pour calculer r, il s’agit d’échantillonner cette bordure en échantillonnant au préalable les 2 surfaces implicites initiales.

Conclusion Elles offrent des opportunités uniques et intéressantes de modélisation et d’animation de formes inhabituelles. Elles se prêtent bien à la modélisation et à l’animation de fluides et de matières élastiques.

Quelques images tirées de Bloomenthal (97)