prev up inhalt next

Kubische Splines

Gegeben $n+1$ Stützpunkte. Wähle $n$ Kurven (Polynome) kleiner Ordnung für den Verlauf innerhalb der $n$ Intervalle.

Kurven erster Ordnung (Geraden) ergeben nur den Linienzug. Ein solcher Linienzug ist $C^0$-stetig, da die einzelnen Linien an den Stützpunkten dieselben $x$-und $y$-Werte haben.

Kurven zweiter Ordnung (Parabeln) kann man so wählen, daß sie an den Intervallgrenzen einmal stetig differenzierbar ($C^1$-stetig) sind. Geometrisch bedeutet das, daß dort nicht nur die Orte übereinstimmen, sondern auch die Steigungen. Mit Parabeln lassen sich nur Kegelschnitte darstellen; die Einsatzmöglichkeiten sind also begrenzt.

Kurven dritter Ordnung mit stetigen ersten und zweiten Ableitungen ($C^2$-stetig) an den Intervallgrenzen (kubische Splines) können zu einer Gesamtkurve mit weichen Übergängen an den Nahtstellen zusammengesetzt werden. ''weich'' heißt, daß das Auge der gezeichneten Kurve nicht mehr ansehen kann, wo die Stützpunkte liegen. Neben der Steigung ist auch die Krümmung identisch. Dies sind die einfachsten Kurven, mit denen sich bereits komplexe Formen erzeugen lassen.

Gesucht:
Approximation einer Kurve $f(t)$, die durch $n+1$ vorgegebene Punkte laufen soll mithilfe von $n$ Kurvenabschnitten.
Bemerkung:
$f$ wird in parametrisierter Form ermittelt (d.h. $x = g(t), y = h(t)$), da die explizite Form $y = f(x)$ pro $x$-Wert nur einen $y$-Wert erlaubt.

Die $n+1$ Stützpunkte seien $f(t_{i})$, die resultierenden Intervalle seien $[t_{i},t_{i + 1}]$, die für das Intervall $i$ zuständige Funktion sei $f_{i} (t)$, $1 \leq i\leq n$.

Jedes $f_i$ hat die Form

\begin{eqnarray*}
f_{i} (t) & = &f (t_{i}) + a_{i} \cdot (t - t_{i})+
b_{i}\cdo...
... - t_{i})^{3}\\
& & t_{i}\leq t \leq t_{i+1}, ~ i=1, \ldots ,n
\end{eqnarray*}



Es muß gelten

$f_{i}(t_{i})$ $=$ $f_{i+1}(t_{i})$ für $i=1, \ldots, n-1$ gleicher Wert
$f_{i}' (t_{i})$ $=$ $f_{i+1}' (t_{i})$ für $i=1, \ldots, n-1$ gleiche Steigung
$f_{i}'' (t_{i})$ $=$ $f_{i+1}'' (t_{i})$ für $i=1, \ldots, n-1$ gleiche Steigungsänderung

Durch Festlegung von $f'' (t_{0})=f'' (t_{n})=0$ wird das Gleichungssystem abgeschlossen.

Für die Folge $t_i$ reicht jede monoton wachsende Folge. Geeignet ist z.B. die Folge der euklidischen Abstände zwischen den Stützpunkten. Statt den Abstand $d=\sqrt{dx^{2} + dy^{2}}$ zu berechnen, verwendet man die Näherungsformel $\frac{1}{3}\cdot (\vert dx\vert+\vert dy\vert+2\cdot \max (\vert dx\vert,\vert dy\vert))$.


Abbildung 7.1: Vom Spline-Algorithmus erzeugte Kurveninterpolation


prev up inhalt next