Spline
Ein Spline ist ein Begriff aus der numerischen Mathematik und bezeichnet ein stückweises Polynom, das für Polynome n-ten Grades an den Punkten, an denen jeweils zwei Polynome aufeinandertreffen, n-1 Mal stetig differenzierbar ist. Splines werden zur (Spline-)Interpolation benutzt und stellen eine Variante der Polynominterpolation dar. Durch die stückweise Definition wird der unangenehme Effekt der Polynominterpolation beseitigt, dass für n Stützpunkte ein Polynom n-ten Grades zur Interpolation benötigt wird. Dies führt u.A. zu starken Abweichungen von der zu interpolierenden Funktion in den Randbereichen.
Sind die einzelnen Polynome alle linear, so nennt man den Spline linear, 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. Sie werden vor allem zur Interpolation von Funktionen benutzt.
- Siehe auch: Spline-Interpolation, Faltung (Mathematik)
Mathematische Definition
Die B-Spline-Basisfunktionen der Ordnung mit Knotenvektor
werden rekursiv definiert durch
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.
Mathematische Definition: 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.
Mathematische Definition: 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