article

Spline interpolation.png 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 dass 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, englisch spline), 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 von Null verschieden. Ä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 N_{i,p,\tau}\ (i=1,\ldots,n-p) der Ordnung p mit Knotenvektor \tau = (\tau_1,\ldots,\tau_n) \quad (n\ge 2\,p) werden durch die Rekursionsformel von de Boor/Cox/Mansfield definiert:

N_{i,1,\tau}(u) = \begin{cases} 1, & u\in\left* \\ 0, & \mbox{sonst} \end{cases}
und
N_{i,p+1,\tau}(u) = \frac{u-\tau_{i}}{\tau_{i+p}-\tau_{i}}\,N_{i,p,\tau}(u) \;+\; \frac{\tau_{i+p+1}-u}{\tau_{i+p+1}-\tau_{i+1}}\,N_{i+1,p,\tau}(u).

Die Elemente des Knotenvektors heißen auch Knotenpunkte (im engl. breakpoints) und müssen die Bedingungen \tau_{i}\le\tau_{i+1} und \tau_{i} < \tau_{i+p} erfüllen.

Im CAD werden fast immer die ersten p und letzten p Knotenpunkte auf den gleichen Wert gesetzt.

Eigenschaften

  • Nicht-Negativität: N_{i,p,\tau}(u)\ge 0
  • Lokaler Träger: N_{i,p,\tau}(u)= 0\mbox{ falls }u\not\in *
  • Zerlegung der Eins: \sum_{i=0}^{n-p} N_{i,p,\tau}(u) = 1, u\in*

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 C(u),\ u\in * der Ordnung p mit Knotenvektor \tau (s. o.) und Kontrollpunkten P_i\ (i=1,\ldots,n-p) (auch De Boor Punkte genannt) wird definiert durch

C(u) = \sum_{i=1}^{n-p}\; P_i\,N_{i,p,\tau}(u).

Für Kurven in der Ebene sind die Kontrollpunkte 2-dimensional, für Kurven im Raum 3-dimensional.

Eigenschaften

  • Lokalität: Der Kontrollpunkt P_i beeinflusst die Kurve nur im Intervall *

  • Endpunkt-Interpolation: Es ist P_1 = C(\tau_{p}), falls der erste Knotenpunkt p-mal wiederholt wird und P_{n-p} = C(\tau_{n-p+1}), falls der letzte Knotenpunkt p-mal wiederholt wird.

Definition einer B-Spline-Fläche

Eine B-Spline-Fläche der Ordnung p und q mit Knotenvektor \tau = (\tau_{1},\ldots,\tau_{n})\ (n\ge 2p) und \mu = (\mu_{1},\ldots,\mu_{m})\ (m\ge 2q) und Kontrollpunkten (bzw. De Boor Punkten) P_{ij} wird definiert durch

C(u,v) = \sum_{i=1}^{n-p} \sum_{j=1}^{m-q}\; P_{ij}\,N_{i,p,\tau}(u)\,N_{j,q,\mu}(v)

Die Fläche ist definiert über dem Rechteck \times [\mu_{q},\mu_{m-q+1}.

Eigenschaften

  • Lokalität: Der Kontrollpunkt P_{ij} beeinflusst die Fläche nur im Rechteck [\mu_{j},\mu_{j+q}

  • Endpunktinterpolation: Werden die ersten p Knotenpunkte in \Tau auf den gleichen Wert gesetzt, die letzten p Knotenpunkte in \tau auf den gleichen Wert gesetzt, die ersten q Knotenpunkte in \mu auf den gleichen Wert gesetzt und die letzten q Knotenpunkte in \mu auf den gleichen Wert gesetzt, dann gilt die Endpunktinterpolation, d. h. P_{1,1}=C(\tau_p,\mu_q), P_{1,m-q}=C(\tau_p,\mu_{m-q+1}), P_{n-p,1}=C(\tau_{n-p+1},\mu_q) und P_{n-p,m-q}=C(\tau_{n-p+1},\mu_{m-q+1})

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

Weblinks


Numerische Mathematik | Mathematische Funktion

C2 kubická interpolace | Spline (mathematics) | Spline | Spline | Spline | Spline | Spline | Сплайн | Zlepek | 样条

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Spline".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld