prev up inhalt next

NURBS

Über die Eigenschaften der B-Splines hinaus, wäre für den 3D-Fall auch eine Invarianz unter projektiven Abbildungen wünschenswert, da dort die 3D-Kurven auf den 2D-Bildschirm projeziert werden müssen.

Um möglichst große Freiheit bei den zu appxroximierenden Formen zu haben, sollten die Kurven beliebige Kegelschnitte (insbesondere Kreise) annähern können.

Beide Wünsche werden von der allgemeinsten Form zum Zeichnen von Kurven erfüllt. Es handelt sich dabei um NURBS (nonuniform rational basis splines).

Es handelt sich wieder um eine baryzentrische Kombination:


\begin{displaymath}
P^h(t) = \sum_{i=0}^n N_{i,k}(t) \cdot P^h_i,
\end{displaymath}

wobei hier die $P^h_i$ mit homogener Koordinate eingehen ( $P^h_i = (x_i \; y_i
\: h_i)^T$) und die Punkte der Kurve $P^h(t)$ ggf. eine von $1$ verschiedene homogene Koordinate erhalten. Um die Kurve zeichnen zu können, müssen wir sie in die euklidische Ebene projizieren. Dies geschieht durch die Abbildung vom dreidimensionalen Raum der homogenen Koordinaten in die zweidimensionale euklidische Ebene. Da sich für einen Punkt in homogenen Koordinaten seine Position in der euklidischen Ebene ergibt, wenn man mit der homogenen Koordinate $h_i$ normiert, ergeben sich die Gewichtungsfunktionen als Quotient zweier Polynome. Deswegen heißen diese Kurven rational:


\begin{displaymath}
P(t) =
\sum_{i=0}^n \frac{h_i \cdot N_{i,k}(t) \cdot P_i
}{...
...^n h_i \cdot N_{i,k}(t)
} =
\sum_{i=0}^n R_{i,k}(t) \cdot P_i
\end{displaymath}

mit $P_i = (x_i \; y_i)^T$ und P(t) zweidimensional und


\begin{displaymath}
R_{i,k}(t) = \frac{h_i \cdot N_{i,k}(t)}{\sum_{j=0}^n h_j \cdot
N_{j,k}(t)}.
\end{displaymath}

Die $h_i$ werden auch homogene Gewichte oder nur Gewichte genannt, weil sie zusätzlichen Einfluß auf den Verlauf der Kurve ausüben. Für einen offenen uniformen Knotenvektor $T =[0 \; 0\; 0\; 1 \;
2 \; 3 \; 3 \; 3]$ mit $n=4$ und $k=3$ und Gewichten $h_i = 1 \forall i
\neq 3$ ergeben sich die folgenden Kurven, wenn $h_3$ die Werte $0$, $0.25$, $1$ und $5$ annimmt:

Je größer $h_3$ wird, umso stärker zihet der Punkt $P_3$ die Kurve an. Wenn $h_3$ sich Null nähert, wird der Einfluß von $P_3$ immer schwächer. Für $h_3 = 0$ hat $P_3$ gar keinen Einfluß mehr. Das bedeutet, daß $P_3$ mit Berücksichtigung der homogenen Koordinate im Unendlichen liegt.


prev up inhalt next