• Aucun résultat trouvé

Courbes B-splines

N/A
N/A
Protected

Academic year: 2022

Partager "Courbes B-splines"

Copied!
20
0
0

Texte intégral

(1)

Cours de mathématiques

Chapitre 17

Courbes B-splines

Uneourbede Bézierest totalement modiéedès qu'ondéplaeun point de ontrle :on

dit quela méthode de Bézierest une méthode globale.

LesCourbesB-Splines 1

ontétédéniesdanslesannées70àtraversunalgorithmeeae

ar pyramidal (analogue à elui de De Casteljau) pour remédier à l'inonvénient de la

globalité : le déplaement d'un point de ontrle de laourbe n'aete ainsi plus qu'une

partielimitéede laourbe,equiamèneunplusgrandonfortdanslaoneptionassistée

par ordinateur.

La méthode B-Splineest don une méthode loale.

Aymar de Saint-Seine Année scolaire 2011–2012

1. spline sepronone[splain℄,equiledistinguedespleen[spli:n℄(Wikipedia)

(2)

1.

Courbes B-Splines (Modèle de Riesenfeld, degré 2)

1.1.

Nature du problème

On donne

4

points

P 0

,

P 1

,

P 2

et

P 3

.

On veut obenir deux ars de ourbes

C 0

et

C 1

.

C 0

a pour représentation :

− − − − − − − −→

OM 0 ( t ) = R 0 ( t ) OP −→ 0 + R 1 ( t ) OP −→ 1 + R 2 ( t ) OP −→ 2

.

C 1

a pour représentation :

− − − − − − − −→

OM 1 (t) = R 0 (t) OP −→ 1 + R 1 (t) OP −→ 2 + R 2 (t) OP −→ 3

.

R 0

,

R 1

et

R 2

sont des polynmesde degré

2

et

t

est dans l'intervalle

[0; 1]

.

On impose lesontraintes suivantes :

1

. Les ourbes

C 0

et

C 1

ne dépendent pas du repère hoisi.

tradution :

M 0

est le baryentre de

(P 0 , R 0 ) (P 1 , R 1 ) (P 2 , R 2 )

soit

R 0 ( t ) + R 1 ( t ) + R 2 ( t ) = 1

(en partiulier pour

t = 0) 2

. Les ourbes

C 0

et

C 1

se raordent.

tradution :

− − − − − − − −→

OM 0 (1) = OM −→ 1 (0)

soit

R 0 (1) OP −→ 0 + R 1 (1) OP −→ 1 + R 2 (1) OP −→ 2 = R 0 (0) OP −→ 1 + R 1 (0) OP −→ 2 + R 2 (0) OP −→ 3

Après identiationdes oeients des veteurs, on obtient:

R 0 (1) = 0 ; R 1 (1) = R 0 (0) ; R 2 (1) = R 1 (0) ; R 2 (1) = 0 . 3

. Les ourbes

C 0

et

C 1

ont mêmetangenteau pointde raordement.

tradution :

−→

OM 0 (1) ′

= −→

OM 1 (0) ′

soit

R 0 (1) OP −→ 0 + R 1 (1) OP −→ 1 + R 2 (1) OP −→ 2 = R 0 (0) OP −→ 1 + R 1 (0) OP −→ 2 + R 2 (0) OP −→ 3

Après identiationdes oeients des veteurs, on obtient:

R 0 (1) = 0 ; R 1 (1) = R 0 (0) ; R 2 (1) = R 1 (0) ; R 2 (1) = 0.

Les polynmes

R i

étantde degré deux, ona :

R 0 (t) = a 0 t 2 + b 0 t + c 0 R 1 (t) = a 1 t 2 + b 1 t + c 1 R 2 ( t ) = a 2 t 2 + b 2 t + c 2

et par suite

R 0 (t) = 2a 0 t + b 0 R 1 (t) = 2a 1 t + b 1 R 2 ( t ) = 2 a 2 t + b 2

En érivant les ontraintes i-dessus, on obtient un système de neuf équations à neuf

inonnues :

c 0 + c 1 + c 2 = 1 ;

a 0 + b 0 + c 0 = 0 ; a 0 + b 1 + c 1 = c 0 ; a 2 + b 2 + c 2 = c 1 ; c 2 = 0 ; 2a 0 + b 0 = 0 ; 2a 1 + b 1 = b 0 ; 2a 2 + b 2 = b 1 ; b 2 = 0.

En résolvant e système,on obtient :

R 0 (t) = t 2

2 − t + 1

2 ; R 1 (t) = − t 2 + t + 1

2

et

R 2 (t) = t 2

2 .

(3)

Un exemple de traé de ourbe en présenté plus loin.

Définition 1 :

La ourbe formée par

C 0

et

C 1

est la ourbe B-Spline obtenue ave

4

points de

dénition

P 0

,

P 1

,

P 2

et

P 3

et les

3

polynmesdeRiesenfelddu seonddegré.Onles

note

R 0,2 (t); R 1,2 (t)

et

R 2,2 (t).

1.2.

Ajout d'un point de dénition (degré 3)

Ajoutons

P 4

aux

4

points préédents. On a alors deux possibilités: Soit on ajoute un ar :

On obtient alors trois ars

C 0

,

C 1

et

C 2

;

C 2

ayant pour points de dénition

P 2

,

P 3

et

P 4

assoiés aux mêmes polynmes

R 0,2

,

R 1,2

et

R 2,2

.

Si ondéplae

P 0

, seul l'ar

C 0

est modié.

C 1

et

C 2

restentxes.

Si ondéplae

P 1

, lesars

C 0

et

C 1

sont modiés.

C 2

restent xes.

Le aratère loal voulu est bien obtenu.

Soit on augmente le nombre de points de dénition pour haun des ars :

Ave 5points de dénition, onpeut dénir

2

ars

G 0

et

G 1

dénis haun par

4

pointsde

dénition assoiés à 4 polynmes du troisièmedegré.

Pour

G 0 : OM −→ 0 (t) = Q 0 (t) OP −→ 0 + Q 1 (t) OP −→ 1 + Q 2 (t) OP −→ 2 + Q 3 (t) OP −→ 3

.

Pour

G 1 : OM −→ 1 (t) = Q 0 (t) OP −→ 1 + Q 1 (t) OP −→ 2 + Q 2 (t) OP −→ 3 + Q 3 (t) OP −→ 4

.

ave

Q 0

,

Q 1

,

Q 2

et

Q 3

polynmesdu troisièmedegré.

En opérantde façonsimilaireà e qui a été fait en début de hapitre, ontrouve :

 

 

 

 

Q 0 (t) = − t 6 3 + t 2 22 t + 1 6 Q 1 ( t ) = t 2 3 − t 2 + 2 3 Q 2 (t) = − t 2 3 + t 2 2 + 2 t + 1 6 Q 3 ( t ) = t 6 3

Définition 2 : polynômes de Riesenfeld

Les polynmestrouvés sont dits polynmes de Riesenfeld de degré

3

.

On les note

R 0,3 ( t ); R 1,3 ( t ); R 2,3 ( t )

et

R 3,3 ( t ) .

Plus généralement, le i-ème polynme de Riesenfeld de degré

n

est alulé ave la

formule :

R i,n (t) = (n + 1)

n−i

X

j=0

( − 1) j (t + n − i − j) n

j!(n + 1 − j)!

(4)

1.3.

Exemple

On onsidère lespointsde ontrle

P 0 (1; 2)

,

P 1 (2; 0)

,

P 2 (3; 4)

et

P 3 (4; 1)

.

Courbe B-spline (Modèle de Rieseneld de degré 2)

C 0

a pour représentation :

− − − − − − − −→

OM 0 (t) = R 0,2 (t) OP −→ 0 + R 1,2 (t) OP −→ 1 + R 2,2 (t) OP −→ 2

= ( t 2

2 − t + 1 2 )

1 2

+ ( − t 2 + t + 1 2 )

2 0

+ t 2

2 3

4

=

t + 3 2 3t 2 − 2t + 1

C 1

a pour représentation :

− − − − − − − −→

OM 1 ( t ) = R 0,2 ( t ) OP −→ 1 + R 1,2 ( t ) OP −→ 2 + R 2,2 ( t ) OP −→ 3

= ( t 2

2 − t + 1 2 )

2 0

+ ( − t 2 + t + 1 2 )

3 4

+ t 2

2 4

1

=

t + 5 2

7t 2 2 + 4t + 2

Tableaudes variationsonjointes :

t x 0 (t)

x 0 (t)

y 0 ( t )

y 0 (t)

0 1 3 1

+

3 2 3 2

5 2 5 2 1 3

11 6

11

2 3 2 3

22

− 0 +

t x 1 (t)

x 1 (t)

y 1 ( t )

y 1 (t)

0 4 7 1

+

5 2 5 2

7 2 7 2 4 7

43 14

22

22 7 22

7

5 2 5 2

+ 0 −

Traé de laourbe :

1 2 3 4

1 2 3 4 5

b b b

P 0

P 1 P 2

P 3

Remarques :

1

.

x 0 (t) = t + 3 2

y 0 (t) = 3t 2 − 2t + 1

don

t = x 03 2

y 0 = 3(x 0 − 3 2 ) 2 − 2(x 0 − 3 2 ) + 1 = 3x 2 0 − 11x 0 + 43 4

C'est l'équation d'uneparabole.

(5)

2

. La ourbe B-Spline ne passe pas par lespoints de dénition.

3

.

C 0

est la ourbe de Bézier de points de ontrle

M 0 (0)

,

P 1

et

M 0 (1)

et

C 1

est la ourbe de Bézier de points de ontrle

M 1 (0)

,

P 2

et

M 1 (1)

. (Admis et seulement

vrai pour le degré

2

, voirla setion3 sur le lienentre les modèles en n de ours.)

En ajoutant le point

P 4 (1; 2)

aux points dénis préédemment.

Soit on ajoute un ar : B-spline Riesenfeld de degré 2

C 2

a pour représentation :

− − − − − − − −→

OM 2 (t) = R 0,2 (t) OP −→ 2 + R 1,2 (t) OP −→ 3 + R 2,2 (t) OP −→ 4

= ( t 2

2 − t + 1 2 )

3 4

+ ( − t 2 + t + 1 2 )

4 1

+ t 2

2 1

2

=

−4t 2 +2t+7

4t 2 −6t+5 2 2

Traé de laourbe :

1 2 3 4

1 2 3 4 5

b b b

P 0

P 1 P 2

P 3

Soit on augmente le nombre de points de dénition pour haun des ars :

B-spline Riesenfeld de degré 3

C 0

a pour représentation :

− − − − − − − −→

OM 0 (t) = R 0,3 (t) OP −→ 0 + R 1,3 (t) OP −→ 1 + R 2,3 (t) OP −→ 2 + R 3,3 (t) OP −→ 3

= ( − t 3 6 + t 2

2 − t 2 + 1

6 ) 1

2

+ ( t 3

2 − t 2 + 2 3 )

2 0

+ ( − t 3 2 + t 2

2 + t 2 + 1

6 ) 3

4

+ t 3 6

4 1

=

t + 2

−13t 3 +18t 2 +6t+6 6

C 1

a pour représentation :

− − − − − − − −→

OM 1 ( t ) = R 0,3 ( t ) OP −→ 1 + R 1,3 ( t ) OP −→ 2 + R 2,3 ( t ) OP −→ 3 + R 3,3 ( t ) OP −→ 4

= ( − t 3 6 + t 2

2 − t 2 + 1

6 ) 2

0

+ ( t 3

2 − t 2 + 2 3 )

3 4

+ ( − t 3 2 + t 2

2 + t 2 + 1

6 ) 4

1

+ t 3 6

1 2

=

−2t 3 +3t+9

11t 3 −21t 3 2 +3t+17 6

(6)

Traé de laourbe :

1 2 3 4

1 2 3 4 5

b b b

P 0

P 1 P 2

P 3

Remarque : On remarque que si les ourbes de degré 3 permettent de traer un point

doubleouunpointderebroussement,elleaugmenteependantlesvariationsdelaourbe.

On préfèreainsi utiliserautantque possible lespolynmesde Riesenfeldde degré 2.

2.

Courbes B-Splines (Modèle de Cox et de de Boor)

2.1.

Fontions B-splines

Définition 3 : Vecteur Noeud

On appelleveteur-n÷ud une suited'entiers naturels

(t 0 ; t 1 ; · · · ; t k )

telsque :

t 0 = 0

et

soit

t i+1 = t i + 1 ;

soit

t i+1 = t i .

Chaque nombre

t i

est un n÷ud.

Exemples :

(0 ; 1 ; 2 ; 3 ; 4)

est un veteur n÷ud sans répétition (n÷ud simple).

(0 ; 0 ; 0 ; 1 ; 2 ; 3 ; 3)

. On peut avoir des n÷uds multiples.

0

est un n÷ud triple

et

3

est double.

(1 , 2 , 2 , 3)

n'est pas un veteur-n÷ud ar

t 0 6 = 0

.

(0, 1, 1, 3, 4)

n'est pas un veteur-n÷ud ar

t 3 = t 2 + 2

.

Définition 4 : Fonctions B-Splines

Le veteur-n÷ud

(t 0 ; t 1 ; · · · ; t k )

étant hoisis, les fontion Splines ou B-Splines

N (i,m)

de degré

m

assoiés à e veteur n÷ud sont dénies sur R par :

N (i,0) (t) =

1

si

t i 6 t < t i+1 ; 0

sinon.

et pour

m = 1; 2; 3 · · · : N (i,m) (t) = t − t i

t i+m − t i N (i,m −1) (t)+ t i+m+1 − t

t i+m+1 − t i+1 N (i+1,m −1) (t)

Paronvention, siundes dénominateursestnul,onannuleletermeorrespondant.

(7)

Remarque : La dénition des fontions B-splines pour

m = 0

implique que toutes les

fontions B-splines sont nulles sur

] − ∞ ; 0]

et sur

[

dernier noeud

; + ∞ [

.

C'estunedénitionréursiveàdoubleindiequiimposeunalultriangulairedéroissant.

Dans la pratique, on inverse le proédé et on alule le maximum de fontions B-spline

pour

m = 0

avant de faire elle pour

m = 1

et ainsi de suite dans l'ordre roissant de

m

.

(voirl'exemple i-dessous pour mieux omprendre).

Exemple : Soit le n÷ud

(0 ; 1 ; 2 ; 3)

.

On a

t 0 = 0

,

t 1 = 1

,

t 2 = 2

et

t 3 = 3 .

Déterminons lesfontions B-Splines assoiées à e n÷ud:

• m = 0

(Degré

0

):

i = 0 N 0,0 (t) =

1

si

0 6 t < 1 ; 0

sinon.

1

− 1 1 2 3 4 5

− 1

− 2

b b

i = 1 N 1,0 (t) =

1

si

1 6 t < 2 ; 0

sinon.

1

− 1 1 2 3 4 5

− 1

− 2

b b

i = 2 N 2,0 (t) =

1

si

2 6 t < 3 ; 0

sinon.

1

− 1 1 2 3 4 5

− 1

− 2

b b

i > 3

Pour déterminer

N 3,0 ( t )

,il fautonnaitre

t 4

qui n'existe pas. Leproblème est similaire

pour

N 4,0 (t)

,

· · ·

Pour e veteur noeud, iln'y a don que trois fontionsB-splines

de degré 0,

N 0,0 (t)

,

N 1,0 (t)

et

N 2,0 (t)

.

• m = 1

(Degré 1):

 

 

 

 

 

 

 

 

 

 

N (0,1) (t) = t − t 0

t 1 − t 0 N (0,0) (t) + t 2 − t

t 2 − t 1 N (1,0) (t) = t × N (0,0) (t) + (2 − t) × N (1,0) (t) N (1,1) (t) = t − t 1

t 2 − t 1 N (1,0) (t) + t 3 − t

t 3 − t 2 N (2,0) (t) = (t − 1) × N (1,0) (t) + (3 − t) × N (2,0) (t) N (2,1) (t) = t − t 2

t 3 − t 2 N (2,0) (t) + t 4 − t

t 4 − t 3 N (3,0) (t) · · ·

mais onne onnaitni

t 4

, ni

N (3,0) (t).

Pour e veteur noeud, il n'y aque deux fontions B-splines de degré1

t N (0,0) (t) N (1,0) ( t ) N (0,1) (t)

0 1 2

0 1 0 0

0 0 1 0

0 t 2-t 0

t N (1,0) (t) N (2,0) ( t ) N (1,1) (t)

1 2 3

0 1 0 0

0 0 1 0

0 t-1 3-t 0

1

− 1 1 2 3 4 5

− 1

− 2

1

− 1 1 2 3 4 5

− 1

− 2

(8)

• m = 2

(Degré 2):

 

 

 

 

N (0,2) (t) = t − t 0

t 2 − t 0 N (0,1) (t) + t 3 − t

t 3 − t 1 N (1,1) (t) = t

2 × N (0,1) (t) + 3 − t

2 × N (1,1) (t)

Le alul de

N (1,2)

faitintervenir

t i+m+1 = t 1+2+1 = t 4

et

N (2,1)

qui n'existent pas.

Pour e veteur noeud, il n'y aqu'une fontion B-spline de degré

2

.

t

N (0,1) (t) N (1,1) (t) N (0,2) (t)

0 1 2 3

0 t 2 − t 0 0

0 0 t − 1 3 − t 0

0 t 2 2 − t 2 + 3 t − 3 2 (3− 2 t) 2 0

1

− 1 1 2 3 4 5

Pour e veteur noeud, il n'ya pas de fontion B-spline de degré 3.

2.2.

Courbes B-splines

Définition 5 : B-Splines, modèles de Cox et de de Boor

On dénit une ourbe B-Spline assoiée à

n + 1

points de ontrle

P 0

,

P 1

,

· · · P n

de la façon suivante :

− − − − − − − →

OM =

i=n

X

i=0

N (i,m) OP i .

ave

N (i,m)

de degré

m

qui dépend du veteur n÷ud hoisi.

Exemple : On hoisit leveteur n÷ud

(0 ; 0 ; 0 ; 1 ; 2 ; 3 ; 3 ; 3)

.

On prendles 5pointsde ontrle

P 0 (1; 0)

,

P 1 (4; 2)

,

P 2 (2; 4)

,

P 3 (0; 4)

et

P 4 ( − 4; 4)

.

Les 5fontions de B-Splines de degré

2

sont :

t

N (0,2) (t) N (1,2) (t) N (2,2) (t) N (3,2) (t) N (4,2) ( t )

−∞ 0 1 2 3 + ∞

0 (1 − t) 0 0 0

0 1 2 t(4 − 3t) 1 2 (t − 2) 2 0 0

0 t 2 2 − t 2 + 3t − 3 2 (t −3) 2 2 0

0 0 1 2 (t − 1) 2 1 2 (3 − t)(3t − 5) 0

0 0 0 (t − 2) 0

(9)

La ourbe B-Spline assoiées àe veteur-n÷ud et es points de ontrle est :

− − − − − − − →

OM =

i=4

X

i=0

N (i,2)

− − − − − − →

OP i .

sur

] − ∞ ; 0]

et sur

[3 ; + ∞ [

,la ourbe B-Spline est nulle.

sur

[0; 1]

:

− − − − − − − →

OM (t) = N (0,2)

− − − − − −→

OP 0 + N (1,2)

− − − − − −→

OP 1 + N (2,2)

− − − − − −→

OP 2 + N (3,2)

− − − − − −→

OP 3 + N (4,2)

− − − − − −→

OP 4

= (t 2 − 2t + 1) × 1

0

+ ( − 3t 2

2 + 2t) × 4

2

+ t 2 2 ×

2 4

+ 0 × 0

4

+ 0 × − 4

4

=

− 4 t 2 + 6 t + 1

− t 2 + 4 t

sur

[1; 2]

:

− − − − − − − →

OM ( t ) = N (0,2)

− − − − − −→

OP 0 + N (1,2)

− − − − − −→

OP 1 + N (2,2)

− − − − − −→

OP 2 + N (3,2)

− − − − − −→

OP 3 + + N (4,2)

− − − − − −→

OP 4

= 0 × 1

0

+ ( t 2

2 − 2 t + 2) × 4

2

+ ( − t 2 + 3 t − 3 2 ) ×

2 4

+ · · ·

· · · ( t 2

2 − t + 1 2 ) ×

0 4

+ 0 ×

− 4 4

=

− 2t + 5

− t 2 + 4t

sur

[2; 3]

:

− − − − − − − →

OM (t) = N (0,2) OP −→ 0 + N (1,2) OP −→ 1 + N (2,2) OP −→ 2 + N (3,2) OP −→ 3 + + N (4,2) OP −→ 4

= 0 × 1

0

+ 0 × 4

2

+ ( t 2

2 − 3t + 9 2 ) ×

2 4

+ · · ·

· · · ( − 3 t 2

2 + 7 t − 15 2 ) ×

0 4

+ ( t 2 − 4 t + 4) × − 4

4

=

− 3t 2 + 10t − 7 4

La ourbe B-Spline est obtenue en traant haundes trois moreauxde parabole.

1 2 3 4

1 2 3 4

− 1

− 2

− 3

− 4

− 5

P 0

P 1 P 2

P 3 P 4

b b

b

b

b

Remarques :

(10)

Longueur du veteur noeud à hoisir :

Sil'ona5pointsde ontrleetquel'onsouhaiteuneourbeB-splines de degré2,alors

il faut déterminer les fontions B-splines

N (0,2)

,

N (1,2)

,

· · ·

,

N (4,2)

. Le alul de ette

dernière fontion fait intervenir le noeud

t i+m+1 = t 4+2+1 = t 7

e qui implique que le

veteurnoeud hoisis doit être au moinsde longueur

i + m + 2 = 8

(de

t 0

à

t 7

).

Plus généralement,pour aluler

N (i,m)

,ilfautun veteurnoeud de longueur aumoins

i + m + 2

et pour une ourbe B-spline il faut un veteur noeud de longueur au moins

nbre points + degré + 1.

Caratère loal :

Ledénitionréursivede

N (i,m)

impliquequeettefontionestnullesaufsur

[ t i ; t i+m+1 ]

.

Enonséquene, siondéplae

P i

onne modie quelapartiede laourbe pour laquelle

t ∈ [t i ; t i+m+1 ]

dononabienunemodiationloalede laourbe.Plus généralement,

siledegrédes fontionsB-splines est

m

alors ledéplaementd'unpointnemodieque

m + 1

segmentsde laourbe.

N÷ud multiple :

L'insertion de n÷ud permet d'introduire plus de dégrés de liberté dans la ourbe.

Chaque n÷ud inséré représente un point de ontrle supplementaire. L'insertion de

n÷ud oredon plus de exibilitépour ledesign des ourbesde B-spline.

3.

Lien entre les modèles

3.1.

Courbes de Bezier et polynmes de Riesenfeld

Théorème 1 (admis) :

la ourbe de Bézier dont les points de ontrle sont

P 1

,

P 2

,

P 3

et

P 4

est en fait la

ourbe B-spline (modèle de Riesenfeld) de degré 3 dont les points de ontrle

P 1

,

P 2

,

P 3

et

P 4

sont alulésde la manière suivante. Si lesoordonnées des points

P 1

,

P 2

,

P 3

et

P 4

sont

(x 1 ; y 1 )

,

(x 2 ; y 2 )

,

(x 3 ; y 3 )

et

(x 4 ; y 4 )

, alorslesoordonnées

(x 1 ; y 1 )

,

(x 2 ; y 2 )

,

(x 3 ; y 3 )

et

(x 4 ; y 4 )

des points

P 1

,

P 2

,

P 3

et

P 4

sontdonnéespar lesformules

suivantespourlespremièresoordonnées etdesformules similaires pourlaseonde.

Passage de Bezierà Riesenfeld :

x 1 = 6x 1 − 7x 2 + 2x 3

x 2 = 2x 2 − x 3 x 3 = − x 2 + 2x 3

x 4 = 2x 2 − 7x 3 + 6x 4

Passage de Riesenfeldà Bezier:

x 1 = 1

6 (x 1 + 4x 2 + x 3 ) x 2 = 1

6 (4x 2 + 2x 3 ) x 3 = 1

6 (2 x 2 + 4 x 3 ) x 4 = 1

6 ( x 2 + 4 x 3 + x 4 )

Exemple:Ononsidèrelesquatrepointsdeontrle

P 0 (0; 0)

,

P 1 (1; 2)

,

P 2 (2; 0)

et

P 3 ( − 1; 0)

.

Courbe de Béziers

(11)

Il y a quatre pointsde ontrle don onutilise les polynmes de Berstein de degré3.

− − − − − − − →

OM ( t ) =

i=3

X

i=0

B i,3 ( t ) OP i

= B 0,3 (t) OP −→ 0 + B 1,3 (t) OP −→ 1 + B 2,3 (t) OP −→ 2 + B 3,3 (t) OP −→ 3

= (1 − 3t + 3t 2 + t 3 ) 0

0

+ (3t − 6t 2 + 3t 3 ) 1

2

+ (3t 2 − 3t 3 ) 2

0

+ (t 3 ) − 1

0

=

− 4 t 3 + 3 t 6t 3 − 12t 2 + 6t

Courbe B-spline (modèle de Riesenfeld)

Les points de ontrle de la ourbe B-spline ont pour oordonnées :

x 1 = 6x 1 − 7x 2 + 2x 3 = − 3 x 2 = 2x 2 − x 3 = 0

x 3 = − x 2 + 2x 3 = 3

x 4 = 2x 2 − 7x 3 + 6x 4 = − 18

y 1 = 6y 1 − 7y 2 + 2y 3 = − 14 y 2 = 2y 2 − y 3 = 4

y 3 = − y 2 + 2y 3 = − 2 y 4 = 2y 2 − 7y 3 + 6y 4 = 4

LaourbeB-spline(modèledeRiesenfeld)orrespondantauxpointsdeontrole

P 0 ( − 3; − 14)

,

P 1 (0; 4)

,

P 2 (3; − 2)

et

P 3 ( − 18; 4)

a pour équation

− − − − − − − →

OM (t) = R 0,3 (t) OP −→ 0 + R 1,3 (t) OP −→ 1 + R 2,3 (t) OP −→ 2 + R 3,3 (t) OP −→ 3

= ( − t 3 6 + t 2

2 − t 2 + 1

6 ) − 3

− 14

+ ( t 3

2 − t 2 + 2 3 )

0 4

+ · · ·

· · · + ( − t 3 2 + t 2

2 + t 2 + 1

6 ) 3

− 2

+ ( t 3 6 )

− 18 4

=

− 4t 3 + 3t 6 t 3 − 12 t 2 + 6 t

Les équations sont bien identiques don lesourbes sont bien les mêmes.

3.2.

Fontion B-Splines et polynmes de Riesenfeld

Théorème 2 (admis) :

On démontre que lorsque les n÷uds sont simples, on retrouve la dénition donnée

à l'aide des polynmes de Riesenfeld.

Exemple : On onsidère leveteur n÷ud

(0 ; 1 ; 2 ; 3 ; 4 ; 5)

.

Les fontions B-Splinesde degré

2

sont alors :

t [0; 1[ [1; 2[ [2; 3[ [3; 4[ [4; 5[

N (0,2) 1 2 t 2 − t 2 + 3t − 3 2 1 2 (t − 3) 2 0 0

N (1,2) 0 1 2 (t − 1) 2 − t 2 + 5t − 11 2 1 2 (t − 4) 2 0

N (2,2) 0 0 1 2 ( t − 2) 2 − t 2 + 7 t − 23 2 1 2 ( t − 5) 2

(12)

Seul le as de

N (0,2) ( t )

est détaillé.Pour

N (1,2) ( t )

et

N (2,2) ( t )

lesaluls sontsimilaires.

On a

N (0,2) (t) =

 

 

 

 

t 2

2

pour

t ∈ [0; 1[

− t 2 + 3t − 3 2

pour

t ∈ [1; 2[

(3−t) 2

2

pour

t ∈ [2; 3[

On pose

t = 1 − u

. Pour

t ∈ [0; 1[

,on a

u ∈ [0; 1[

et

N (0,2) (1 − u ) = (1 2 u) 2 = u 2 2 − u + 1 2

.

Onpose

t = 2 − u

.Pour

t ∈ [1; 2[

,ona

u ∈ [0; 1[

et

N (0,2) (2 − u) = − (2 − u) 2 +3(2 − u) − 3 2 =

− u 2 + u + 1 2

.

On pose

t = 3 − u

. Pour

t ∈ [2; 3[

,on a

u ∈ [0; 1[

et

N (0,2) (3 − u ) = u 2 2

.

On retrouve lespolynomes de Riesenfeldde degré2 :

R 0

,

R 1

et

R 2

.

Attention, onne fait que retrouver les polynmes de Reisenfeld. Cela ne signie pas que

l'on a la mêmeourbe.En eet, on a:

t [0; 1[ [1; 2[ [2; 3[ [3; 4[ [4; 5[

N (0,2) R 0 R 1 R 2 0 0

N (1,2) 0 R 0 R 1 R 2 0

N (2,2) 0 0 R 0 R 1 R 2

don

t [0; 1[ [1; 2[ [2; 3[ [3; 4[ [4; 5[

N (0,2) × P 0 R 0 × P 0 R 1 × P 0 R 2 × P 0 0 0

N (1,2) × P 1 0 R 0 × P 1 R 1 × P 1 R 2 × P 1 0

N (2,2) × P 2 0 0 R 0 × P 2 R 1 × P 2 R 2 × P 2

− − − − −→

OM ( t ) R 0 × P 0 R 1 × P 0 + R 0 × P 1 R 2 × P 0 + R 1 × P 1 + R 0 × P 2 R 2 × P 1 + R 1 × P 2 R 2 × P 2

alors qu'ave Riesenfeld,on a:

− − − − − − − →

OM (t) = R 0 OP −→ 0 + R 1 OP −→ 1 + R 2 OP −→ 2

Remarque: Cerésultat,valable uniquementdansleas de n÷udsimple,permet,àpartir

des polynomesdeRiesenfeld,d'obtenirlesfontionsB-splinessanspasserpar lesformules

réursives.

3.3.

Courbes B-Spline et ourbes de Bezier

Il y a un lien dans ertainsas entre lesourbesB-Splines et lesourbesde Bezier.

On ne verra iiqu'un exemple dans le as

m = 2

. Leas généralest plus ompliqué.

On hoisit un veteurn÷uddontlesn÷uds extrêmesontun ordre de multipliitéégale à

m + 1 = 3

.Par exemple, leveteur n÷ud

(0 ; 0 ; 0 ; 1 ; 2 ; 3 ; 3 ; 3)

.

On hoisit les5 points de ontrle

P 0 (1; 0)

,

P 1 (4; 2)

,

P 2 (2; 4)

,

P 3 (0; 4)

et

P 4 ( − 4; 4)

.

La ourbe a été dénieet traée préédemment (voirplus haut).

On remarqueque :

Pour

t = 0

,ona

M (0) = P 0

et

OM ′

(0) = 6

4

= 2 P 0 P 1 .

(13)

Pour

t = 3

,ona

M (3) = P 4

et

OM ′

(3) = − 8

4

= 2 P 3 P 4 .

On retrouve lespropriétés des ourbes de Bézier.

4. Exeries

4.1. Modèle de Riesenfeld

17.1

On onsidère lespolynmes de Rieseneld de degré 2.

On onsidère lespoints

P 0 (0; 0)

,

P 1 (0; 2)

,

P 2 (2; 2)

,

P 3 (4; 4)

et

P 4 (6; 0)

.

1

.

a

. Déterminer une représentation paramétrique du premier ar de ourbe déter- miné par

P 0

,

P 1

et

P 2

, soit

x = f 0 ( t ) y = g 0 (t)

b

. Déterminerune représentation paramétriquedu deuxièmearde ourbedéter- miné par

P 1

,

P 2

et

P 3

, soit

x = f 1 ( t ) y = g 1 ( t )

c

. Déterminerunereprésentationparamétriquedu troisièmearde ourbedéter- miné par

P 2

,

P 3

et

P 4

, soit

x = f 2 (t) y = g 2 (t)

2

. Établir lestrois tableauxdes variationsonjointes de

f 0

et

g 0

,puis

f 1

et

g 1

et enn

f 2

et

g 2

.

3

. Construire les trois ars de ourbe.

17.2

On onsidère lespolynmes de Rieseneld de degré 3.

On onsidère lespoints

P 0 (0; 0)

,

P 1 (0; 2)

,

P 2 (2; 2)

,

P 3 (4; 4)

et

P 4 (6; 0)

.

1

.

a

. Déterminer une représentation paramétrique du premier ar de ourbe déter- miné par

P 0

,

P 1

,

P 2

et

P 3

, soit

x = f 0 (t) y = g 0 (t)

b

. Déterminerune représentation paramétriquedu deuxièmearde ourbedéter- miné par

P 1

,

P 2

,

P 3

et

P 4

, soit

x = f 1 ( t ) y = g 1 (t)

2

. Établir lesdeux tableaux des variationsonjointes de

f 0

et

g 0

, puis de

f 1

et

g 1

.

3

. Construire les deux ars de ourbe.

4.2.

Modèle de Cox et de de Boor

17.3

On onsidère leveteur-n÷ud

(0 ; 1 ; 1 ; 2)

.

1

. Déterminer sur l'intervalle

[0; 3[

les fontions B-Splines

N (0,0)

,

N (1,0)

,

N (2,0)

,

N (0,1)

,

N (1,1)

et

N (0,2)

.

2

. Pour haune des es fontions :

a

. Traer sareprésentation graphique.

b

. Préisersi elleest ontinue, dérivable.

(14)

17.4

On onsidère leveteur n÷ud

(0 ; 1 ; 2 ; 3 ; 4 ; 5)

.

Les fontions B-Splinesde degré

2

sont alors :

t [0; 1[ [1; 2[ [2; 3[ [3; 4[ [4; 5[

N (0,2) 1

2 t 2 − t 2 + 3t − 3 2 1 2 (t − 3) 2 0 0

N (1,2) 0 1 2 (t − 1) 2 − t 2 + 5t − 11 2 1 2 (t − 4) 2 0

N (2,2) 0 0 1 2 (t − 2) 2 − t 2 + 7t − 23 2 1 2 (t − 5) 2

Soit

C

laourbeB-Splinedénieparlestroispointsdeontrle

P 0 (1; 2)

,

P 1 (3; 0)

,

P 2 (1; − 1)

.

1

. Donner lareprésentationparamétriquede

C

sur haundes intervalles

[0; 1[

;

[1; 2[

;

[2; 3[

;

[3; 4[

et

[4; 5[

.

2

. Dresser letableau des variationsonjointes de

x

et

y

sur

[0; 5[

.

3

. Traer la ourbe

C

.

17.5

Ondonnelespointsdeontrle

P 0 (0; 0)

,

P 1 (1; 0)

,

P 2 (1; 1)

et

P 3 (0; 1)

.Soitleveteur

n÷ud

(0 ; 0 ; 0 ; 1 ; 2 ; 2 ; 2)

.

Les fontions B-Splinesde degré

2

sont alors :

t [0; 1[ [1; 2[

N (0,2) ( t − 1) 2 0

N (1,2) − 3 2 t 2 + 2t 1 2 (t − 2) 2

N (2,2) 1

2 t 23 2 t 2 + 4 t − 2

N (3,2) 0 (t − 1) 2

1

. Donner une représentation paramétrique pour

t ∈ [0; 1[

et

t ∈ [1; 2[

de la ourbe de

B-Spline assoiée aux pointsde ontrle etau veteur-n÷ud donnés i-dessus.

2

. Dresser letableau des variationsonjointes de

x

et

y

sur

[0; 2[

.

3

. Traer la ourbe

C

.

17.6

On onsidère leveteur n÷ud

(0 ; 0 ; 0 ; 1 ; 2 ; 3 ; 3 ; 3)

.

On donnele tableausuivant :

t [0; 1[ [1; 2[ [2; 3[

N (0,1) 0 0 0

N (1,1) 1 − t 0 0

N (2,1) t 2 − t 0

N (3,1) 0 t − 1 3 − t

N (4,1) 0 0 t − 2

N (0,2) (1 − t) 2 0 0

N (1,2) 1

2 t (4 − 3 t ) 1 2 ( t − 2) 2 0

N (2,2) 1

2 t 2 − t 2 + 3 t − 3 2 1 2 ( t − 3) 2 N (3,2)

N (4,2) 0 0 (t − 2) 2

1

. À l'aide de laformulede réurene dénissantles fontion B-Splines, donner

N (3,2)

sur lesintervalles

[0; 1[

;

[1; 2[

et

[2; 3[

.

2

. Soit les

5

points

P 0 (1; 0)

,

P 1 (4; 2)

,

P 2 (2; 4)

,

P 3 (0; 2)

et

P 4 ( − 4; 4)

.

a

. Donner une représentation paramétrique de la ourbe de B-Spline de degré

2

assoiée aux pointsde ontrle et auveteur-n÷ud donnési-dessus.

(15)

b

. Dresser le tableaudes variationsonjointes de

x

et

y

sur

[0; 3[

.

c

. Traer la ourbe.

d

. Vérier que:

• M (1)

estlemilieude

[ P 1 P 2 ]

etque

( P 1 P 2 )

est tangenteàlaourbeen

M (1)

;

• M (2)

estlemilieude

[ P 2 P 3 ]

etque

( P 2 P 3 )

est tangenteàlaourbeen

M (2)

;

• (P 0 P 1 )

est tangenteà la ourbe en

P 0

et

(P 3 P 4 )

est tangente àla ourbe en

P 4

.

3

. On onserve lespoints

P 0

,

P 1

,

P 2

et

P 4

et onprend

P 3 (0; 6)

à laplae de

P 3

.

a

. Démontrer quelemoreau de laourbe B-Spline orrespondantà

t ∈ [1; 2[

est

alors un segment d'une droite dont ondonnera l'équation.

b

. Quel ar de ourbe est inhangépar rapport àelle de laquestion 2.?

c

. Faire le tableaudes variations de la représentation paramétrique de laourbe pour

t ∈ [2; 3[

.

d

. Traer la ourbedans lemême repère.

4.3. Annales

17.7

Frane 2009 CPI

Le plan est muni d'un repère orthonormal

(O; ~

i

,~

j

)

l'unité graphique est 2entimètres.

On se propose de onstruire la ourbe B-spline obtenue à partir de quatre points de

dénition

P 1 , P 2 , P 3

et

P 4

etde trois polynmes de Riesenfeld du seond degré.

Les quatre points sontdonnés par leurs oordonnées dans le repère

(O; ~

i

,~

j

)

.

P 1 (0 ; 3) , P 2 (1 ; − 2) , P 3 (4 ; 3)

et

P 4 (2 ; 5) .

La ourbe B-spline herhée est laréunion de deux ars de ourbe

C 1

et

C 2

.

A. Détermination d'une représentation paramétrique de l'ar de ourbe

C 1 1

. OnrappellequelespolynmesdeRiesenfeld

R i

dedegré2,pour

i

prenantlesvaleurs

0, 1ou 2,sont dénis pour tout

t

appartenant à

[0 ; 1]

par :

R i (t) = 3

j=2 − i

X

j=0

( − 1) j (t + 2 − i − j) 2 j !(3 − j)! .

Démontrer que, pour tout

t

de

[0 ; 1] , R 0 ( t ) = t 2

2 − t + 1 2 . 2

. L'ar de ourbe

C 1

est l'ensembledes points

M 1 ( t )

tels que :

− − − − − − − − − − − − − − −→

O

M 1 ( t ) = R 0 ( t )

O

P 1 ( −→ t ) + R 1 ( t )

O

P 2 ( −→ t ) + R 2 ( t )

O

P 3 ( −→ t ) .

On admet que pour tout

t

de

[0 ; 1] : R 1 (t) = − t 2 + t + 1

2

et

R 2 (t) = 1 2 t 2

.

Démontrer que l'ar de ourbe

C 1

est déni par la représentation paramétrique :

 

 

x = f 1 (t) = t 2 + t + 1 2 y = g 1 (t) = 5t 2 − 5t + 1

2

t

appartient à l'intervalle

[0 ; 1].

(16)

B. Étude de variations et onstrution de la ourbe B-spline

1

.

a

. Étudier les variations des fontions

f 1

et

g 1

sur

[0 ; 1]

,

f 1

et

g 1

sont les

fontionsdéniesàla question2.de lapartie A.Rassembler lesrésultatsdans

un tableau unique.

b

. Donnerun veteurdireteurde haune des tangentes àl'arde ourbe

C 1

aux

points

M 1 (0) , M 1 1 2

, M 1 (1)

.

2

. L'ar de ourbe

C 2

est l'ensembledes points

M 2 (t)

tels que :

− − − − − − − − − − − − − − −→

O

M 2 (t) = R 0 (t)

O

P 2 (t) + −→ R 1 (t)

O

P 3 (t) + −→ R 2 (t)

O

P 4 (t). −→

On admet que l'ar de ourbe

C 2

est déni par la représentation paramétrique :

 

 

x = f 2 (t) = − 9

2 t 2 + 3t + 5 2 y = g 2 (t) = − 3

2 t 2 + 5t + 1 2

t

appartient àl'intervalle

[0 ; 1].

Le tableaudes variationsonjointes des fontions

f 2

et

g 2

est le suivant :

t 0 1 3 1

f 2 (t)

3 + 0

− − 6

f 2 ( t )

5 2

3

1

g 2 (t)

5

+

2

g 2 (t)

1 2

2

4

Donner un veteur direteur de haune des tangentes à l'ar de ourbe

C 2

aux

points

C 1

aux points

M 2 (0), M 2 1 2

, M 2 (1)

.

3

. Onrappellequeleplanestmunid'unrepèreorthonormal

( O ; ~

i

,~

j

)

l'unitégraphique

est 2entimètres.

a

. Construire sur une feuillede papier millimétré,lestangentes àl'ar de ourbe

C 1

aux points

M 1 (0) , M 1 1

2

et

M 1 (1)

,puis l'ar de ourbe

C 1

.

b

. Construire,surlemêmegraphique,lestangentesàl'ardeourbe

C 2

auxpoints

M 2 (0), M 2

1 3

, M 2 (1)

, puis l'ar de ourbe

C 2

.

c

. Plaer lespoints de dénition sur lagure.

4

.

a

. Donner les oordonnées du point

I

se raordent les ars de ourbe

C 1

et

C 2

.

b

. Montrer que la tangente ommune à l'ar

C 1

et à l'ar

C 2

au point

I

est la

droite

(P 2 P 3 )

.

Références

Documents relatifs

En traitant ls conflits dans le sens des profondeurs croissantes, nous avons pu corriger les intersections entre toutes les courbes : la d´eformation appliqu´ee `a une courbe est

Although, the principles of software product lines are inspired by industry where production activity is based on assembling certified components, most of software

The OLS estimates from specification (1) in Table 3 show that contemporaneous physical violence and property crime are both associated with worse sleep quality: the index for

3 سلا نايدلأا سمش تقرشأ نأ ىلإ هيلع وه ام ىلع رملأا ئدابملا ءاسرإ ىلإ ةيعادلا ةيوام يناسنلإا يرشبلا نئاكلا ةمرح ةنايصو هتبراحمو ملظلا ذبنو ،لدعلاو

Exemple d’une charte graphique: La charte graphique de l’université de Rennes 2 Eléments de l’identité visuelle: 1) Le logo(type), nom/ acronyme, baseline, ….. ©

Traitement du virus de l’hépatite C VHC par agents antiviraux directs : modélisation de l’optimisation des traitements et impact sur l’histoire naturelle et l’épidémiologie

Atanasova, G, Isaeva, A, Ivanova, P, Kalenderova, S, Poumay, Y &amp; Mitev, V 2007, 'Pharmacological growth inhibition of papillomavirus type 16 E6E7-transformed keratinocytes by

Carmen Boullosa (1954) es autora de un poema valiente (La patria insomne, 2011), una epopeya inversa, que arroja por la borda la idea de una patria “impecable y diamantina”