• 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

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”

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

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

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