COURBES B-SPLINE B-Spline Bézier

Slides:



Advertisements
Présentations similaires
Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
Advertisements

Calculs de complexité d'algorithmes
2.1 Rappel des fondements de l’analyse microéconomique: les entreprises et la production Yves Flückiger.
Courbes & Surfaces de subdivision
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
TP4: Dérivation.
CALCUL PARALLELE PRODUIT : MATRICE – VECTEUR 10 pages Exposé par :
Programmes du cycle terminal
L’OFFRE 1.
PROGRAMMATION SCIENTIFIQUE EN C
Nicolas Holzschuch Cours d’Option Majeure 2
LA DISCRIMINATION DE PRIX
Thème -1- : L’electromagnetisme
Les graphiques pour la vélocité. Les variables: Indépendante - Dépendante - Une révision des graphiques:
Les graphiques pour la vélocité
Équations Différentielles
Chapitre 6 Lois de probabilité.
La fonction quadratique
IFT3355: Infographie Courbes et surfaces
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
Unité 1: La cinématique 2. Mouvement rectiligne B. Vitesse uniforme
CRITÈRE DE CONVERGENCE 2
Quelques fonctions de base
Inéquations du second degré à une inconnue
La fonction de demande ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
PROGRAMMATION SCIENTIFIQUE EN C
Calcul d’aires à l’aide des limites
Département de mathématiques
Réalisation d'une image de synthèse
Inéquations du second degré à une inconnue
Technique de points de contrôle: Formes de Bézier
Texture 2D en PGC++.
STT-3220 Méthodes de prévision Section 5 Estimation de la fonction dautocovariance (k) et de la fonction dautocorrélation (k) Version: 11 décembre 2008.
Mathématiques 9: L’algèbre.
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
1 Interpolation Buts L’interpolation consiste à calculer des valeurs pour différents points sur la base d’observations faites sur des points particuliers.
CHAPITRE III Calcul vectoriel
Chapitre 3: Variables aléatoires réelles continues
Mouvement rectiligne uniforme
Introduction à l’Analyse Numérique
Chapitre 4 Variables aléatoires discrètes
Surfaces de Bézier.
Chapitre 7 Les équations différentielles d’ordre 1
Chapitre 7 Les équations différentielles d’ordre 1
Jacques Paradis Professeur
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
IFT3355: Infographie Plan © Victor Ostromoukhov Dép. I.R.O. Université de Montréal.
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.
Distribution de la taille des aérosols
1 Modèles rationnels - NURBS Courbe de Bézier invariante par une transformation affine (par exemple projection sur un plan parallèlement à une projection.
Courbes Bsplines uniformes
Reconnaissance des fonctions. Les principales fonctions en Technico-sciences secondaire 4 La fonction polynomiale de degré 0 La fonction polynomiale de.
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.
C1 – Interpolation et approximation
IFT3355: Infographie Courbes et surfaces © Pierre Poulin Dép. I.R.O. Université de Montréal.
Parabole Quadratique polynomiale de degré 2
IFT3355: Infographie Courbes et surfaces © Pierre Poulin Dép. I.R.O. Université de Montréal.
PROGRAMMATION SCIENTIFIQUE EN C
Transcription de la présentation:

COURBES B-SPLINE B-Spline Bézier Hearn & Baker, Computer Graphics with OpenGL. Prentice-Hall, 2004, chapitre 8.

Courbes B-Spline Avantages recherchés : Le degré d’une courbe polynomiale B-Spline ne dépend pas du nombre de points de contrôle (sous certaines restrictions). Une courbe B-Spline permet un contrôle local sur la courbe. Hearn & Baker, Computer Graphics. 1994, p. 336. On peut modifier la forme de la courbe en ajoutant ou modifiant des points de contrôle. Un type de courbe souple et utile mais difficile à comprendre sur le plan intuitif.

Définition générale avec n + 1 points de contrôle P0, P1, P2, …, Pn. Soit 1 si u  [uk, uk+1] Bk,1(u) = 0 sinon (u - uk) Bk,d-1(u) + (uk+d - u) Bk+1,d-1(u), (uk+d-1 - uk) (uk+d - uk+1) u  [uk, uk+d], alors une courbe B-Spline de degré d est de la forme suivante: P(u) = ∑ Bk,d(u) Pk u  [ud-1, un+1], 2  d  n + 1 k = 0,1,2, ..., n Bk,d(u) = avec n + 1 points de contrôle P0, P1, P2, …, Pn. La courbe polynomiale est de degré d – 1 et continue d’ordre d – 2. L’espace paramétrique u est divisé en n + d sous-intervalles où u0, u1, …, un+d. sont les points de rupture. Chaque portion de la courbe P(u) dans [ud+i-1, ud+i], i = 0, 1, …, n+1-d est touchée par d points de contrôle : Pi, Pi+1, Pi+2, …, Pi+d-1.

Propriétés ∑ Bk,d(u) = 1 u  [ud-1, un+1] k = 0,1,2, ..., n Cette courbe fait partie de l’enveloppe convexe d’au plus d + 1 points de contrôle. Comment fixer les points de rupture ? Aucune restriction à l’exception que uj  uj+1 j. 1. B-Spline uniforme : uj+1 - uj = une constante c j. 2. Les fonctions Bk,d(u) sont périodiques : Bk,d(u) = Bk+1,d(u + c) B-Spline passant par P0 et Pn : uj+1 - uj = une constante c j, sauf u0 = u1 = u2 = … = ud-1 un+1 = un+2 = un+3 = … = un+d. 3.

Courbe B-Spline quadratique uniforme d = 3, n = 2, P0, P1 et P2 P(u) = ∑ Bk,3(u) Pk u  [u2, u3] k = 0,1,2 En posant u2 = 0, u3 = 1, c = 1, on obtient : P(u) = ½ (1 – u)2 P0 + ½ {1 + 2u – 2u2} P1 + ½ u2 P2, u  [0, 1] P1 P(1) P(0) P2 P0

Courbe B-Spline quadratique uniforme d = 3, n = 3, P0, P1, P2 et P3 P(u) = ∑ Bk,3(u) Pk u  [u2, u4] k = 0,1,2,3 En posant u2 = 0, u4 = 1, c = ½, on obtient : 2 (½ – u)2 P0 + {½ + 2u – 4u2} P1 + 2 u2 P2, u  [0, 0.5] 2 (1 - u)2 P1 + {-3/2 + 6u – 4u2} P2 + 2 (u - ½)2 P3, u  [0.5, 1] P(u) = P(u) est continue d’ordre 1 dans [0, 1]. 1ière portion de la courbe P(u) B-Spline quadratique uniforme d = 3, n = 2, avec P0, P1 et P2 Changement de variable : v  2u

Courbe B-Spline quadratique uniforme d = 3, n = 3, P0, P1, P2 et P3 (suite) 2ième portion de la courbe P(u) Changement de variable : v  2 (u - ½) B-Spline quadratique uniforme d = 3, n = 2, avec P1, P2 et P3 P1 P2 P3 P0

Courbe B-Spline quadratique uniforme d = 3, n  2, P0, P1, P2 , …, Pn Courbe composite chaque morceau i est une B-Spline quadratique uniforme d = 3, avec les points de contrôle Pi-1, Pi et Pi+1 i = 1, 2, …, n-1.

Courbe B-Spline cubique uniforme d = 4, n  3, P0, P1, P2 , …, Pn Courbe composite chaque morceau i est une B-Spline cubique (d = 4) uniforme avec les points de contrôle Pi-1, Pi, Pi+1 et Pi+2 , i = 1, 2, …, n-2. Exercice : Déterminer la forme de la courbe B-Spline cubique (d = 4) uniforme avec les points de contrôle P0, P1, P2 et P3.

Courbe B-Spline quadratique passant par P0 et P2 d = 3, n = 2, P0, P1 et P2 Points de rupture : 0, 0, 0, 1, 1, 1 P(u) = ∑ Bk,3(u) Pk u  [0, 1] k = 0,1,2 On obtient : P(u) = (1 – u)2 P0 + 2 (1 – u) u P1 + u2 P2, u  [0, 1] Courbe de Bézier de degré 2 P1 Note : Lorsque d = n + 1, la courbe B-Spline se ramène à une courbe de Bézier de degré d – 1. P0 P2

Courbe B-Spline quadratique passant par P0 et P3 d = 3, n = 3, P0, P1, P2 et P3 Points de rupture : 0, 0, 0, 0.5, 1, 1, 1 P(u) = ∑ Bk,3(u) Pk u  [0, 1] k = 0,1,2,3 On obtient : (1 – 2u)2 P0 + 2u (2 – 3u) P1 + 2u2 P2, u  [0, 0.5] P(u) = 2(1 – u)2 P1 + 2(1 – u)(3u – 1) P2 + (2u – 1)2 P3, u  [0.5, 1] Malheureusement, les 2 portions de la courbe n’ont pas la même forme. (1 – v)2 P0 + ½ v (4 – 3v) P1 + ½ v2 P2, v  [0, 1] P(v) = ½ (1 – v)2 P1 + ½ (1 – v)(3v + 1) P2 + v2 P3, v  [0, 1]

Courbe B-Spline quadratique passant par P0 et P3 d = 3, n = 3, P0, P1, P2 et P3 Points de rupture : 0, 0, 0, 0.5, 1, 1, 1 P1 P2 P3 P0 Note : Pour obtenir une courbe fermée, il s’agit de considérer le cas où P0 = Pn.