Algorytm de Casteljau

Algorytm de Casteljau

Algorytm de Casteljau to metoda stworzona przez Paula de Casteljau, umożliwiająca określenie punktów na wielomianowej krzywej Béziera, co oznacza obliczanie wartości wielomianów w oparciu o wielomiany Bernsteina.

Rozważamy dowolną łamaną, która jest zdefiniowana przez n + 1 wierzchołków:

p0, p1, …, pn,

oraz zmienną t należącą do przedziału [0, 1].

Każdy odcinek łamanej jest dzielony w proporcji t : (1 – t), co prowadzi do uzyskania n wierzchołków, które formują nową łamaną. Proces ten powtarza się, aż pozostanie tylko jeden punkt p(t), co wymaga wykonania n kroków. Ostatecznie uzyskujemy n + 1 ciągów punktów (indeks górny odnosi się do etapu algorytmu):

p0(0), p1(0), p2(0), p3(0), …, pn(0)
p0(1), p1(1), p2(1), …, pn-1(1)

p0(n)

Punkt p(t)(n) znajduje się na krzywej Béziera, której kontrolną łamaną są punkty wyjściowe p0(0), p1(0), p2(0), …, pn(0).

Realizując algorytm dla wszystkich wartości t w przedziale [0, 1], uzyskujemy wszystkie punkty krzywej Béziera.

Za pomocą algorytmu de Casteljau można również:

  • Wyznaczyć punkty kontrolne dla dwóch krzywych, aby połączyć je z zachowaniem ciągłości geometrycznej (zobacz krzywa B-sklejana).
  • Podzielić krzywą na dwie krzywe w punkcie p(t).

Kontrolne łamane są określane przez punkty leżące na brzegach „trójkąta punktów”, gdzie kontrolna łamana pierwszej krzywej składa się z punktów:

p0(0), p0(1), …, p0(n)

oraz drugiej krzywej:

pn(0), pn-1(1), …, p0(n)

Obie krzywe są tego samego stopnia co dzielona krzywa.

Bibliografia

Przemysław Kiciak: Podstawy modelowania krzywych i powierzchni: zastosowania w grafice komputerowej. Warszawa: Wydawnictwa Naukowo-Techniczne, 2000. ISBN 83-204-2464-X.

Michał Jankowski: Elementy grafiki komputerowej. Warszawa: Wydawnictwa Naukowo-Techniczne, 1990, s. 135–138. ISBN 83-204-1326-5.

Przeczytaj u przyjaciół: