Télécharger la présentation
1
COURBES B-SPLINE B-Spline Bézier
Hearn & Baker, Computer Graphics with OpenGL. Prentice-Hall, 2004, chapitre 8.
2
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.
3
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.
4
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.
5
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
6
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
7
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
8
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.
9
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.
10
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
11
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]
12
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.
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.