Spline
L. Verdoliva, M. Cagnazzo
07.06.2007
1 Le B-spline
1.1 Costruzione delle B-spline
Le B-spline consentono di costruire una qualsiasi spline tramite la formula di Schoenberg (vedere paragrafo n1.2). La B-spline di grado n, indicata con β, è definita come:
n 0 0 0
β (x) = β (x) ∗ β (x) ∗ . . . ∗ β (x) (1)
| {z }
volte n+1
Vediamo uno script che implementa la B-spline di grado n tramite questa formula.
% Calcolo della B spline di grado n
clear all; close all;
n = input(’inserire il grado della B-spline: ’);
step = 1e-3; % accuratezza del campionamento
x = [-(n+1)/2 : step : (n+1)/2]; %punti in cui viene calcolata la spline
N = length(x);
beta_0 = (abs(x)<(.5))+0.5*(abs(x)==.5);
beta_n = beta_0;
i = 0;
while i<n,
beta_n = conv(beta_0,beta_n);
beta_n=beta_n(round(N/2):round(N/2)+N-1)/sum(beta_0);
i=i+1;
end
plot(x,beta_n); n
La (1) è sintetica e facile da ricordare, ma non è comoda per l’implementazione, in quanto definisce β come funzione matematica, e non punto per punto. Inoltre c’è il problema d’implementare nel discreto la convoluzione tra funzioni continue. Ciò può essere fatto solo tramite campionamento, e quindi comporta degli errori di precisione (che però possono essere resi trascurabili). Per contro, sappiamo che è possibile valutare puntualmente la β con la formula seguente:
¶µ ¶ µn+1X n1 n +1n +1n k (2)
β (x) = (−1) x − k +k
n! 2 +
k=0 1
-
Elaborazione dei segnali multimediali - Quesiti risolti
-
Elaborazione dei segnali multimediali - Test risolti
-
Elaborazione dei segnali multimediali - Quesiti vari
-
Elaborazione dei segnali multimediali - Quesiti risolti