IFT3730: Infographie 3D Modélisation géométrique et animation Pierre Poulin, Derek Nowrouzezahrai Hiver 2013 DIRO, Université de Montréal
Introduction La modélisation géométrique porte principa-lement sur deux questions fondamentales, et d'autres aspects à ne pas négliger comment représenter un objet comment créer un objet comment animer un objet comment transformer un objet entre plusieurs représentations
Représentation d’un objet Il existe une panoplie de façons de représenter un objet. En voici quelques-unes: Représentation volumétrique Voxels Arbres CSG Représentation surfacique B-rep Surfaces bicubiques Surfaces de balayage Autres Points Modèles procéduraux
Représentation d’un objet Représentation volumétrique Voxels Arbres CSG
Voxels (1) Un objet est représenté par une liste de voxels « occupés » Un voxel peut contenir plusieurs données couleur densité température etc. Foley,van Dam Kaufmann, SUNY
Voxels (2) La représentation par voxels résulte souvent du matériel (scanner) qui extrait les données Elle est très populaire en imagerie médicale Le slicing affiche le volume comme une suite de tranches Les tranches peuvent aussi être orientées dans n’importe quelle direction Taille considérable Adam Finkelstein
Arbres 2D Le quadtree (2D) ou octree (3D) permet d’encoder plus efficacement plusieurs voxels adjacents ayant une même valeur de données Représentation hiérarchique vs Foley,van Dam 3D DeBry
CSG (Constructive Solid Geometry) L’objet est défini comme un arbre Feuilles objets simples (primitives) Noeuds opérations booléennes (régulières) union, intersection, différence matrice de transformation
CSG (2) Nigel Stewart Dodgson Nigel Stewart
Représentation d’un objet Représentation surfacique B-rep Surfaces bicubiques Surfaces de balayage
B-Rep (Boundary representation) Un objet est constitué de sommets, segments et faces Le maillage (mesh) est un exemple de B-rep le plus simple. Mais il manque d’information topologique locales Winged-edge un sommet pointe à ses deux sommets ses deux faces ses quatre segments voisins 3 1 2 4
B-Rep (2) Edge Vertices Faces Left Traverse Right Traverse Name Start End Left Right Pred Succ a X Y 1 2 b d e c Dr. Ching-Kuang Shene
Surfaces bicubiques Un objet est représenté par un ensemble de points de contrôle d’une ou plusieurs surfaces bicubiques (Bézier, NURBs, etc.)
Surfaces de balayage Balayage d’un objet (ou d’un point ou d’une courbe) le long d’une trajectoire
Représentation d’un objet Autres Points Modèles procéduraux
Points + Les points peuvent représenter n’importe quel objet, il suffit de générer des points à sa surface + Le rendu d’un simple point est très efficace en hardware + L’organisation hiérarchique de points (niveaux de détails) est facile - Il faut savoir échantillonner suffisamment les objets en fonction du point de vue et des effets désirés (visibilité, ombre, shading, textures, réflexion/réfraction, etc.), sinon il y aura des trous...
Points (2) Stamminger Rusinkiewicz
Modèles procéduraux Une grande variété d’objets (dits naturels) peuvent être créés à partir de l’application de règles, parfois même assez simples Lorsque ces règles peuvent être contrôlées, on parle de modèle procédural paramétrique Ces modèles simplifient souvent la création par un animateur. Parfois, aucun animateur ne pourrait traiter la complexité ainsi générée e.g., arbres/forêt, montagnes, vagues, fumée
Modèles procéduraux (2) Le modèle interagit (communique) avec son environnement (et d’autres objets) croissance d’une branche et répartition de ses feuilles selon l’ensoleillement érosion d’une montagne par un réseau de ruisseaux, ou par le vent, et différences d’aspects (végétation, roches, etc.) déformation d’un objet en fonction des collisions dans son environnement
Modèles procéduraux (3) Fractales L-systems Particules Masses-ressorts etc.
Fractales Auto-similarité: certains objets géométriques peuvent être divisés en sous-parties de formes similaires à la forme originale courbe de Koch Ensemble Julia, Mandelbrot où x et c sont complexes. Mandelbrot
L-systems (Graftals) Les L-systems servent souvent à décrire la structure de plantes Série de règles de substitution A : AA B : A[B]AA[B] Quelques générations B A[B]AA[B] AA[A[B]AA[B]]AAAA[A[B]AA[B]]
L-systems Ochoa Duranleau 2e génération 3e génération 6e génération
L-systems (extensions) Scène urbaine Parish Parish Végétaux Montagnes Prusinkiewicz
Particules Les systèmes de particules permettent de simuler des objets difficiles à représenter autrement e.g., feu, nuage, eau, feux d’artifice Une particule évolue dans le temps création, mouvement, interaction, disparition Une particule peut réagir selon son environnement e.g., flocking, densité Une particule peut contrôler n’importe quel paramètre e.g., direction, couleur, opacité, grosseur, primitive
Particules Certains comportements de particules sont inspirés de la physique Schéma d’intégration traitement du temps Détection de collisions Réponse aux collisions
Particules - Liquides Zhang Xiao
Particules - Fluides Stam “Fontaine” Nevrax
Masses-ressorts Une surface est représentée par une distribution de points (masses) Les points sont interconnectés par des ressorts linéaires ou angulaires (plis, étirements, aire) Les ressorts interagissent entre eux, avec l’environnement, et avec la surface elle-même (auto-intersection) Syflex
Masses-ressorts (2)
Modélisation assistée L’infographie peut aussi fournir des outils plus sophistiqués pour modéliser certaines classes d’objets reconstruction 3D modélisation directe FFD simulation physique
Reconstruction 3D Objet de mesure robotisé Stéréovision et triangulation Seitz www.stockeryale.com
Manipulation directe (non linéaire) Forme originale Bend Twist Squeeze Noise Displacement
FFD (Free Form Deformation) Au lieu de manipuler directement la représentation de l’objet, on modifie les points de l’espace autour de l’objet La représentation de l’objet est déformée par la déformation locale de son espace, comme si elle était dans gélatine Hirota et al.
Physique On infère aux matériaux des propriétés physiques (distribution de la masse, rigidité/élasticité, fractures, etc.) Fedkiw Forme originale Fonte