Courbes & Surfaces de subdivision

Slides:



Advertisements
Présentations similaires
Aurélien Barbier LIRIS Université Claude Bernard Lyon 1 Nautibus, 8 boulevard Niels.
Advertisements

Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
Modélisation par Surfaces Implicites à Squelettes Complexes
Fanny CHEVALIER Guillaume CAURANT
LOD et Progressive Meshes (maillages progressifs) Hugue Hoppes 1996
Unstructured Lumigraph Rendering
Efficient Simplification of Point-Sampled Surfaces
Xavier Décoret* Frédo Durand° François Sillion*
Modélisation 3D Réalisation d'une image de synthèse
Modélisation Géométrique
Cours GPA445 Conception assistée par ordinateur Courbes complexes
Conception assistée par ordinateur GPA445
Animation de solides en contact par modèle physique
L’objectif est de présenter
Maillage et création de surface sous Geomagic
Eric Guilbert, Marc Daniel *, Eric Saux
Nicolas Holzschuch Cours d’Option Majeure 2
Module 7 : Géométrie algorithmique. 23/7/2007Géométrie algorithmique2 Plan du module Aire dun triangle Problème 361.
Résolution des Équations Différentielles
Intersection de Surfaces de Subdivision
Lignes trigonométriques.
Modélisation géométrique à l’aide d’un maillage
ANIMATION PAR TRAJECTOIRES
COURBES B-SPLINE B-Spline Bézier
IFT3355: Infographie Courbes et surfaces
Méthode des Ensembles de Niveaux par Eléments Finis P1
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Courbes de Hermite Michael E. Mortenson, Geometric Modeling. Wiley, 1997, 523p.
Courbes de Bézier.
1 PROTOTYPE PGC++ Courbe_parametrique DÉFINITION.
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
Journée thématique du GRD IFS 2902
Les bases des probabilités
Réalisation d'une image de synthèse
Technique de points de contrôle: Formes de Bézier
Triangles de Bézier Tiré de Tomas Akenine-Möller & Eric Haines, Real-Time Rendering. A K Peters, 2002, 835p.
Techniques de points de contrôle en OpenGL : formes de Bézier
IFT3355: Infographie Courbes et surfaces
1 Spline de Catmull-Rom Rick Parent, Animatique Algorithmes et techniques. Vuibert, Paris, 2003, 530p. (Voir section B.4.6) Tomas Akenine-Möller, Eric.
Modélisation géométrique de base
ASI 3 Méthodes numériques pour l’ingénieur
Modélisation avec des solides facette arête sommet Solides paramétriques.
Rendu réaliste en synthèse d’images.
Mathieu Brévilliers, Laboratoire MIA, UHA Partition élémentaire d’un ensemble de segments du plan Journées de Géométrie Algorithmique 2007.
11/12/02 AFIG Lyon Algorithmes d’intersection de surfaces de subdivision Sandrine LANQUETIN.
Modélisation géométrique
Journées Scientifiques / Paris février 2005 IEEA Modélisation de l’interaction onde-structure par l’UTD Application au positionnement d’une antenne.
1 Interpolation Buts L’interpolation consiste à calculer des valeurs pour différents points sur la base d’observations faites sur des points particuliers.
LE SERRAGE DES OUVRAGES
Les bases de la modélisation Primitives simples et CSG.
CHAPITRE III Calcul vectoriel
Enveloppe convexe et triangulation de Delaunay
Les différents modèles
Recalage contraint par cartes de courbures discrètes pour la modélisation dynamique du rein Valentin LEONARDI, Jean-Luc MARI, Philippe SOUTEYRAND, Julien.
Equipe synthèse d ’images et réalité virtuelle IRIT-UPS Toulouse Surfaces implicites Les différents modèles analytiques.
Introduction aux Surfaces implicites
Surfaces de Bézier.
Interpolation et Approximation
Résolution des équations différentielles
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
Courbes de Bézier P2 P1 P3 P0 O
1 Courbes Bsplines non uniformes Bsplines uniformes 1.Nombre de points de définition 2.Position des points de définition 3.Degré m des polynômes Paramètres.
Géométrie et communication graphique
1 Modèles rationnels - NURBS Courbe de Bézier invariante par une transformation affine (par exemple projection sur un plan parallèlement à une projection.
De la Terre à la carte: Projections et Géoréférencement
Modélisation Géométrique Les surfaces paramétriques.
Courbes d'Interpolation Interpolation de Lagrange, et Interpolation B-spline.
1 COURBES B-SPLINE Bézier B-Spline Hearn & Baker, Computer Graphics with OpenGL. Prentice-Hall, 2004, chapitre 8.
IFT3355: Infographie Courbes et surfaces © Pierre Poulin Dép. I.R.O. Université de Montréal.
IFT3355: Infographie Courbes et surfaces © Pierre Poulin Dép. I.R.O. Université de Montréal.
Transcription de la présentation:

Courbes & Surfaces de subdivision S. Lanquetin

Plan Paramétrique / Implicite Courbes paramétriques Surfaces Paramétriques Courbes de subdivision Surfaces de subdivision

Plan Paramétrique / Implicite Courbes paramétriques Surfaces Paramétriques Courbes de subdivision Surfaces de subdivision

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)

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

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

