Dzisiaj jest 11 lutego 2025 r.
Chcę dodać własny artykuł
Reklama

Płaty Béziera

Chcę dodać własny artykuł

Płaty Béziera

Płaty Béziera to parametryczne powierzchnie stosowane w modelowaniu geometrycznym, będące uogólnieniem krzywych Béziera.

Prostokątne płaty powierzchni Béziera

Prostokątne płaty powierzchni Béziera, znane również jako płaty tensorowe, są funkcjami dwóch zmiennych, które odwzorowują kwadrat jednostkowy na przestrzeń k-wymiarową:

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

Płat ma stopień n w kierunku parametru u i stopień m w kierunku parametru v. Kształt powierzchni kontrolowany jest za pomocą punktów kontrolnych, a do opisu płata stopnia (n,m) potrzebne są (n+1) cdot (m+1) punkty.

Punkty kontrolne zapisuje się w tablicy dwuwymiarowej jako p_{ij}. Siatka kontrolna to zbiór linii łączących sąsiednie punkty kontrolne. Łamana o stałym indeksie i nazywana jest wierszem, a o stałym indeksie j – kolumną.

Punkt na powierzchni oblicza się według wzoru:

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],

gdzie B_i^n i B_j^m to wielomiany bazowe Bernsteina. Obliczenia można przeprowadzić na dwa sposoby:

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

Punkty leżące na krzywych Béziera dla parametru u i v są wykorzystywane do znalezienia poszukiwanego punktu.

Trójkątne płaty Béziera

Trójkątne płaty Béziera odwzorowują obszar trójkątny w przestrzeń mathbb R^n. Wykorzystują one wielomiany bazowe Bernsteina trzech zmiennych B_{ijk}^n(r,s,t), gdzie r,s,t są współrzędnymi barycentrycznymi, spełniającymi warunek r+s+t = 1.

Punkt płata trójkątnego stopnia n oblicza się wg wzoru:

p(r,s,t) = sum p_{ijk} B_{ijk}^n (r,s,t),

gdzie i,j,k są indeksami spełniającymi warunek i+j+k = n. Do określenia płata stopnia n potrzebne są frac{(n+1)(n+2)}{2} punkty kontrolne.

Analogicznie jak w przypadku płatów prostokątnych, istnieje tutaj również siatka kontrolna oraz możliwość zastosowania algorytmu de Casteljau.