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_j \cdot N_{j,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.


prev up inhalt next