NURBS

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
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 i znakomicie nadają się do modelowania kształtów organicznych w programach do tworzenia grafiki 3D.

Powierzchnia NURBS jest matematycznie najbardziej elastyczną metodą przedstawienia powierzchni w 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]

Krzywe NURBS (n=3) określone na tych samych punktach kontrolnych; 1) górny obrazek - kontrola kształtu poprzez zmianę wartości węzłów (na osiach liczbowych zaznaczono rozkład węzłów); 2) dolny obrazek - 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, które są 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, \ldots, p_{m-n-1};
  • węzły u_0, \ldots, u_m dzielące przedział [0,1] na m-1 podprzedziałów;
  • wagi punktów kontrolnych w_0, \ldots, w_{m-n-1} (liczby rzeczywiste) określające wpływ każdego z punktów kontrolnych na krzywą;
  • n — stopień sklejanych wielomianów.

Dowolny punkt na krzywej dany jest wzorem:


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 \textrm{dla\ } t \in [u_n, n_{m-n}]

gdzie N_i^n jest unormowaną funkcją B-sklejaną.

Zwyczajna krzywa B-sklejana jest specjalnym przypadkiem krzywej NURBS dla równych sobie wag w_i różnych od zera.

Krzywa NURBS łączy cechy krzywych B-sklejnych 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.