Modélisation géométrique pour la synthèse d’images 10 heures de cours : 5 séances de 2h
Organisation du cours Introduction à la modélisation géométrique Les maillages Définition et propriétés Représentation interne Primitives simples et CSG Les modèles volumiques Les surfaces implicites Leur visualisation Les modèles paramétriques Courbes paramétriques Surfaces paramétriques Surfaces de subdivision Reconstruction et décimation
Cours d'aujourd'hui Introduction à la modélisation géométrique Les besoins Différents modèles Les maillages Définition et propriétés Dualité 2-Manifold et fermeture Formule d'Euler Représentations internes 3 représentations optimisées pour l'espace mémoire 3 représentations optimisées pour le parcours du maillage
Les besoins Cinéma, animation, effets spéciaux ... Domaine médical La construction: aéronautique, automobile... La simulation de phénomènes physiques ou naturels La réalité virtuelle ...
Animation Modélisation intuitive et interactive de surfaces 3D On recherche une qualité visuelle Continuité de normales : C1 Continuité de courbure (pour les reflets) : C2
Domaine Médical Visualisation de données scanner (surfacique ou volumique) Reconstruction des organes Simulation de déformations (opération virtuelle) ...
Construction ... Modélisation de maquette Logiciels de constructions: de la conception à la fabrication (toujours L'interactivité) Une représentation mathématique de la surface qui doit être précise et adaptée aux contraintes de fabrication (continuité, découpage, assemblage, discrétisation…) Doit aussi supporter les modèles de tests physiques (aérodynamique, résistance des matériaux…) ...
Simulation de phénomènes phys. ou nat. Recherche de L'interactivité ou non Spécifiquement adaptés à la résolutions des équations de la physique pour les simulations réalistes Recherche d'un effet visuellement correct avec une simulation "temps réel" ...
La réalité virtuelle Modélisation d'environnements réels ou imaginaires Modélisation adaptée à l'animation et la navigation "temps réel" Dépend fortement de l'application (simulation de ville, le musé virtuel, un monde ou l'on évolue, les simulateurs en immersion…)
Modélisation Donner une représentation géométrique des objets 3D Points Polygones Equations Ellipses Représentations hybrides … Les objets sont organisés dans un graphe de scène
Points
Polygones
Equations
Ellipses
Les maillages Une représentation (approximation) linéaire par morceaux des surfaces à base de polygones C'est à dire une continuité C0 Ils définissent la géométrie tout en donnant une topologie de la surface C'est actuellement une structure standard pour afficher des scènes complexes en 3D Leur visualisation et leur manipulation est optimisée par certaines cartes graphiques
Propriétés topologiques des maillages Dualité 2-manifold et fermeture Formule d'Euler
Dualité Chaque entité du maillage primal de dimension k est remplacé par une entité de dimension (k-2) dans le maillage dual: Chaque face (dim 2) est remplacée par un point (dim 0), les arrêtes gardent leur dimension et les points sont remplacés par des faces. Pour créer la géométrie du maillage dual, on place un point au barycentre de chaque face et on connecte deux point par une arrête si les faces dont ils sont issus sont adjacentes dans le maillage primal.
2-manifold De façon informelle, un maillage est dit 2-manifold ou manifold si toutes ses faces sont des faces simples Par définition, un maillage est 2-manifold si il satisfait les 3 conditions suivantes: Propriété de disque local:En chaque point du maillage, il existe une sphère de rayon >0 telle que l'intersection entre la sphère et le maillage est homothétique à un disque Propriété d'ordonnancement des arêtes: Pour tout point du maillage, ses voisins doivent pouvoir être ordonnés circulairement Propriété de voisinage des faces: Chaque arête du maillage doit avoir exactement 2 faces adjacentes si c'est une arête intérieure au maillage et 1 seule si c'est une bordure du maillage. Une arête ayant plus de 2 (ou 1) face adjacente est appelée une arête complexe
Un maillage est dit fermé si il n'a pas de bordure Fermeture Un maillage est dit fermé si il n'a pas de bordure
Formule d'Euler S - A + F = 2 (1-g) Cette formule donne la correspondance entre le nombre de composant de chaque entité du maillage (sommets, arêtes, faces) S - A + F = 2 (1-g) Où S est le nombre de sommets, A est le nombre d'arêtes et F est le nombre de faces. g est le génus de l'objet, c'est à dire, c'est le nombre de trous dans un objet fermé genus 1 genus 2 genus 0
Les maillages triangulaires Des propriétés spécifiques dérivées à partir de la formule d'Euler: où c est une constante qui est petite par rapport à S, A ou F. Il est difficile d'établir directement une relation entre ces entités parce qu'une arête est partagée par plusieurs faces. Par contre, on peut introduire la notion de demi-arête. Une face possède 3 demi-arêtes et une arête est composée de 2 demi-arêtes: S - A + F = 2 (1-g)=c Da = 3 F Da = 2 A F 2S Da 6S
Les solides platoniques Le polygone est fermé et a un génus de 0 Toutes les faces ont le même nombre de côtés et ils ont la même longueur Tous les sommets ont la même valence Pourquoi? Combien y en a t il? A quoi ressemblent-ils?
Structures de données pour les maillages Choisir une représentation adaptée aux opérations que l'on souhaite effectuer sur le maillage : Une représentation compacte Une représentation optimisée pour le parcours
Liste de triangles Pour chaque triangle, on donne la liste de sommets C'est l'approche la plus naïve 4 octets par coordonnée (un flottant) 9 coordonnées par faces 2 fois plus de faces que de sommets Pour un maillages composé de S sommets, on a besoin de 4*9*2*S = 72*S octets.
Sommets partagés Combien d'octets par sommet? Tout d'abord on stocke la liste des sommets Puis les facettes sont définies en donnant les index des sommets qui la compose En général, le fichier commence par le nombre de sommets et le nombre de facettes Combien d'octets par sommet?
Bandes de triangles La topologie est codée de façon implicite dans l'ordre des sommets Chaque sommet est donc visité deux fois Si on considère que l'on qu'une seule bande, quel est l'espace mémoire occupé? En réalité, il y a plusieurs bandes et il faut ajouter 24 octets pour chaque nouvelle bande (le stockage des 2 premiers sommets)
Structure par face Chaque face contient un pointeur vers ses sommets et vers les faces adjacentes Chaque sommet pointe sur une face adjacente Pas d'accès direct aux arêtes Octets par sommet ?
Structure par arête Octets par sommet ? Pour chaque arête, on mémorise un pointeur sur chacun de ses sommets, les quatre arêtes adjacentes et les deux faces adjacentes Pour les sommets et les faces, on mémorise une arête incidente Octets par sommet ?
Structure par demi-arête Une arêtes est décomposée en deux demi-arêtes orientées Pour chaque demi-arête, on mémorise un pointeur vers la demi-arête opposée, le sommet vers lequel elle pointe, la face à laquelle elle appartient et la demi-arête suivante Chaque sommet contient un pointeur sur une demi-arête sortante et chaque face, un pointeur vers une de ses demi-arête Très pratique pour parcourir un maillage de diverses façons Octets par sommet ?