Dzisiaj jest 25 stycznia 2025 r.
Chcę dodać własny artykuł
Reklama

Algorytm de Casteljau

Chcę dodać własny artykuł

Algorytm de Casteljau

Algorytm de Casteljau, opracowany przez Paula de Casteljau, służy do wyznaczania punktów na krzywej Béziera, korzystając z baz wielomianów Bernsteina. Proces ten opiera się na łamanej zdefiniowanej przez n+1 wierzchołków p_0,p_1,\dots,p_n oraz parametrze t \in [0,1].

W algorytmie każdy odcinek łamanej dzieli się w stosunku t : {1-t}, co generuje n nowych wierzchołków, tworzących nową łamaną. Proces ten powtarza się, aż uzyskamy jeden punkt p(t), co wymaga wykonania n kroków. Rezultatem jest ciąg n+1 punktów w kolejnych krokach:

\begin{matrix} p_0^{(0)}, p_1^{(0)}, p_2^{(0)}, \dots, p_n^{(0)} \\ p_0^{(1)}, p_1^{(1)}, p_2^{(1)}, \dots, p_{n-1}^{(1)} \\ \vdots \\ p_0^{(n-1)}, p_1^{(n-1)} \\ p_0^{(n)} \\ {} \end{matrix}

Punkt p(t)^{(n)} leży na krzywej Béziera, której kontrolną łamaną są punkty wyjściowe p_0^{(0)}, p_1^{(0)}, \dots, p_n^{(0)}. Stosując algorytm dla wszystkich wartości t w przedziale [0,1], otrzymujemy pełną krzywą Béziera.

Zastosowania algorytmu de Casteljau

  • Wyznaczanie punktów kontrolnych dla dwóch krzywych, zapewniając ich ciągłość geometryczną (np. krzywa B-sklejana).
  • Podział krzywej na dwie w punkcie p(t). Łamane kontrolne obu krzywych są definiowane przez punkty na brzegach „trójkąta punktów”:

Kontrolna łamana pierwszej krzywej: p_0^{(0)}, p_0^{(1)}, \dots, p_0^{(n-1)}, p_0^{(n)}. Kontrolna łamana drugiej krzywej: p_n^{(0)}, p_{n-1}^{(1)}, \dots, p_1^{(n-1)}, p_0^{(n)}. Obie krzywe mają ten sam stopień co dzielona krzywa.

Bibliografia

  • Casteljau