NURBS (ang. Non-Uniform Rational B-Spline) – popularna nazwa dla dwóch rodzajów obiektów: krzywych i powierzchni.
Kształt tych krzywych określany jest za pomocą punktów kontrolnych tworzących wielobok kontrolny. Krzywe te nadają się do modelowania kształtów organicznych w programach do tworzenia grafiki 3D.
Powierzchnia NURBS jest matematycznie najbardziej elastyczną metodą przedstawienia powierzchni dowolnego modelu. Powierzchnia B-spline jest łatwa w modyfikacji, gdyż każdy biegun jej siatki kontrolnej wpływa na kształt powierzchni tylko w ograniczonym stopniu. Siatka kontrolna jest analogiem wieloboku kontrolnego krzywej B-spline.
Krzywe NURBS
[edytuj | edytuj kod]Wyjaśnienie wyrażeń w angielskiej nazwie:
- B-spline – krzywe NURBS to krzywe B-sklejane, a więc parametryczne krzywe złożone z wycinków krzywych wielomianowych.
- Rational – krzywe wymierne, ponieważ zdefiniowano je we współrzędnych jednorodnych; po przejściu na współrzędne kartezjańskie otrzymuje się funkcje wymierne. Rzecz ma się dokładnie tak samo jak w przypadku wymiernych krzywych Béziera.
- Non-uniform – cecha krzywej B-sklejanej: węzły krzywej nie muszą być rozmieszczone równomiernie.
Na kształt krzywej NURBS wpływają następujące elementy:
- punkty kontrolne
- węzły dzielące przedział na [wymaga weryfikacji?] podprzedziałów;
- wagi punktów kontrolnych (liczby rzeczywiste) określające wpływ każdego z punktów kontrolnych na krzywą;
- – stopień sklejanych wielomianów.
Dowolny punkt na krzywej dany jest wzorem:
gdzie:
- jest unormowaną funkcją B-sklejaną.
Zwyczajna krzywa B-sklejana jest specjalnym przypadkiem krzywej NURBS dla równych sobie wag różnych od zera. Krzywa NURBS łączy cechy krzywych B-sklejanych i wymiernych krzywych Béziera. W szczególności waga punktu wpływa na kształt lokalnie, co pokazano na rysunku – krzywa „zbliża się” lub „oddala” od punktu, w zależności od jego wagi. Odcinek krzywej jest liniowy, jeżeli punkt ma wagę równą zeru.