Ü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 darzustellenden Formen zu haben, sollten die Kurven beliebige Kegelschnitte (also Kreise, Parabeln und Hyperbeln) annähern können, wie sie in Abbildung 7.7 gezeigt werden.
Beide Wünsche werden von der allgemeinsten Form zum Zeichnen von Kurven erfüllt. Es handelt sich dabei um NURBS (nonuniform rational basis splines).
Nonuniform bedeutet, dass die Knoten auf dem Knotenvektor nicht äquidistant sein müssen; rational bedeutet, dass die Gewichtung eines Kontrollpunktes durch den Quotienten zweier Polynome definiert wird.
Abbildung
7.8
zeigt den Einfluss der Gewichte
auf den Verlauf der Kurve. Ein Gewicht verschiebt die Kurve
in Richtung Kontrollpunkt
, ein Gewicht
verringert
den Einfluss von Kontrollpunkt
(und erhöht dadurch den
Einfluss von Kontrollpunkt
.
Zur Berechnung von NURBS-Kurven bedient man sich der homogenen Koordinaten:
Zunächst wird ein Punkt
in seine homogenen Koordinaten
überführt und dann mit seinem Gewicht
multipliziert.
Die so entstandenen Punkte
werden nun mit den Gewichtspolynomen
verarbeitet:
Zur Anzeige der errechneten Kurve werden die homogenen Koordinaten durch Division der dritten Komponente in Punktkoordinaten überführt:
NURBS bieten gegenüber B-Splines einige Vorteile: