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

Algorytm de Casteljau

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

Reklama

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}

Reklama

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.

Reklama

Bibliografia

  • Casteljau
Reklama