Spline ist die Bezeichnung für bestimmte Funktionen aus der Analysis mit Anwendungen in der numerischen Mathematik. Ein Spline n-ten Grades ist eine Funktion, die stückweise aus Polynomen mit maximalem Grad n zusammengesetzt ist.
Splines werden vor allem zur Interpolation benutzt, wo dann an den Verklebungsstellen Bedingungen gestellt werden, etwa das der Spline (n-1) mal stetig differenzierbar ist. Durch die stückweise Definition wird der unangenehme Effekt der Polynominterpolation beseitigt, dass für n+1 Stützpunkte ein Polynom n-ten Grades zur Interpolation benötigt wird. Dies führt unter anderem zu starken Abweichungen von der zu interpolierenden Funktion in den Randbereichen. Die Spline-Interpolation hat diese Probleme nicht.
Sind die einzelnen Polynome alle linear, so nennt man den Spline linear (es handelt sich dann um einen Polygonzug), analog gibt es quadratische, kubische usw. Splines. Der Begriff stammt aus dem Schiffbau: eine lange dünne Latte (Straklatte), die an einzelnen Punkten durch Nägel fixiert wird, biegt sich genau wie ein kubischer Spline mit natürlicher Randbedingung.
B-Splines
Wie auch der Raum der Polynome ist der Raum der stückweisen Polynome ein Vektorraum und hat eine Basis. Im Kontext numerischer Verfahren, wo Splines häufig eingesetzt werden, ist die Wahl der Basis entscheidend für eventuelle Rundungsfehler und damit für die praktische Einsetzbarkeit. Eine bestimmte Basis hat sich hier als am besten geeignet herausgestellt: sie ist numerisch stabil und erlaubt die Berechnung von Werten der Spline-Funktion mittels einer Drei-Term-Rekursion. Diese so genannten B-Spline-Basisfunktionen haben einen kompakten Träger, sie sind nur auf einem kleinen Intervall nicht Null. Änderungen der Koeffizienten wirken sich also nur lokal aus. Splines, die in dieser Basis dargestellt werden, nennt man B-Splines.
- Siehe auch: Faltung (Mathematik)
Definition eines B-Splines
Die B-Spline-Basisfunktionen der Ordnung mit Knotenvektor
werden definiert durch die Rekursionsformel von de Boor/Cox/Mansfield:
und
- .
Die Elemente des Knotenvektors heißen auch Knotenpunkte (im engl. breakpoints) und müssen die Bedingungen erfüllen.
Im CAD werden fast immer die ersten und letzten Knotenpunkte auf den gleichen Wert gesetzt.
Eigenschaften
- Nicht-Negativität:
- Lokaler Träger:
- Zerlegung der Eins:
Kurven
Splines lassen sich auch gut benutzen, um Kurven darzustellen. Hier finden sie Einsatz im CAD. Eine Spline-Kurve, deren Darstellung auf B-Splines beruht, nennt man B-Spline-Kurve. Bestimmt wird die Kurve durch so genannte De-Boor-Punkte, mit denen sich das Aussehen der Kurve leicht steuern lässt: Die Kurve liegt immer in der konvexen Hülle der De Boor Punkte, wird also von ihnen eingeschlossen.
Eine ähnliche Darstellung haben Bézier-Kurven. Diese basieren nicht auf der oben genannten Basis, sondern auf den Bernsteinpolynomen. Genau wie bei B-Spline-Kurven die De-Boor-Punkte gibt es hier die Bézier-Punkte, die das so genannte Kontrollpolygon bilden und mit denen man die Kurve leicht graphisch darstellen kann.
Mathematisch analog lassen sich auf beide Weisen nicht nur Kurven, sondern auch Flächen beschreiben.
Definition einer B-Spline-Kurve
Eine B-Spline-Kurve der Ordnung mit Knotenvektor (s. o.) und Kontrollpunkten (auch De Boor Punkte genannt) wird definiert durch
- .
Für Kurven in der Ebene sind die Kontrollpunkte 2-dimensional, für Kurven im Raum 3-dimensional.
Eigenschaften
- Lokalität: Der Kontrollpunkt beeinflusst die Kurve nur im Intervall
- Endpunkt-Interpolation: Es ist , falls der erste Knotenpunkt -mal wiederholt wird und , falls der letzte Knotenpunkt -mal wiederholt wird.
Definition einer B-Spline-Fläche
Eine B-Spline-Fläche der Ordnung und mit Knotenvektor und und Kontrollpunkten (bzw. De Boor Punkten) wird definiert durch
Die Fläche ist definiert über dem Rechteck .
Eigenschaften
- Lokalität: Der Kontrollpunkt beeinflusst die Fläche nur im Rechteck
- Endpunktinterpolation: Werden die ersten Knotenpunkte in auf den gleichen Wert gesetz, die letzten Knotenpunkte in auf den gleichen Wert gesetz, die ersten Knotenpunkte in auf den gleichen Wert gesetz und die letzten Knotenpunkte in auf den gleichen Wert gesetz dann gilt die Endpunktinterpolation, d. h. , , und
Literatur
- Carl de Boor: A practical guide to splines. Springer Verlag, New York 1978 ISBN 0-387-90356-9 und ISBN 3-540-90356-9 (Rev. Aufl. von 2001 ISBN 0-387-95366-3)
- Gerald Farin: Curves and Surfaces for CAGD. A practical guide. 5. Aufl. Academic Press, San Diego 2002 ISBN 1-55860-737-4