Inhalt, Interpolationsverfahren, Kubische Spline-Kurven: [ Motivation | Definition eines Kubischen Spline-Kurvensegments | Erweiterung auf zwei Kurvensegmente | Verallgemeinerung für beliebig viele Kurvensegmente | Beurteilung Kubischer Spline-Kurven ]

Definition eines Kubischen Spline-Kurvensegments

Ein Kubisches Spline-Kurvensegment durch zwei Stützpunkte wird definiert durch die vektorwertige parametrische Gleichung:

\begin{displaymath}
K_{1} (t) = A_{1} + B_{1} \cdot t + C_{1} \cdot t^{2} + D_{1}
\cdot t^{3}
\end{displaymath} (2.1)

Der Index $1$ bei den Koeffizienten $A$, $B$, $C$ und $D$ bedeutet, dass diese Koeffizienten zum ersten Kurvensegment gehören. Der Parameter $t$: $(t_{1}=0) \leq t \leq t_{2}$ Die Randbedingungen für das erste bzw. hier nur ein Kurvensegment sind: Siehe auch Java-Applet 2.1. Aus den Randbedingungen ergeben sich die Koeffizienten $A_{1}$, $B_{1}$, $C_{1}$ und $D_{1}$.

Java-Applet 2.1: Die Randbedingungen bei einem Kubischen Spline-Kurvensegment

Die erste Ableitung des ersten Kurvensegments nach dem Parameter $t$ ist:
\begin{displaymath}
\frac{dK_{1} (t)}{dt} = B_{1} + 2 \cdot C_{1} \cdot t + 3 \cdot
D_{1} \cdot t^{2}
\end{displaymath} (2.2)

Im Fall eines Kurvensegments ergeben sich aus den Randbedingungen:

\begin{displaymath}
K_{1} (t_{1})=P_{1}, \qquad K_{1} (t_{2})=P_{2}
\end{displaymath}

(Die beiden gegebenen Stützpunkte sollen interpoliert werden.)

\begin{displaymath}
{\frac{dK_{1} (t)}{dt}}\Biggr\vert _{t=t_{1}} = P_{1}', \qquad
{\frac{dK_{1} (t)}{dt}}\Biggr\vert _{t=t_{2}} = P_{2}'
\end{displaymath}

(Am ersten und letzten Stützpunkt sind die Tangenten, also Ableitungen, vorgegeben.)

Aus der Kurvengleichung (2.1) und der ersten Ableitung (2.2) folgen die vier Koeffizienten:

\begin{displaymath}
K_{1} (0)= A_{1}=P_{1}
\end{displaymath} (2.3)


\begin{displaymath}
{\frac{dK_{1} (t)}{dt}}\Biggr\vert _{t=0} {= B_{1} = P_{1}'}
\end{displaymath} (2.4)


\begin{displaymath}
K_{1} (t_{2}) = A_{1} + B_{1} \cdot t_{2} + C_{1} \cdot t_{2}^{2}
+ D_{1} \cdot t_{2}^{3}
\end{displaymath} (2.5)


\begin{displaymath}
{\frac{dK_{1} (t)}{dt}}\Biggr\vert _{t=t_{2}} {= B_{1} + 2 \cdot C_{1}
\cdot t_{2} + 3 \cdot D_{1} \cdot t_{2}^{2}}
\end{displaymath} (2.6)

Aus (2.5) und (2.6) ergeben sich:
\begin{displaymath}
C_{1} = \frac{3 \cdot (P_{2}-P_{1})}{t_{2}^{2}} - \frac{2 \cdot
P_{1}'}{t_{2}} - \frac{P_{2}'}{t_{2}}
\end{displaymath} (2.7)


\begin{displaymath}
D_{1} = \frac{2 \cdot (P_{1}-P_{2})}{t_{2}^{3}} +
\frac{P_{1}'}{t_{2}^{2}} + \frac{P_{2}'}{t_{2}^{2}}
\end{displaymath} (2.8)

Die Koeffizienten $A_{1}$ aus (2.3), $B_{1}$ aus (2.4), $C_{1}$ aus (2.7) und $D_{1}$ aus (2.8) in die Kurvengleichung (2.1) eingesetzt ergeben ein Kubisches Spline-Kurvensegment in Abhängigkeit von Also:
$\displaystyle K_{1} (t)$ $\textstyle =$ $\displaystyle P_{1} + P_{1}' \cdot t +$  
    $\displaystyle {}
\left(\frac{3 \cdot (P_{2}-P_{1})}{t_{2}^{2}} - \frac{2 \cdot
P_{1}'}{t_{2}} - \frac{P_{2}'}{t_{2}}\right) \cdot t^{2} +$  
    $\displaystyle {} \left(\frac{2 \cdot (P_{1}-P_{2})}{t_{2}^{3}} +
\frac{P_{1}'}{t_{2}^{2}} + \frac{P_{2}'}{t_{2}^{2}}\right) \cdot
t^{3}$ (2.9)

Zur Darstellung braucht man nur noch Informationen zur Parametergrenze $t_{2}$. Dieser Parameter bestimmt die Bogenlänge des Kurvensegments vom Stützpunkt $P_{1}$ nach $P_{2}$. Eine gute Näherung ist: $t_{2} = \vert P_{1} - P_{2} \vert$. Bisher wurde eine Kubische Spline-Kurve durch zwei Stützpunkte und zwei gegebene Kurvenableitungen an diesen Punkten beschrieben.

Anfang dieser Seite


Studienarbeit von Stefan Kögler, 5koegler@informatik.uni-hamburg.de
Dokument:
Letzte Änderung: