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:)