ボールスプラインBALL SPLINE ボールスプライン −2〜+1 −3〜+1 −4〜+2 −6〜+3 −8〜+4 表B-5 ④スプライン軸支持部に対するスプライン外筒外周面の半径方向振れ(最大)
1 COURBES B-SPLINE Bézier B-Spline Hearn & Baker, Computer Graphics with OpenGL. Prentice-Hall,...
-
Upload
ariane-daniel -
Category
Documents
-
view
110 -
download
1
Transcript of 1 COURBES B-SPLINE Bézier B-Spline Hearn & Baker, Computer Graphics with OpenGL. Prentice-Hall,...
1
COURBES B-SPLINECOURBES B-SPLINE
Bézier
B-Spline
Hearn & Baker, Computer Graphics with OpenGL. Prentice-Hall,2004, chapitre 8.
2
Courbes B-SplineAvantages recherchés :
Le degré d’une courbe polynomiale B-Spline ne dépend pas dunombre de points de contrôle (sous certaines restrictions).Une courbe B-Spline permet un contrôle local sur la courbe.
Un type de courbe souple et utile mais difficile à comprendre sur leplan intuitif.
Hearn & Baker, ComputerGraphics. 1994, p. 336.
On peut modifier la forme de la courbe en ajoutant ou modifiant despoints de contrôle.
3
Définition généraleSoit 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], 0 sinon
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 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.
Bk,d(u) =
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 + 1points de contrôle.
Comment fixer les points de rupture ?
1. Aucune restriction à l’exception que uj uj+1 j.
2. B-Spline uniforme : uj+1 - uj = une constante c j.
Les fonctions Bk,d(u) sont périodiques : Bk,d(u) = Bk+1,d(u + c)
3. 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.
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]
P(0)P(1)
P0
P1
P2
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)
Changement de variable : v 2u B-Spline quadratique uniformed = 3, n = 2, avec P0, P1 et P2
7
Courbe B-Spline quadratique uniforme
2ième portion de la courbe P(u)
Changement de variable : v 2 (u - ½)
B-Spline quadratique uniformed = 3, n = 2, avec P1, P2 et P3
d = 3, n = 3, P0, P1, P2 et P3 (suite)
P0
P1P2
P3
8
Courbe B-Spline quadratique uniforme
Courbe compositechaque 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.
d = 3, n 2, P0, P1, P2 , …, Pn
9
Courbe B-Spline cubique uniforme
Courbe compositechaque morceau i est une B-Spline cubique (d = 4) uniformeavec les points de contrôle Pi-1, Pi, Pi+1 et Pi+2 , i = 1, 2, …, n-2.
d = 4, n 3, P0, P1, P2 , …, Pn
Exercice :
Déterminer la forme de la courbe B-Spline cubique (d = 4) uniformeavec 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
P0
P1
P2
Note : Lorsque d = n + 1, la courbeB-Spline se ramène à une courbede Bézier de degré d – 1.
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]
2(1 – u)2 P1 + 2(1 – u)(3u – 1) P2 + (2u – 1)2 P3, u [0.5, 1]P(u) =
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]
½ (1 – v)2 P1 + ½ (1 – v)(3v + 1) P2 + v2 P3, v [0, 1]P(v) =
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
P0
P1P2
P3
Note : Pour obtenir une courbe fermée, il s’agit de considérerle cas où P0 = Pn.