7.7 Splines param´ etriques
287
t ∈ [0, T ], prenons un ensemble de points de coordonn´ ees P i = (x i , y i ), pour
i = 0, . . . , n, et introduisons une partition de [0, T ] : 0 = t 0 < t 1 < . . . < t n =
T . En utilisant deux ensembles de valeurs {t i , x i } et {t i , y i } comme donn´ ees
d’interpolation, on obtient deux splines s k,x et s k,y , fonctions de la variable
ind´ ependante t, qui interpolent respectivement x(t) et y(t). La courbe param´ etrique S k (t) = (s k,x (t), s k,y (t)) est appel´ ee spline param´ etrique. Des param´ etrisations diff´ erentes sur l’intervalle [0, T ] conduisent naturellement `
a des
splines diff´ erentes (voir Figure 7.12, ` a droite).
Un choix raisonnable de param´ etrisation est donn´ e par la longueur de
chaque segment P i−1 P i ,
l i =
(x i − x i−1 ) 2 + (y i − y i−1 ) 2 , i = 1, . . . , n.
En posant t 0 = 0 et t i =
i
k=1 l k pour i = 1, . . ., n, t i repr´ esente la longueur
de la ligne bris´ ee qui joint les points de P 0 ` a P i . Cette fonction est appel´ ee
spline de longueur cumul´ ee. Elle approche de mani` ere satisfaisante les courbes
` a forte courbure, et on peut prouver (voir [SL89]) qu’elle est g´ eom´ etriquement
invariante.
Le Programme 59 permet de construire des splines param´ etriques cumul´ ees cubiques en deux dimensions (il peut ˆ etre facilement g´ en´ eralis´ e au cas
de la dimension trois). On peut aussi construire des splines param´ etriques
composites en imposant des conditions de continuit´ e (voir [SL89]).
Programme 59 - parspline : Splines param´ etriques
function [xi,yi] = parspline (x,y)
%PARSPLINE Splines param´ etriques cubiques
% [XI, YI] = PARSPLINE(X, Y) construit une spline cubique cumul´ ee
% bidimensionnelle. X et Y contiennent les donn´ ees d’interpolation. XI et YI
% contiennent les param` etres de la spline cubique par rapport aux
% axes x et y.
t (1) = 0;
for i = 1:length (x)-1
t (i+1) = t (i) + sqrt ( (x(i+1)-x(i))ˆ2 + (y(i+1)-y(i))ˆ2 );
end
z = [t(1):(t(length(t))-t(1))/100:t(length(t))];
xi = spline (t,x,z);
yi = spline (t,y,z);
Précédent

- 296/540

Suivant