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