.[ ČeskéHry.cz ].
Pohybové rovnice - základní dotaz

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Fyzikální modely
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Houp



Založen: 28. 07. 2007
Příspěvky: 672

PříspěvekZaslal: 23. srpen 2011, 13:00:06    Předmět: Pohybové rovnice - základní dotaz Odpovědět s citátem

Doposud jsem úspěšně používal jednoduché vzorečky :
kód:

v += a * dt;
pos += v * dt;


Bohužel pokud nechci pracovat s konstantním FPS, tak animace dopadne pokaždé trochu jinak. Střední školu mám již nějaký pátek za sebou, tak se chci zeptat, jestli je správnější řešení :
kód:

pos += v * dt + 0,5 * a * dt^2;
v += a * dt;

? A nebo stále to nezaručuje, že pokaždé bude animace stejná?
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
VODA



Založen: 29. 07. 2007
Příspěvky: 1721
Bydliště: Plzeň

PříspěvekZaslal: 23. srpen 2011, 13:12:17    Předmět: Odpovědět s citátem

Nezaručuje. To druhé (mám teda ponětí), je jen stabilnější. Pokud budeš mít proměnný přírustek času (dt), tak ta animace prostě bude pokaždé vypadat trochu jinak...
Jedině s konstantním časem, by měl být i konstantní výpočet...
_________________
Opravdovost se pojí s trýzní...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1822

PříspěvekZaslal: 23. srpen 2011, 14:49:30    Předmět: Odpovědět s citátem

Da sa samozrejme spravit aj konstantny krok. Zvol si maly, konstantny krok (napriklad 10 ms) a "akumuluj" dt kazdy frame. "Hrozi", ze budes integrovat i viackrat za frame (a niektore framy vobec!).

Priklad:

Naakumulovane vo frame 444: 0 ms.
Frame 444 trval 27 ms. Frame 445 trval 31 ms. Frame 446 trval 4 ms. Frame 447 trval 21 ms.

Frame 445: Integruj int(27)/10=2 krat. Accum = 7.
Frame 446: Integruj int(31+7)/10=3 krat. Accum = 8.
Frame 447: Integruj int(4+8)/10 = 1 krat. Accum = 2.
Frame 448: Integruj int(21+2)/10 = 2 krat. Accum = 3...

Takto ti animacia vzdy postupuje po 10 ms.

Kazdopadne, pouzitie lepsej integracnej schemy ako Euler je vzdy na mieste, ale implementacia moze byt relativne narocna (Runge-Kutta sa moze javit zlozity na pochopenie). Tato, co si uviedol, ak je to spravne (tj to co tam pricitas je druha derivacia), by ti stabilitu malo zlepsit. Ale furt to ma typicky velikansku, akumulujucu chybu.
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Fyzikální modely Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna