NURBS

Przykładowa powierzchnia NURBS wraz z siatką kontrolną

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

Krzywe NURBS (n=3) określone na tych samych punktach kontrolnych; rys. górny – kontrola kształtu przez zmianę wartości węzłów (na osiach liczbowych zaznaczono rozkład węzłów); rys. dolny – kontrola kształtu poprzez zmianę wagi punktu (tutaj P2)

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 p 0 , , p m n 1 ; {\displaystyle p_{0},\dots ,p_{m-n-1};}
  • węzły u 0 , , u m {\displaystyle u_{0},\dots ,u_{m}} dzielące przedział [ 0 , 1 ] {\displaystyle [0,1]} na m 1 {\displaystyle m-1} [wymaga weryfikacji?] podprzedziałów;
  • wagi punktów kontrolnych w 0 , , w m n 1 {\displaystyle w_{0},\dots ,w_{m-n-1}} (liczby rzeczywiste) określające wpływ każdego z punktów kontrolnych na krzywą;
  • n {\displaystyle n} – stopień sklejanych wielomianów.

Dowolny punkt na krzywej dany jest wzorem:

p ( t ) = i = 0 m n 1 w i p i N i n ( t ) i = 0 m n 1 w i N i n ( t ) dla    t [ u n , u m n ] , {\displaystyle p(t)={\frac {\sum _{i=0}^{m-n-1}w_{i}p_{i}N_{i}^{n}(t)}{\sum _{i=0}^{m-n-1}w_{i}N_{i}^{n}(t)}}\qquad {\text{dla }}\ t\in [u_{n},u_{m-n}],}

gdzie:

N i n {\displaystyle N_{i}^{n}} jest unormowaną funkcją B-sklejaną.

Zwyczajna krzywa B-sklejana jest specjalnym przypadkiem krzywej NURBS dla równych sobie wag w i {\displaystyle w_{i}} 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.

Zobacz też

  • śledzenie promieni