Esistono diversi tipi di spline, con obiettivi contrastanti:
- andare vicino ai punti dati di input
- curve morbide vs. ondeggianti
Per alcuni punti dati, potresti voler interpolare esattamente; ma per migliaia di punti, o anche una dozzina di rumore, l'interpolazione esattamente si muoverà. La maggior parte degli installatori di spline ha parametri per bilanciare la vicinanza dell'adattamento con la scorrevolezza complessiva. Ecco un diagramma di spline di grado 1 (lineare a tratti, punti di connessione) con dati = linea + rumore. Vedete che adattando i dati esattamente a zig-zag su e giù, mentre il massimo livellamento dà una linea retta:
Ci sono spline per diversi lavori, a seconda dei dati di input e dei nuovi punti tra: decine / milioni di punti, quanto sono rumorosi, sparsi / su una griglia, 1d 2d 3d ... Su una griglia regolare in 3d, ad esempio, un spline di grado
esaminerà vicini di ciascun punto di query: 1 (vicino più vicino), 8 (trilineare), 27, 64 ... Puoi permetterti 64? Ne hai bisogno di 64? Dipende.d(d+1)3
(Molto brevemente, spline B uniformi; spline
Catmull-Rom si interpolano, ad esempio fotogrammi di film;
miscele come 1/3 B + 2/3 CR sono utilmente in mezzo.)
In che modo il grado polinomiale influenza le oscillazioni? Vedi il fenomeno di Runge .
Al superamento di 1d 2d 3d ... vedi (ahem)
questa domanda
su math.stackexchange.
Sui pericoli di EXtrapolation con spline oltre lineare, vedere questo su SO.
Vedi anche
stackoverflow.com/questions/tagged/spline .