90
7
•
Courbes de Bézier
➤ Programmation
On supposeque le polygone de contrôle est connu sous forme de tableau pc à N = n +1colonnes
et 2ou3lignes (abscisse, ordonnée, hauteur) ;lenombre de lignes sera appelé dim .Ils’agit de
déterminer la courbed eB ézier en m points t équirépartis sur [0, 1] puis de la tracer ainsi que
le polygone de contrôle. Pour cela, àc haque étape r ,o nc onstruit un tableau à3dimensions
b (1 : dim , 1:m , 1:n − r +1). Pour programmer l’algorithme, on pourra aussi utiliser un tableau
tt qui reproduit le vecteur t sur les dim lignes permettant ainsi des multiplications composante
parcomposante avec des sous tableaux de b .
1. É crire une fonction C=c-bezier(pc,m) qui étant donné un polygone de contrôle pc calcule
la fonction paramétrée b
n
( t )en m points équirépartis sur [0, 1]. Il faudra évidemment déterminer
n et dim .T est avec m = 6et[0 , 1 , 2 , 3; 0 , 1 , − 1 , 1].
✞
☎
>> pc=[0,1,2,3;0,1,-1,1];m=6;C=c_bezier(pc,m)
C=
00 .6000
1.2000
1.8000
2.4000
3.0000
00 .2960
0.2080
0.0720
0.2240
1.0000
✝
✆
Noter que, compte tenu de la répartition uniforme des abscisses, la première composante de b
n
( t )
est x ( t ) = 3 t .
2. É crire un programme permettant le tracé du polygone de contrôle et de la courbe en m points.
Utiliser les fonctions Matlab : plot, plot3 en fonction du nombre de composantes dim .Sauvegarde dans trace.m.T est avec m = 500 et pc = [0, 1 , 2 , 3 , 4 , 8; 0 , 1 . 21, − 1 . 1 , 0 . 9 , − 1 . 3 , 0 . 8],
pc = [0, 1 , 2 , 3 , 4 , 8; 0 , 1 , − 1 , 0 , − 1 , 1; 1 , 2 , − 3 , 4 , 5 , − 3], successivement.
0
1
2
3
4
5
6
7
8
−1.5
−1
−0.5
0
0.5
1
1.5
x
y
Courbe de Bézier et polygone de contrôle
0
2
4
6
8
−1
−0.5
0
0.5
1
−4
−2
0
2
4
6
x
Courbe de Bézier et polygone de contrôle
y
z
Précédent

- 74/188

Suivant