Płaty Béziera

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Płaty Béziera – powierzchnie parametryczne stosowane w modelowaniu geometrycznym, uogólnienie krzywych Béziera.

Prostokątne płaty powierzchni Béziera[edytuj | edytuj kod]

Prostokątne płaty powierzchni Béziera (rzadziej płaty tensorowe) są funkcjami dwóch zmiennych u, v odwzorowującymi kwadrat jednostkowy w przestrzeń k-wymiarową (3, 4, rzadziej więcej wymiarów):

[0,1] \times [0,1] \to \mathbb R^k

Płat jest stopnia n względem parametru u i stopnia m względem parametru v.

Kształt powierzchni, podobnie jak w przypadku krzywych Béziera, kontroluje się za pomocą punktów kontrolnych; aby opisać płat stopnia (n,m) potrzebne jest (n+1) \cdot (m+1) punktów kontrolnych dla wygody zapisanych w tablicy dwuwymiarowej – p_{ij} to punkt w i-tym wierszu i j-tej kolumnie tej tablicy.

Analogicznie do łamanej kontrolnej krzywej, dla płatów używa się określenia siatki kontrolnej, którą jest zbiór linii łączących sąsiednie punkty kontrolne (sąsiednie, czyli p_{ij} - p_{i(j+1)}, albo p_{ij} - p_{(i+1)j}).

Łamana której wierzchołkami są punkty kontrolne o stałym indeksie i nazywana jest wierszem, o stałym indeksie j kolumną.

Płat Beziera

Dowolny punkt na powierzchni oblicza się zgodnie ze wzorem:

p(u,v) = \sum_{i=0}^n \sum_{j=0}^m p_{ij} B_i^n(u) B_j^m(v) dla u,v \in [0,1]

B_i^n, B_j^m - wielomiany bazowe Bernsteina

W praktyce obliczenie punktu p(u,v) przeprowadza się zgodnie z jednym ze schematów:

  1. p(u,v) = \sum_{i=0}^n \left(\sum_{j=0}^m p_{ij} B_j^m(v)\right) B_i^n(u)
  2. p(u,v) = \sum_{j=0}^m \left(\sum_{i=0}^n p_{ij} B_i^n(u)\right) B_j^m(v)

Najpierw wyznaczane są punkty leżące na krzywych Béziera określonych na wierszach (kolumnach) siatki dla parametru u (v). Te punkty są z kolei brane jako ciąg punktów kontrolnych krzywej Béziera, na której dla parametru v (u) znajduje się szukany punkt.

Można również użyć wariantu dwu- lub więcej wymiarowego algorytmu de Casteljau.

Trójkątne płaty Béziera[edytuj | edytuj kod]

Bezier triangle.png

Trójkątne płaty Béziera to funkcje odwzorowujące trójkątny obszar w przestrzeń \mathbb R^n. Wykorzystuje się tutaj wielomiany bazowe Bernsteina trzech zmiennych B_{ijk}^n(r,s,t).

Zmienne r, s, t przy założeniu, że r+s+t = 1 (r,s,t \in [0,1]) są współrzędnymi barycentrycznymi na płaszczyźnie - te trzy liczby jednoznacznie określają punkt w trójkącie, którego wierzchołkami są punkty (r=1, s=0, t=0), (r=0, s=1, t=0), (r=0, s=0, t=1).

Punkt płata trójkątnego stopnia n dany jest wzorem:

p(r,s,t) = \sum p_{ijk} B_{ijk}^n (r,s,t), gdzie i,j,k \geqslant 0, i,j,k = 0,1,2,\ldots oraz i+j+k = n

Sumowanie przebiega po wszystkich i, j, k spełniających warunek i+j+k = n.

Do określenia płata stopnia n potrzebne jest (n+1)(n+2) \over 2 punktów kontrolnych.

Analogicznie jak w przypadku płatów prostokątnych tutaj również mamy do czynienia z siatką kontrolną. Wierszem w siatce nazywamy łamaną, której wierzchołkami są punkty kontrolne o jednym stałym indeksie.

Również dla płatów trójkątnych istnieje wariant algorytmu de Casteljau.