La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Courbes & Surfaces de subdivision

Présentations similaires


Présentation au sujet: "Courbes & Surfaces de subdivision"— Transcription de 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


Télécharger ppt "Courbes & Surfaces de subdivision"

Présentations similaires


Annonces Google