6. Powierzchnie Béziera

Rysunek 70. Płaszczyzna styczna i wektor normalny do powierzchni parametrycznej.

 

Powierzchnie Béziera zdefiniowane są siatką wierzchołków kontrolnych za pomocą funkcji Bernsteina, w sposób będący uogólnieniem metody dla krzywych:

\mathbf{P}( u,v) =\sum ^{m}_{i=0}\sum ^{n}_{j=0}\mathbf{V}_{i,j} B_{i,m}( u) B_{j,n}( v) \ \ \ \ ;\ \ \ \ \ \left\{\begin{matrix} \ \ 0\ \leqslant \ u\ \leqslant 1\\ 0\leqslant v\ \leqslant 1 \end{matrix}\right.

Definicję tę często zapisuje się również w postaci macierzowej:

 

\mathbf{P}( u,v) =[ B_{0,m}( u) \ \ \ \ B_{1,m} (u)\ \ \ \ \dotsc \ \ \ \ \ B_{m,m} (u)] \cdot \mathbf{V} \cdot \ \begin{bmatrix} B_{0,n} (v)\\ B_{1,n} (v)\\ \dotsc \\ B_{n,n} (v) \end{bmatrix}

 

gdzie

 \begin{array}{{>{\displaystyle}l}} \mathbf{V} =\left[\begin{matrix} \ \begin{matrix} \begin{matrix} \mathbf{V}_{00} & \dotsc & \mathbf{V_{0n}} \end{matrix}\\ \begin{matrix} .\ & \ \ \ \dotsc \ \ & \ . \end{matrix} \end{matrix}\\ \begin{matrix} \begin{matrix} \ . & \ \ \ \dotsc \ \ & \ . \end{matrix}\\ \begin{matrix} \mathbf{V}_{m0} & \ \dotsc & \mathbf{V}_{mn} \end{matrix} \end{matrix} \end{matrix}\right] \end{array}

 

jest siatką wierzchołków kontrolnych Béziera.

Płat powierzchni w reprezentacji Béziera (w skrócie nazywany powierzchnią Béziera) jest więc średnią ważoną wierzchołków siatki, z których cztery narożne leżą na definiowanej powierzchni. Ma on własności analogiczne do krzywych Béziera. Powierzchnia tak zdefiniowana jest stopnia m względem parametru u i stopnia n względem parametru v.

Modelowanie powierzchni metodą Béziera często zaczyna się od płaskiej siatki wierzchołków:

 

Rysunek 71. . Powierzchnia Béziera 3  stopnia w kierunku u i 4 stopnia w kierunku v. Wykonano przy użyciu systemu Catia..

W następnym etapie wierzchołki dowolnie przesuwa się w przestrzeni, aż do uzyskania pożądanego kształtu:

Rysunek 72. Powierzchnia po modyfikacji siatki wierzchołków jak wyżej.

 

Możliwości te można przetestować przy użyciu Aplikacji nr 10:

Rysunek 73 - Aplikacja nr 10:  Modelowanie płata Béziera. Przycisk "Nowa" pozwala  stworzyć nowy płat. W oknie dialogowym można wybrać ilość kolumn i wierszy siatki  punktów kontrolnych (tutaj: 4x5), a więc ustalić stopień płata w każdym z kierunków. Włączenie "Edytuj" umożliwia przeciąganie punktów kontrolnych siatki. Obroty płata wykonujemy myszką przy wyłączonej opcji Edytuj. Tutaj poglądowo  płat w dwu różnych ustawieniach, w jednym włączona opcja „Ukryj siatkę”.

Bikubiczne powierzchnie Béziera są szczególnym i najczęściej spotykanym przypadkiem: powierzchnia jest trzeciego stopnia w obu kierunkach. Jest więc zdefiniowana siatką 16 punktów kontrolnych:

Rysunek 74. Bikubiczna powierzchnia wraz z definiującą ją siatką wierzchołków kontrolnych Béziera.

 

Wektorowy zapis powierzchni bikubicznej ma postać następującą:

 

{\mathbf{P}}\left(u,v\right)=\left[u^3\ \ \ u^2\ \ \ u\ \ \ 1\right]\cdot B\cdot V\cdot B^T\cdot\left[\begin{matrix}\begin{matrix}v^3\\v^2\\\end{matrix}\\\begin{matrix}v\\1\\\end{matrix}\\\end{matrix}\right]

 

gdzie:

 

\begin{array}{{>{\displaystyle}l}} B=\left[\begin{matrix} -1 & 3 & -3 & 1\\ 3 & -6 & 3 & 0\\ -3 & 3 & 0 & 0\\ 1 & 0 & 0 & 0 \end{matrix}\right] \end{array}

 

zaś V jest tablicą wierzchołków siatki:

 

\mathbf{V}=\left[\begin{matrix}\begin{matrix}\mathbf{V}_{\mathbf{00}}&\mathbf{V}_{\mathbf{01}}\\\mathbf{V}_{\mathbf{10}}&\mathbf{V}_{\mathbf{11}}\\\end{matrix}&\begin{matrix}\mathbf{V}_{\mathbf{02}}&\mathbf{V}_{\mathbf{03}}\\\mathbf{V}_{\mathbf{12}}&\mathbf{V}_{\mathbf{13}}\\\end{matrix}\\\begin{matrix}\mathbf{V}_{\mathbf{20}}&\mathbf{V}_{\mathbf{21}}\\\mathbf{V}_{\mathbf{30}}&\mathbf{V}_{\mathbf{31}}\\\end{matrix}&\begin{matrix}\mathbf{V}_{\mathbf{22}}&\mathbf{V}_{\mathbf{23}}\\\mathbf{V}_{\mathbf{32}}&\mathbf{V}_{\mathbf{33}}\\\end{matrix}\\\end{matrix}\right]

 

Punkty powierzchni Béziera można również wyznaczyć korzystając wyłącznie z algorytmów dla krzywych. Wykonuje się to w dwóch etapach:

  • Dla zadanej wartości u wyznacza się punkty pośrednie Vi(u), tworzące wielobok Béziera dla krzywej stałego parametru u.
  • Następnie dla danego u i tak otrzymanego wieloboku pośredniego wyznacza się punkty P(u,v), tworzące linie stałego parametru u.

Metoda może być zastosowana w sposób odwrotny, prowadząc do wyznaczenia linii stałego parametru v.

 

Rysunek 75. Zasada wyznaczania punktów na powierzchni Béziera. Wykorzystano metodę de Casteljau do generowania punktów krzywej.

Kolejna Aplikacja  nr 11 (Rysunek 76)  pokazuje możliwość modelowania z użyciem współczynników wagowych. Otrzymujemy tzw. wymierne powierzchnie Béziera, zdefiniowane na analogicznych zasadach, jak krzywe wymierne Béziera.

Rysunek 76 – Aplikacja nr 11.  Wymierny płat Béziera, tutaj zdefiniowany siatką 3*4 punktów kontrolnych. Zasady modelowania jak poprzednio. Dodatkowo w trybie "Edycji" po naciśnięciu prawego przycisku myszy na wybranym punkcie kontrolnym można zmienić jego wagę.