Stránka 1 z 1
Kubické křivky v rovině
Napsal: 22. 1. 2007 11:02
od hippies
Nebyl by tu někdo schopen vysvětlit adaptivní diferenční algoritmus na kubiky v rovině? Nějak ty jeho matice nechápu (viz curves.pdf),.. k čemu je abcd, proč je inicializuje tak jak je inicializuje, ..
Napsal: 23. 1. 2007 00:36
od qwertie
ehmm nevim jestli zrovna tohle ma velky vyznam se ucit, spis se poradne nauc ty zakladni algoritmy.. nicmene pokud bys na tom trval juknu do slidu a zkusim to vysvetlit..
Napsal: 23. 1. 2007 00:59
od hippies
qwertie píše:ehmm nevim jestli zrovna tohle ma velky vyznam se ucit, spis se poradne nauc ty zakladni algoritmy.. nicmene pokud bys na tom trval juknu do slidu a zkusim to vysvetlit..
no rozhodně se to nehodlám učit, jen se bojim, že to nechápu, když to nejsem schopen odvodit, a tyhle matice mi fakt do hlavy nejdou..
Napsal: 24. 1. 2007 21:01
od gimli
Tak tohle jsem náhodou taky nechápal a nakonec odvodil. Pokud chceš znát postup tak věz:
počítá se křivka v bodech h, 2h, 3h, ...
nuže chceme rekurentní vztah pro P((k+1)h) pomocí P(kh)
není nic jednoduššího:
P((k+1)h)=ak<sup>3</sup>h<sup>3</sup>+a*3k<sup>2</sup>h<sup>3</sup>+a*3kh<sup>3</sup>+ah<sup>3</sup>+b*k<sup>2</sup>h<sup>2</sup>+b*2kh<sup>2</sup>+bh<sup>2</sup>+ckh+d
suma sumárum
P((k+1)h)=P(kh)+a*3k<sup>2</sup>h<sup>3</sup>+a*3kh<sup>3</sup>+ah<sup>3</sup>+b*2kh<sup>2</sup>+bh<sup>2</sup>
řekněme, že to navíc nazveme c
c(kh)=a*3k<sup>2</sup>h<sup>3</sup>+a*3kh<sup>3</sup>+ah<sup>3</sup>+b*2kh+bh
c((k+1)h)=c(kh)+b(kh)
b((k+1)h)=b(kh)+a(kh)
a(kh) je konstanta a proto a(kh)=a((k+1)h)
To jak se ty proměnné inizializují už je triviální. Pokud jde o zvětšování a zmenšování kroku algoritmu, tak tam se dosadí (k+0.5)h popřípadě (k+2)h a jsme doma.
Napsal: 25. 1. 2007 22:45
od hippies
gimli píše:Tak tohle jsem náhodou taky nechápal a nakonec odvodil. Pokud chceš znát postup tak věz:
počítá se křivka v bodech h, 2h, 3h, ...
nuže chceme rekurentní vztah pro P((k+1)h) pomocí P(kh)
není nic jednoduššího:
P((k+1)h)=ak<sup>3</sup>h<sup>3</sup>+a*3k<sup>2</sup>h<sup>3</sup>+a*3kh<sup>3</sup>+ah<sup>3</sup>+b*k<sup>2</sup>h<sup>2</sup>+b*2kh<sup>2</sup>+bh<sup>2</sup>+ckh+d
suma sumárum
P((k+1)h)=P(kh)+a*3k<sup>2</sup>h<sup>3</sup>+a*3kh<sup>3</sup>+ah<sup>3</sup>+b*2kh<sup>2</sup>+bh<sup>2</sup>
řekněme, že to navíc nazveme c
c(kh)=a*3k<sup>2</sup>h<sup>3</sup>+a*3kh<sup>3</sup>+ah<sup>3</sup>+b*2kh+bh
c((k+1)h)=c(kh)+b(kh)
b((k+1)h)=b(kh)+a(kh)
a(kh) je konstanta a proto a(kh)=a((k+1)h)
To jak se ty proměnné inizializují už je triviální. Pokud jde o zvětšování a zmenšování kroku algoritmu, tak tam se dosadí (k+0.5)h popřípadě (k+2)h a jsme doma.
no sice mam ti (asi) chybi v P(kh+h) jeste clen ..+ch+.., ale princip je jasny, diky..
nenapadlo me, ze to jde i takhle moc obecne:) .. furt jsem resil, ktera z tech kubik to je:)