Il existe plusieurs types de splines, avec des objectifs contradictoires:
- aller près des points de données d'entrée
- courbes lisses vs ondulées
Pour quelques points de données, vous pouvez souhaiter interpoler exactement; mais pour des milliers de points, voire une douzaine avec du bruit, une interpolation exacte se tortillera. La plupart des ajusteurs de cannelures ont des paramètres pour comparer la proximité de l'ajustement par rapport à la douceur globale. Voici un tracé de splines de degré 1 (linéaire par morceaux, connectez les points) avec données = ligne + bruit. Vous voyez que l'ajustement exact des données zigzague en haut et en bas, tandis que le lissage maximum donne une ligne droite:
Il existe des splines pour différents travaux, en fonction des données d'entrée et des nouveaux points intermédiaires: des dizaines / millions de points, le niveau de bruit, la dispersion / sur une grille, 1d 2d 3d ... Sur une grille régulière en 3d par exemple, un la spline de degré
regardera voisins de chaque point de requête: 1 (voisin le plus proche), 8 (trilinéaire), 27, 64 ... Pouvez-vous vous permettre 64? Avez-vous besoin de 64? Ça dépend.ré(d+1)3
(Très brièvement, les splines B sont lisses; les splines
Catmull-Rom interpolent, par exemple des images de films; des
mélanges comme 1/3 B + 2/3 CR sont utiles entre les deux.)
Comment le degré polynomial affecte-t-il la ondulation? Voir le phénomène de Runge .
Sur dépassement en 1d 2d 3d ... voir (ahem)
cette question
sur math.stackexchange.
Sur les dangers de l'extrapolation avec des splines au-delà du linéaire, voir ceci sur SO.
Voir aussi
stackoverflow.com/questions/tagged/spline .