2012-08-15 9 views
3

J'ai lacet, tangage et roulis à partir d'un objet et j'ai besoin de le transformer en vectorDir et vectorUp. Quelqu'un a une idée de comment le faire?Lacet, tangage et roulis à vectorDir et vectorUp

+0

«rouler» ne devrait pas contribuer à la direction, alors dessinez votre objet sur une feuille de papier, marquez les angles de la direction neutre/zéro et regardez comment cela se transforme en un cercle. Ensuite, vous devriez être capable de comprendre. Le vecteur 'up' est un peu plus compliqué. – HonkyTonk

+0

merci, j'ai la solution pour vectorDir! Mais je travaille encore sur le vectorUp:/ – Hennaldo

+1

Oui, la question est en effet un peu vague et incomplète mais on peut y répondre (je l'ai fait). Clôture de la question suffit, il n'y a absolument pas besoin de la downvote. – Ali

Répondre

0

Je convertirais les angles d'Euler (lacet, tangage et roulis) en une matrice de rotation M. Suivez this answer par exemple.

Il n'est pas 100% clair ce dont vous avez besoin, mais c'est l'un des suivants.

Vous obtenez vectorDir en multipliant le vecteur de colonne x=[1,0,0] par M ou par sa transposition.

Vous obtenez vectorUp en multipliant le vecteur colonne z=[0,0,1] par M ou par sa transposition.

Remarque. angles d'Euler sont mauvais, ils bousiller la stabilité de votre application, voir par exemple

Ils sont not useful for interpolation soit.

Questions connexes