blender3d.cz
http://forum.blender3d.cz/

Spětná rotace ke stavu klidu
http://forum.blender3d.cz/viewtopic.php?f=11&t=1569
Stránka 11

Autor:  xixixao [ pon srp 29, 2005 8:26 pm ]
Předmět příspěvku:  Spětná rotace ke stavu klidu

Tak jo, potřebuju helpnout, nevim si rady... Zatim sem nepoužil python, ale pude potřeba... Jediný co potřebuju je, aby když má daný objekt rotaci jinou než 0, tak aby se k ní "jakoby snažil vrátit..." Nevim jestli ste to pochopili... No snad mi někdo helpne :? Předem díky!

Autor:  zgerbiak [ pon srp 29, 2005 8:41 pm ]
Předmět příspěvku: 

Myslis to tak ze mas napr. palicku ! a kym drzis sipku v pravo tak rotuje v smere hod. ruciciek / a ked ju pustis tak vracia na povodnu polohu? To budes musiet cez ipo a nastavis flipper :D

Dufam ze som pomohol

Autor:  xixixao [ úte srp 30, 2005 1:16 am ]
Předmět příspěvku: 

No já to takhle nemůžu udělat, protože ta rotace je ovládána stiskama klávesnice, já vlastně potřebuju vytvořit odpor...

Pokoušim se to napsat v pythonu, ale nevim jestli existuje ekvivalent k getPosition pro rotaci, v dokumentech sem nic podobný "getRotation" nenašel, nemáte stim někdo zkušenosti?

Autor:  Ash [ úte srp 30, 2005 12:29 pm ]
Předmět příspěvku: 

Na zistenie orientácie objektu slúži funkcia getOrientation(), ktorá vracia orientačnú maticu objektu (3 x 3). Pre tvoje účely z nej musíš určiť charakteristiku aktuálnej polohy a smer stabilizácie a následne ho nastaviť do aktuátora - najlepšie cez hodnoty Torque.

Přílohy:
Poznámka: Ukážka obsahuje stabilizáciu objektu okolo jednej osi (Z) po vychýlení klávesom Space.
stabilRot.zip [24.23 KiB]
107 krát

Autor:  kracho [ úte srp 30, 2005 2:00 pm ]
Předmět příspěvku: 

zdravim, ked si to tu uz nadhodil (ash), mohol by si mi presnejsie povedat, co presne ukazuje ktora hodnota v getOrientation? Snazil som sa na to prist ale nechapem tie matice. len mi proste staci viediet ktora hodnota sa da pouzit ako orientace v X, kt. v Y a Z dik.

Autor:  Ash [ úte srp 30, 2005 2:17 pm ]
Předmět příspěvku: 

kracho,

ako som už napísal, getOrientation() vracia maticu rotácie objektu - ak vezmeš ľubovoľný bod objektu a lokálny vektor jeho súradníc vynásobíš danou maticou, dostaneš súradnice bodu otočeného podľa danej matice. Táto matica sa dá vypočítať z troch uhlov otočenia podľa jednotlivých osí. Keď ju rozložíš po stĺpcoch, dostaneš zrotované vektory osí:
[mat[0][0], mat[1][0], mat[2][0]] je zrotovaný vektor osi X
[mat[0][1], mat[1][1], mat[2][1]] je zrotovaný vektor osi Y
[mat[0][2], mat[1][2], mat[2][2]] je zrotovaný vektor osi Z

V uvedenom príklade som y-ovú súradnicu vektora osi X na to, aby som zistil, nakoľko sa os odchýlila od pôvodného smeru (nezrotovaná je rovná 0, pri rotácii doľava je > 0, pri rotácii doprava je < 0) - je to samozrejme len primitívny príklad, ale hádam ukazuje smer, ktorým sa treba vydať.

Autor:  xixixao [ úte srp 30, 2005 4:38 pm ]
Předmět příspěvku: 

Ty si genius Ashi, tisíceré díky!

Stránka 11 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/