2. Modélisation surfacique
Transcription
2. Modélisation surfacique
Infographie – chapitre 1 Modélisation géométrique, fondamentaux : Données non-structurées et modélisation surfacique Infographie v.2014 HE-Arc / HES-SO – BSc3 Stéphane Gobron Une boîte de Tictac® Décrire la forme de cet objet en quelques mots 2 Avant propos 1 Modélisation E.g. NPR E.g. Via OpenGL 2 Rendu fluides 3 Animation E.g. Via OpenGL 3 Plan Introduction 1. Données non structurées 2. Modélisation surfacique Conclusion / références / discussion 4 Introduction i. Buts de la modélisation 1. Données non structuréesii. Applications 2. Modélisation surfacique iii. Croissance iv. Un « bon » modèle v. Le « bon » modèle Conclusion / références / discussion 5 Introduction i. Buts de la modélisation Modéliser les objets du monde réel • On veut pouvoir – Définir la géométrie – Manipuler / déformer – Combiner => complexité augmentée • Contraintes matérielles : mémoire, temps de calcul … 6 Introduction ii. Applications Donkey Kong: best-seller jeu d’arcade début 1980s Industrie du jeu! 2011-11-11 : Skyrim 7 Introduction ii. Applications Mécanique Conception pour l’architecture Biologie 8 Introduction iii. Croissance 1961: Edward Zajac displays satellite research using CG 9 Introduction iii. Croissance … en seulement 30 ans… E.g. la simulation de l’eau sur PC 10 min en 1979 En temps-réel en 2009 Introduction iii. Croissance Quel que soit le CG modèle utilisé, l’image est produite via (a) Écran => Pixels (b) Carte graphique => surface rendering : polygones (c) Carte graphique => volume rendering : voxels (a) Rendu direct : point 3D=>2D (b) Gestion des polygones (c) Gestion des voxels 11 Introduction iv. Un "bon" modèle • Formellement – – – – Complétude Clôture Non ambiguïté Unicité – Création simple – Opérations rapides – Compacité • Plus simplement – Objets valides, finis et homogènes – Objets non valides éliminables facilement 12 Introduction v. Le "bon" modèle • Celui qui est adapté à vos besoins 13 Le cube LEGO Que pensez-vous de votre description? 14 Introduction 1. Données non structurées 2. Modélisation surfacique1.1 Nuage de points 1.2 "Soupe" de polygones Conclusion / références / discussion 15 1. Données non structurées 1.1 Nuage de points (1/2) Ensemble non structuré de points • Données brutes, issues de saisie automatique • Difficilement manipulable Laser par balayage Laser par rotation de l’objet 16 1.1 Nuage de points (2/2) Utilisation • Simplification Méthode locale ou globale • Reconstruction 3D Polygonation / Trouver l’enveloppe englobante Astéroïde Eros (NASA) 17 1. Données non structurées 1.2 "Soupe" de polygones Ensemble non structuré de polygones. • Adapté à OpenGL • Conversions de modèles • Reconstruction 18 Introduction 1. Données non structurées 2. Modélisation surfacique 2.1 Maillage Conclusion / références 2.2 / discussion Surfaces paramétriques 2.3 Surfaces de subdivision 2.4 Surfaces implicites 19 2. Modélisation surfacique 2.1 Maillage (1/4) Principe Ensemble connecté de polygones 20 2. Modélisation surfacique 2.1 Maillage (2/4) Propriétés • Pas forcément fermé • Contrôle de l’erreur : proportionnel au nb de polygones Avantages / inconvénients + surfaces planes, cubes… - surfaces courbes 21 2. Modélisation surfacique 2.1 Maillage (3/4) Codage / stockage Sommets Représentation par graphe d’adjacence Arêtes Faces S1: 0,0,0 S2: 0,0,12 … Sn1: … Arêtes Sommets • Pb de la qualité du maillage • Algorithme de simplification • => Niveau de détails "LoD" A1: S1, S4 A2: S1, S6 … An2: Sn1, Sn1-1 Faces F1: A1, A2, A5… F2: A1, A3, … … Fn3: … 22 2. Modélisation surfacique 2.1 Maillage (4/4) Triangle-Strip : bande de triangles Application de maille optimisée unidirectionnelle P1 Pn P7 Pn-2 P5 P3 (...) P0 Pn-1 P6 P2 P4 Eg06-01 : WebGL, Hello World! Introduction à l’infographie, chapitre 6 : WebGL @ 2014, PPUR - EPFL / HES-SO e.g. WebGL Cliquer à trois endroits pour créer le 1er triangle, puis, à chaque nouveau clic, dérouler progressivement le triangleStrip (bande de triangles) Les trois premiers clics qui ont permis de définir le triangle initial de la bande appelée « triangle strip ». La bande de triangles se déroule au fur et à mesure des clics suivants. 2. Modélisation surfacique 2.2 Surfaces paramétrées: Les splines • Polynôme de haut degré • Courbes de formes libres: "splines" - Courbes de Bézier : ingénieur Renault - Catmull-Rom spline - B-splines - NURBS : non uniform rational b-spline A B C • Points de contrôle contrôle local C1 P2 A C2 E.g. Bézier curves E B P1 D F C E.g. Catmull-rom spline 24 2. Modélisation surfacique 2.2 Surfaces paramétrées Surfaces splines (2/4): Principe Produit de courbes splines en u et v: (v) (u) 25 2. Modélisation surfacique 2.2 Surfaces paramétrées Equipe Alice, INRIA, Nancy, FR Surfaces splines (3/4): Principe Projet 2012: résultat (en bas) d’un plaquage d’une grille de spline (millieu) sur une mesh triangulée (en haut) 26 2. Modélisation surfacique 2.2 Surfaces paramétrées Surfaces splines (4/4): Application P1 P2 P1,2 P1 P2 P1,2 P2 P1 P1,2 = P1+t.P1P2 P P0,1 = P0+t.P0P1 P0,1 P0 P0,1 P0 P P = P0,1+t.P0,1P1,2 P0 avec t : [0 ~ 1] Eg06-02 : Quad! Introduction à l’infographie, chapitre 6 : WebGL @ 2014, PPUR - EPFL / HES-SO Définir les trois points de contrôle en cliquant à trois endroits dans le canevas, puis pour modifier la courbe, utiliser les touches suivantes : ‘-’ pour réduire la résolution de la courbe ; ‘+’ pour l’augmenter ; ‘a’ et ‘d’ pour les mouvements horizontaux du point de contrôle central et similairement ‘w’ et ‘s’ pour l’axe vertical. e.g. WebGL Mouvement du deuxième point de contrô-le avec les mêmes hypothèses Nombre de points intermédiaires approximant la courbe de Bézier, respectivement 15, 4, 2 et 1 27 2. Modélisation surfacique 2.2 Surfaces paramétrées Surfaces splines (2/2) : Exemples 28 2. Modélisation surfacique 2.2 Surfaces paramétrées Constructions élémentaires (1/2) (a) Surfaces de révolution Rotation d’un profil autour d’un axe 29 2. Modélisation surfacique 2.2 Surfaces paramétrées Constructions élémentaires (2/2) (b) Extrusion Chemin qui sert de squelette à la forme 30 2. Modélisation surfacique 2.3 Surfaces de subdivision (1/7) Principe 2D: ligne • Séquence de raffinement en tenant compte du voisinage direct • Différentes techniques Technique 1 Subdivision directe 31 2. Modélisation surfacique 2.3 Surfaces de subdivision (2/7) 2e principe et propriétés Technique 2 Subdivision indirecte + Converge plus vite - Géométrie déformée 32 2. Modélisation surfacique 2.3 Surfaces de subdivision (3/7) Construction 3D Résultats comparatifs Tech1 Tech2 33 2. Modélisation surfacique 2.3 Surfaces de subdivision (4/7) En résumé Avantages vs. inconvénient + Topologie arbitraire + LoD implicite, niv. de détail + Représentation uniforme, maillage + spline + Stabilité numérique + Simplicité de programmation - Possible dénaturation de la géométrie 34 2. Modélisation surfacique 2.3 Surfaces de subdivision (5/7) Exemples industriels Toy story 2 Bug’s life 35 2. Modélisation surfacique 2.3 Surfaces de subdivision (6/7) L’exemple par excellence Geri's game 1997 36 2. Modélisation surfacique 2.3 Surfaces de subdivision (7/7) Application e.g. WebGL 37 2. Modélisation surfacique 2.4 Surfaces implicites (1/5) Idée de base • Comparatif avec les surfaces de subdivision • Notion de potentiel géométrique • Respect de la topologie Géométrie Surface Notion de E.g. de E.g. surface initiale de subdiv. potentiel géométrie implicite 38 2. Modélisation surfacique 2.4 Surfaces implicites (2/5) Principe Surface S = { quel que soit Px,y,z }{ il existe fx,y,z = iso } • • Modélisation volumique f(x,y,z) > iso Test d’appartenance d’un point au volume => détections de collisions, lancer de rayons • Union max (f1,f2) • Intersection min (f1, f2) • "Mélange" f1 + f2 39 2. Modélisation surfacique 2.4 Surfaces implicites (3/5) Le contrôle • Équation analytique pour f : super-quadriques => /!\ très complexe • Surfaces implicites à squelettes f = somme fi = iso fi fonction décroissante de la distance D(P,Si) fi iso e D 40 2. Modélisation surfacique 2.4 Surfaces implicites (4/5) Exemple simple • Modifiant uniquement la limite iso (d) 41 2. Modélisation surfacique 2.4 Surfaces implicites (5/5) Applications réelles Reconstitution 3D Art Médical 42 Références (1/2) • Papers represented in this course – – – – – – • Natural phenomena (CG) – – • Special thanks to Pr. Cyril Soler, « iMAGIS », INRIA For CG General Ref – • Pr. Fabrice Neyret, « eVASION », CNRS (INRIA) Pr. Norishige Chiba, IWATE Univ. (Eng. Fac.) Formal (CG) – • Greg Turk, Modeling with Implicit Surfaces that Interpolate, (2002) J. Thollot, C. Soler, N. Holzschuch, Cours et présentations divers, (2001) Joanna L. Power, A. J. Bernheim Brush, David H. Salesin, and Przemyslaw Prusinkiewicz, Interactive Arrangement of Botanical L-System Models, (1999) S. Gobron, N. Chiba, Ph.D dissertation, (1997-2001) S. Gobron, Fractal landscape generation, Diderot Science, (1996) E. Ferley, S. Gobron, M-P. Cani, Real-time Implicit Surface Modeling and Virtual Dental Surgery, (2001-2002) Grenoble CG Labs (iMAGIS) / Iwate Univ. CG-Lab Prof. Dr. W. Shoaff (FIT, FL, USA) Prof. Dr. N. Chiba (GanDaï, Japan) Prof. Dr. Fabrice Neyret Prof. Dr. Joelle Thollot Prof. Dr. Cyril Soler Prof. Dr. Daniel Thalmann Pour Cellular Automata (CG) – Mon site Web par exemple www.stephane-gobron.net 43 Discussion 44