Plan Paramétrique / Implicite Courbes paramétriques Surfaces Paramétriques Courbes de subdivision Surfaces de subdivision Courbes de Bézier Courbes B-splines

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

Polynômes linéaires par morceaux Interpolation linéaire p1 p2 p ( u ) = 1 + - 2 u 1 2 fonctions de base

Courbe de Bézier Ecriture matricielle avec 3 points de contrôle

Courbe de Bézier Ecriture matricielle avec 3 points de contrôle

Courbe de Bézier Ecriture matricielle avec 3 points de contrôle Polynômes de Bernstein degré n = 2

Courbe de Bézier Algorithme de De Casteljau (construction récursive)

Courbe de Bézier Algorithme de De Casteljau (construction récursive)

Courbe de Bézier Algorithme de De Casteljau (construction récursive) degré n = 2

Courbe de Bézier Algorithme de De Casteljau (construction récursive) 2 constructions possibles

Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 2

Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 2

Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 2

Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 2

Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 2

Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 2

Courbe de Bézier degré 3 Degré 3 ou ordre 4

Fonctions de mélange de Bézier

Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 3

Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 3

Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 3

Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 3

Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 3

Courbe de Bézier Construction récursive d’une courbe de Bézier de degré 3

Courbe de Bézier Courbe contenue dans l’enveloppe convexe

Courbe de Bézier Déplacement d’un point

Courbe de Bézier Modification de l’ensemble de la courbe

Courbe de Bézier par morceaux

Courbe de Bézier par morceaux

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

Courbes B-splines Rappel : Courbe de Bézier de degré n points de contrôle fonctions de bases

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

Courbes B-splines

Courbes B-splines Ordre k = 4 Ordre k = 3 Ordre k = 2

Plan Paramétrique / Implicite Courbes paramétriques Surfaces Paramétriques Courbes de subdivision Surfaces de subdivision

Surfaces de Bézier Surface de Bézier de degré m par n points de contrôle et polynômes de Bernstein

Surfaces de Bézier Construction par produit tensoriel

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.

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

L’algorithme de Chaikin Génération de courbes lisses à partir d’un polygone en 2D (1974)

L’algorithme de Chaikin Génération de courbes lisses à partir d’un polygone en 2D (1974)

L’algorithme de Chaikin Génération de courbes lisses à partir d’un polygone en 2D (1974)

L’algorithme de Chaikin Génération de courbes lisses à partir d’un polygone en 2D (1974) Courbe limite : B-spline quadratique uniforme

L’algorithme (Dyn, Levin et Micchelli) génération de B-splines cubiques

L’algorithme (Dyn, Levin et Micchelli) génération de B-splines cubiques

L’algorithme (Dyn, Levin et Micchelli) génération de B-splines cubiques

L’algorithme (Dyn, Levin et Micchelli) génération de B-splines cubiques

L’algorithme quatre points Génération de courbes lisses interpolantes

L’algorithme quatre points Génération de courbes lisses interpolantes

L’algorithme quatre points Génération de courbes lisses interpolantes

L’algorithme quatre points Génération de courbes lisses interpolantes

L’algorithme quatre points Génération de courbes lisses interpolantes

L’algorithme quatre points Génération de courbes lisses interpolantes

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

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.

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

Surface de subdivision Maillage initial Règles de subdivision Surface de subdivision

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

Maillage de contrôle / Surface limite

Interpolation / Approximation

Interpolation / Approximation

Interpolation / Approximation

Primal / Dual Principe primal : partage les faces (Loop) Principe dual : partage les sommets (Doo-Sabin).

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…

Sommets extraordinaires Valence d’un sommet Sommets réguliers intérieurs / extraordinaires

Géométrie Complexe Main de Woody dans Toy Story © Main de Geri dans Geri’s Game © 3

CHAMPS D’APPLICATION Film d’animation 4

CHAMPS D’APPLICATION I NTRODUCT I ON 2.496 polygones 4

CHAMPS D’APPLICATION Film d’animation I NTRODUCT I ON 4

CHAMPS D’APPLICATION Film d’animation Modeleurs CAO I NTRODUCT I ON 4

Principe de Doo-Sabin

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

Principe de Doo-Sabin

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

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

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

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

Principe de Catmull-Clark

Principe de Catmull-Clark

Principe de Catmull-Clark

Principe de Catmull-Clark

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

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

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

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

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

Principe de Loop

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

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

Principe de butterfly

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.

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

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

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)

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.

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]

Subdivision Adaptive Valences peuvent être élevées With this algorithm, some vertices can increase a lot as shown there

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]

Subdivision Adaptive Grand nombre de faces The resulting mesh is good except that the number of faces is very high

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.

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.

Textures

Lancer de rayon