150 likes | 371 Views
Inverzní kinematika. …se zaměřením na herní aplikace Vypracoval: Vladimír Geršl. Program prezentace. Úvod Počítačová animace Pojmy z vysokoúrovňové animace Přímá kinematika Inverzní kinematika Modifikovaná Geršl-Semostánova metoda Ukázka videa a programu Shrnutí. /15. Úvod.
E N D
Inverzní kinematika …se zaměřením na herní aplikace Vypracoval: Vladimír Geršl
Program prezentace • Úvod • Počítačová animace • Pojmy z vysokoúrovňové animace • Přímá kinematika • Inverzní kinematika • Modifikovaná Geršl-Semostánova metoda • Ukázka videa a programu • Shrnutí /15
Úvod • Dnešní hry • K reálnému dojmu přispívají hodně i animace • Jednoduchý, věrně vypadající, rychlý nástroj /15
Počítačová animace • Výhody oproti běžné animaci • Nízkoúrovňová animace (keyframing…) • Vysokoúrovňová animace (přímá a inverzní kinematika) /15
Pojmy z vysokoúr. animace • Segmentová struktura • Koncový efektor: X • Stupně volnosti • Stavový prostor • Stavový vektor Θ = (α, β). /15
Přímá kinematika • Poloha koncového efektoru, je dán funkcí f(Θ) • Vzorec: X = f(Θ) (tzn. zobrazení Θ na X) • Výhody: jednoduchá implementace • Nevýhody: neintuitivní pro animátora • Využití: MoCap /15
Inverzní kinematika • Opak – známe X a snažíme se k němu nalézt stavový vektor Θ • Cílem řízený pohyb: Θ = f -1(X) • Problémy: • f -1() nemusí existovat • f() je nelineární a velmi komplexní… • Řešení: inverze Jakobiánu /15
Jakobián • Obecně dimenze m x n, kde m je dimenze X a n je dimenze Θ • Jakobián závislý na stav. prostoru: (tzn. posunem o malou vzdálenost dX spočítáme malou změnu stav. vektoru dΘ) • Nalezení lokálního řešení při malém pohybu: dΘ = J -1(Θ)(dX) …linearizace • Problémy: m x n, složitý… /15
Modifikovaná metoda • Kostra a její uložení • Obecný strom (listy – koncové efektory) • Každý kloub obsahuje: • ID • Délka kosti • Pozici • Odkazy /15
Princip pohybu (1) • Průsečík 2 kružnic /15
Princip pohybu (2) • Omezující podmínky: • Stromová struktura • Prostor: • 1) osa X je směr mezi středy kružnic kA a kC • 2) osa Z je normála roviny, ve které se bude pohyb provádět • 3) osa Y je vektorový součin osy X a Z, /15
Ukázka programu /15
Shrnutí • Implementováno v komerční hře • Rychlé • Solidně vypadající • Jednoduché na implementaci • Některé nedostatky.. /15
Zdroje • [1] Slady et al. Animace. Wikipedie, otevřená encyklopedie. http://cs.wikipedia.org/wiki/Animace, November 2007. • [2] J. Žára et al. Moderní Počítačová Grafika. Computer Press, 2004. • [3] A. Watt, F. Policarpo. Advanced Game Development. A.K.Peters, 2005. • [4] A. Watt. 3D Computers Graphics. Pearson Education, 2000. • [5] R. Fernando, M. J. Kilgard. The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics. Addison-Wesley Publishing, 2003. • [6] R. Hliněný. Stromy a les. http://www.fi.muni.cz/~hlineny/Vyuka/GT/Grafy-lect--4.pdf, 2007. • [7] P. Kotrč et al. Strom (graf). http://cs.wikipedia.org/wiki/Strom_%28graf%29, June 2007. /15