1 courbes b-spline bézier b-spline hearn & baker, computer graphics with opengl. prentice-hall,...

12
1 COURBES B-SPLINE COURBES B-SPLINE Bézier B-Spline n & Baker, Computer Graphics with OpenGL. Prentice- 2004, chapitre 8.

Upload: ariane-daniel

Post on 04-Apr-2015

110 views

Category:

Documents


1 download

TRANSCRIPT

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

1

COURBES B-SPLINECOURBES B-SPLINE

Bézier

B-Spline

Hearn & Baker, Computer Graphics with OpenGL. Prentice-Hall,2004, chapitre 8.

Page 2: 1 COURBES 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.

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

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.

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

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.

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

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

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

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

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

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

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

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

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

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.

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

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.

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

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) =

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

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.