Télécharger la présentation
1
Courbes & Surfaces de subdivision
S. Lanquetin
2
Plan Paramétrique / Implicite Courbes paramétriques
Surfaces Paramétriques Courbes de subdivision Surfaces de subdivision
3
Plan Paramétrique / Implicite Courbes paramétriques
Surfaces Paramétriques Courbes de subdivision Surfaces de subdivision
4
Deux façons de définir un cercle
Paramétrique Implicite F>0 F=0 r r u F<0 x(u) = r cos(u) F(x,y) = x²+y²-r² y(u) = r sin(u)
5
Représentation d'une courbe
Explicite: y = y(x) Ce doit être une fonction (x ->y): limitation importante Paramétrique: (x,y) = (x(u),y(u)) facile à spécifier, modifier, contrôler variable u supplémentaire u "cachée" : le paramètre Implicite: f(x,y) = 0 y peut être une fonction multivaluée de x difficile à spécifier, modifier, contrôler b mx y + = ) sin , (cos ( u y x = 2 = - + r y x
6
Représentation d'une surface
Surface paramétrique déplacement sur la surface en modifiant u, v création de maillages intersections : rayon/surface, intériorité… Surface implicite intersection, "morphing" déplacement sur la surface Surface de subdivision construction récursive : maillage de contrôle + règle conception intéractive x(u,v), y(u,v), z(u,v) F(x,y,z) = 0
7
Plan Paramétrique / Implicite Courbes paramétriques
Surfaces Paramétriques Courbes de subdivision Surfaces de subdivision Courbes de Bézier Courbes B-splines
8
2 types de courbes Interpolation Approximation
La courbe passe par les points de contrôle La courbe est attirée par les points de contrôle
9
Polynômes linéaires par morceaux
Interpolation linéaire p1 p2 p ( u ) = 1 + - 2 u 1 2 fonctions de base
10
Courbe de Bézier Ecriture matricielle avec 3 points de contrôle
11
Courbe de Bézier Ecriture matricielle avec 3 points de contrôle
12
Courbe de Bézier Ecriture matricielle avec 3 points de contrôle
Polynômes de Bernstein degré n = 2
13
Courbe de Bézier Algorithme de De Casteljau (construction récursive)
14
Courbe de Bézier Algorithme de De Casteljau (construction récursive)
15
Courbe de Bézier Algorithme de De Casteljau (construction récursive)
degré n = 2
16
Courbe de Bézier Algorithme de De Casteljau (construction récursive)
2 constructions possibles
17
Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 2
18
Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 2
19
Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 2
20
Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 2
21
Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 2
22
Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 2
23
Courbe de Bézier degré 3 Degré 3 ou ordre 4
24
Fonctions de mélange de Bézier
25
Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 3
26
Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 3
27
Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 3
28
Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 3
29
Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 3
30
Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 3
31
Courbe de Bézier Courbe contenue dans l’enveloppe convexe
32
Courbe de Bézier Déplacement d’un point
33
Courbe de Bézier Modification de l’ensemble de la courbe
34
Courbe de Bézier par morceaux
35
Courbe de Bézier par morceaux
36
Courbes par morceaux Différentes possibilités d’assemblage
Continuité de position Continuité de position et du vecteur tangent Continuité de position, de tangence et de courbure
37
Courbes B-splines Rappel : Courbe de Bézier de degré n
points de contrôle fonctions de bases
38
Courbes B-splines Courbe B-Spline à n+1 points de contrôle d’ordre k
vecteur nodal. fonctions de base B-splines d’ordre k
39
Courbes B-splines
40
Courbes B-splines Ordre k = 4 Ordre k = 3 Ordre k = 2
41
Plan Paramétrique / Implicite Courbes paramétriques
Surfaces Paramétriques Courbes de subdivision Surfaces de subdivision
42
Surfaces de Bézier Surface de Bézier de degré m par n
points de contrôle et polynômes de Bernstein
43
Surfaces de Bézier Construction par produit tensoriel
44
Surfaces B-splines Surface B-spline d'ordre k par l
points de contrôle et sont des vecteurs nodaux. et fonctions de base B-spline de degrés respectifs k-1 et l-1 associées aux vecteurs nodaux U et V.
45
Plan Paramétrique / Implicite Courbes paramétriques
Surfaces Paramétriques Courbes de subdivision Surfaces de subdivision Algorithme de Chaïkin Algorithme DLM Algorithme 4 points
46
L’algorithme de Chaikin
Génération de courbes lisses à partir d’un polygone en 2D (1974)
47
L’algorithme de Chaikin
Génération de courbes lisses à partir d’un polygone en 2D (1974)
48
L’algorithme de Chaikin
Génération de courbes lisses à partir d’un polygone en 2D (1974)
49
L’algorithme de Chaikin
Génération de courbes lisses à partir d’un polygone en 2D (1974) Courbe limite : B-spline quadratique uniforme
50
L’algorithme (Dyn, Levin et Micchelli)
génération de B-splines cubiques
51
L’algorithme (Dyn, Levin et Micchelli)
génération de B-splines cubiques
52
L’algorithme (Dyn, Levin et Micchelli)
génération de B-splines cubiques
53
L’algorithme (Dyn, Levin et Micchelli)
génération de B-splines cubiques
54
L’algorithme quatre points
Génération de courbes lisses interpolantes
55
L’algorithme quatre points
Génération de courbes lisses interpolantes
56
L’algorithme quatre points
Génération de courbes lisses interpolantes
57
L’algorithme quatre points
Génération de courbes lisses interpolantes
58
L’algorithme quatre points
Génération de courbes lisses interpolantes
59
L’algorithme quatre points
Génération de courbes lisses interpolantes
60
Plan Paramétrique / Implicite Courbes paramétriques
Surfaces Paramétriques Courbes de subdivision Surfaces de subdivision Définition Vocabulaire Applications Algorithme de Doo-Sabin Algorithme de Catmull-Clark Algorithme de Loop Algorithme de butterfly Subdivision adaptative
61
Surface de subdivision
Maillage initial Règles de subdivision Surface de subdivision Tout d’abord, qu’est ce qu’une surface de subdivision : C’est une surface définie par : un maillage initial (assez grossier) et un ensemble de règles de subdivision.
62
Surface de subdivision
Maillage initial Règles de subdivision Surface de subdivision L’application des règles de subdivision permet d’obtenir un maillage plus fin à chaque itération
63
Surface de subdivision
Maillage initial Règles de subdivision Surface de subdivision
64
Surface de subdivision
Maillage initial Règles de subdivision Surface de subdivision En appliquant ces règles une infinité de fois, on obtient une surface lisse qui est la surface de subdivision. Surface lisse
65
Maillage de contrôle / Surface limite
66
Interpolation / Approximation
67
Interpolation / Approximation
68
Interpolation / Approximation
69
Primal / Dual Principe primal : partage les faces (Loop)
Principe dual : partage les sommets (Doo-Sabin).
70
Uniforme / Adaptatif Mêmes règles appliquées sur toutes les faces
Règles différentes en fonction d'un critère de distance de courbure…
71
Sommets extraordinaires
Valence d’un sommet Sommets réguliers intérieurs / extraordinaires
72
Géométrie Complexe Main de Woody dans Toy Story © Main de Geri dans
Geri’s Game © 3
73
CHAMPS D’APPLICATION Film d’animation 4
74
CHAMPS D’APPLICATION I NTRODUCT I ON 2.496 polygones 4
75
CHAMPS D’APPLICATION Film d’animation I NTRODUCT I ON 4
76
CHAMPS D’APPLICATION Film d’animation Modeleurs CAO I NTRODUCT I ON 4
77
Principe de Doo-Sabin
78
Doo-Sabin F R O N T I E F R O N T I E F R O N T I E F R O N T I E F R
79
Principe de Doo-Sabin
80
Catmull-Clark Scheme Calcul des nouveaux sommets: point "face"
Let this be a part of the control mesh We first compute face point: For each face of the mesh, we compute the average of this face and this point is named face point
81
Catmull-Clark Scheme Calcul des nouveaux sommets: point "face"
point "coté" Then for each edge, we compute the edge point as the average of the endpoints of this edge and the face points of the two faces incident to this edge
82
Catmull-Clark Scheme Calcul des nouveaux sommets: point "face"
point "coté" point "sommet" And then for each vertex point of the control mesh, the vertex point is a weighted average of the edge points generated from the edge incident to this vertex and the face point from faces incident to this vertex
83
Catmull-Clark Scheme Calcul des nouveaux sommets: point "face"
point "coté" point "sommet" Nouveau maillage faces quadrilatérales Finally the new mesh thus built has the characteristic to be quadrilateral
84
Principe de Catmull-Clark
85
Principe de Catmull-Clark
86
Principe de Catmull-Clark
87
Principe de Catmull-Clark
88
Principe de Loop Étape 1 : pair impair [C. Loop : Master 1987] 6
On peut considérer qu’il se déroule en 2 étapes : La première consiste à insérer un sommet au milieu de chaque arête de la face afin de créer 4 nouvelles faces [C. Loop : Master 1987] 6
89
Principe de Loop Étape 2 : Masques 1-k Principe de Loop
La deuxième étape consiste à déplacer tous les sommets en effectuant des moyennages pondérés différents selon les propriétés du sommet : intérieur, frontière, pair (ancien) ou impair (nouveau) A gauche les masques pour les sommets pairs En haut sommet intérieur En bas sommet frontière A droite les masques pour les sommets impairs
90
Principe de Loop Étape 2 : Masques 1/8 3/4 Principe de Loop
La deuxième étape consiste à déplacer tous les sommets en effectuant des moyennages pondérés différents selon les propriétés du sommet : intérieur, frontière, pair (ancien) ou impair (nouveau) A gauche les masques pour les sommets pairs En haut sommet intérieur En bas sommet frontière A droite les masques pour les sommets impairs 1/8 3/4
91
Principe de Loop Étape 1 : Étape 2 : Masques 3/8 1/8 Principe de Loop
La deuxième étape consiste à déplacer tous les sommets en effectuant des moyennages pondérés différents selon les propriétés du sommet : intérieur, frontière, pair (ancien) ou impair (nouveau) A gauche les masques pour les sommets pairs En haut sommet intérieur En bas sommet frontière A droite les masques pour les sommets impairs
92
Principe de Loop Étape 2 : Masques 1/2 Principe de Loop
La deuxième étape consiste à déplacer tous les sommets en effectuant des moyennages pondérés différents selon les propriétés du sommet : intérieur, frontière, pair (ancien) ou impair (nouveau) A gauche les masques pour les sommets pairs En haut sommet intérieur En bas sommet frontière A droite les masques pour les sommets impairs 1/2
93
Principe de Loop
94
Méthode de type Butterfly
Splines de degré 4 sous tension Interpolation du polyèdre de contrôle dans le processus de raffinement Surfaces C1 continues P7 P8 P6 P5 P4 P3 P2 P1
95
Méthode de type Butterfly
A chaque arête, on associe un nouveau point On évalue le nouveau point à l’aide de son voisinage Utilisation d’un paramètre de tension qui sert a fixer l’influence du voisinage Pour C1 continuité w = 1/16 P7 P8 P6 P5 P4 P3 P2 P1
96
Principe de butterfly
97
Subdivision adaptative
Principe de subdivision adaptive ou non-uniforme : Où subdiviser ? Critère de subdivision Comment subdiviser ? Règles de subdivision This process is called adaptive or non uniform subdivision. This kind of subdivision can be subdivided in two parts: first, how to choose the area of the mesh to subdivide and then how to join the subdivided parts with the mesh remains in preserving triangular faces.
98
Problem Éviter les trous Générer un "petit" nombre de faces
Obtenir un maillage progressif When the surface is adaptively subdivided, cracks can appear between subdivided and non subdivided area. For instance, let this be two faces of the mesh. If the face on the left is not subdivided and the other one is subdivided, a crack appears between these two faces. So the rules are chosen to avoid cracks. Moreover the number of faces of the resulting mesh should be as smaller as possible. But the generating mesh is wished progressif to keep a smooth surface
99
Subdivision Adaptive Avec le plus petit nombre de faces sommet mobile
sommet statique In my thesis, I introduce these adaptive subdivision rules. It is very easy to implement and it generates the smallest number of faces. Vertices are tagged and then according to tags of the face vertices, the subdivision is different. If all tags are static, the face is not subdivided. If only one vertex tag is mobile, the face is subdivided quasi normally except for these vertices, they are not displaced. When only one vertex tag is static, the subdivision is almost the same except for this vertex which is not displaced
100
Subdivision Adaptive Results 1692 faces (1872) 468 faces
The generated meshes are satisfying as you can see on this example 5022 faces (7488) 5133 faces (29952)
101
Subdivision Adaptive Le maillage n'est pas conforme
Except that the mesh is not a good mesh. Indeed, if this vertex is considered as a vertex of this face, this face is no more triangular (it as 4 vertices) And if ththis vertex is not shared by the two faces, one edge corresponds to two edges.
102
Subdivision Adaptive Algorithme en T [Zorin et al 1998]
Vertices are tagged mobile or static If all vertices are static, the face is not subdivided If only one vertex is mobile, the mesh is not subdivided too If only one vertexis static, the face is split in two by bissection [Zorin et al 1998] [Amresh et al 2003]
103
Subdivision Adaptive Valences peuvent être élevées
With this algorithm, some vertices can increase a lot as shown there
104
Subdivision Adaptive Algorithme Incrémental Sommet progressif
In this process, there are 3 differents tags for vertices: static, mobile or progressive. According to the number of each tag, the face is not subdivided or subdivided (bissection or Loop subdivision) [Pakdel et al 2004]
105
Subdivision Adaptive Grand nombre de faces
The resulting mesh is good except that the number of faces is very high
106
Subdivision Adaptive Un compromis
So we introduce a compromise. There are only two tags similarly to the first examples: static and mobile. When all vertices of the face are static, the face is not subdivided. When only one vertex is mobile, the face is split into 3. This splitting has already been used in the red-green algorithm which is a non uniform butterfly rules that’s why I do not explain it in the presentation. When at least one vertex is static, the Loop rules are applied. I do not tag new vertices because the distance to the limit surface has to be computed again.
107
Subdivision Adaptive Algorithme diagonal
We call our algorithm : diagonal algorithm The resulting mesh is satisfying with a small number of faces. The inconvenient of our algorithm comes from the diagonal splitting which generates disproportionate faces as bissection and can give a spiral impression.
108
Textures
109
Lancer de rayon
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.