Algorytm de Casteljau
Ada: Stosując algorytm de Casteljau należy znaleźć punkt dla wartości parametru t=0,5
na krzywej Beziera określonej następującymi punktami kontrolnymi
P
0 =[0,0], P
1 = [1,5], P
2 = [4,5], P
3=[5,0]
Bardzo proszę o pomoc, będę bardzo wdzięczna
1 cze 10:45
1 cze 10:51
Ada: Niestety nie bardzo tego rozumiem...
1 cze 11:09
a7: chyba trzeba to zarysować, potem łamać krzywą i postępowac zgodnie ze wskazanym algorytmem
czyli redukowac ilość punktów az zostanie jeden punkt
t=0,5 czyli tak jak napisane Wikipedii w tej proporcji łamiemy krzywą 1−t= 1−0,5= 0,5
trzeba narysować i krok po kroku wyznaczać te punkty aż będzie P0
1 cze 11:19
a7: tj narysować (nie zarysować)
1 cze 11:19
Ada: Dziękuje
czyli zaczynam od tego, że jak mam krzywą np. P
0 i P
1 to licze jej długość,
dzielę na pół (bo t=0.5) i punkt który będzie na środku będzie moim nowym punktem itd?
1 cze 11:35
Pytający:
Rysować nic nie trzeba, można po prostu policzyć.
W algorytmie masz n+1 iteracji (wliczając stan początkowy, iterację zerową). U Ciebie n=3. W
i−tej iteracji masz (n+1−i)−elementowy ciąg punktów.
Iteracja 0 z Twojego zadania według oznaczeń z wiki:
p
0(0)=[0,0], p
1(0)=[1,5], p
2(0)=[4,5], p
3(0)=[5,0]
Ciąg punktów w każdej kolejnej iteracji będzie miał o 1 element (punkt) mniej, aż w n−tej
(trzeciej) iteracji otrzymasz 1 szukany punkt.
Ogólnie masz taki wzór:
p
k(i)=t*p
k(i−1)+(1−t)*p
k+1(i−1), 1≤i≤n, 0≤k≤(n−i)
U Ciebie t=1/2, więc:
| pk(i−1)+pk+1(i−1) | |
pk(i)= |
| |
| 2 | |
I tak ciąg punktów z pierwszej iteracji wygląda tak:
| p0(0)+p1(0) | | [0,0]+[1,5] | |
p0(1)= |
| = |
| =[0.5, 2.5] |
| 2 | | 2 | |
| p1(0)+p2(0) | | [1,5]+[4,5] | |
p1(1)= |
| = |
| =[2.5, 5] |
| 2 | | 2 | |
| p2(0)+p3(0) | | [4,5]+[5,0] | |
p2(1)= |
| = |
| =[4.5, 2.5] |
| 2 | | 2 | |
Kolejne iteracje zostawiam Tobie.
1 cze 11:57
Ada: Bardzo dziękuję teraz wszystko wydaje się bardzo proste
1 cze 12:01