Podręcznik
7. Powierzchnie B-sklejane i powierzchnie NURBS
Powierzchnie B-sklejane definiuje się jako tzw. iloczyn tensorowy krzywych B-sklejanych stopnia k względem parametru u i stopnia r względem parametru v:
Powierzchnię definiują wierzchołki kontrolne tworzące siatkę ( m+1)*( n+1) punktów:
oraz dwa ciągi węzłów - dla każdego parametru osobne:
Powierzchnia tak zdefiniowana składa się z (m-k+1)*(n-r+1) płatów. Przykład dla k=3 i r=3 (czyli dla tzw. powierzchni bikubicznej) podano poniżej:
Rysunek 77. Zasada definiowania bikubicznej powierzchni B-sklejanej. Liczba płatów wynika z liczby wierszy i kolumn siatki (tutaj: 6*5) oraz stopnia powierzchni w każdym z kierunków (tutaj: 3*3).
Do wyznaczania punktów powierzchni stosuje się w ogólnym przypadku szybki i stabilny algorytm de Boora, albo też, dla powierzchni stopnia 2 lub 3, geometryczny algorytm Boehma będący uogólnieniem algorytmu dla krzywych:
- Najpierw stosuje się algorytm Boehma w stosunku do każdej kolumny siatki
- Następnie ten sam algorytm stosuje się do każdego wiersza tak otrzymanej pośredniej macierzy wierzchołków.
Rysunek 78. Zasada wyznaczania wierzchołków Béziera na podstawie siatki wierzchołków B-sklejanych (zwanych też wierzchołkami de Boora).
Powierzchnie NURBS definiuje się za pomocą siatki wierzchołków kontrolnych
związanych z nimi współczynników wagowych:
i dwu niezależnych ciągów węzłów:
Pełna definicja ma postać analogiczną do wymiernych krzywych B-sklejanych:
Własności powierzchni NURBS prezentuje rozbudowana Aplikacja nr 12 (Rysunek 79).
Rysunek 79 – Aplikacja nr 12: Powierzchnie NURBS. Aplet umożliwia stworzenie i modelowanie powierzchni NURBS. Po naciśnięciu przycisku "Nowy" w oknie dialogowym można ustalić wielkość siatki wierzchołków kontrolnych (tutaj: 5*6). W trybie edycji możliwa jest zmiana stopnia powierzchni w każdym w kierunku, edycja wag wierzchołków oraz edycja ciągu węzłów dla każdego z kierunków.