2012-09-15 1 views
1

J'ai un quaternion qui contient la rotation d'un objet. Pendant le cadre, je le modifie et j'obtiens un nouveau quaternion. Je peux calculer un quaternion qui passe de 'frame précédent' à 'frame actuel'.Obtention du quaternion d'impulsion à partir de deux quaternions et d'un pas de temps

Je ne peux pas comprendre, cependant, comment «diviser par ce quaternion pour obtenir la rotation par seconde dont j'ai besoin. Par exemple, sur la base du pas de temps, j'ai besoin de savoir à quoi ressemblerait le quaternion s'il avait été appliqué sur lui-même X fois (ce qui signifie 28,5 fois à 28,5 fps, etc.).

Est-ce que quelqu'un sait comment faire cela? Ou me conseilleriez-vous de faire quelque chose de semblable à convertir en Euler, en multipliant, puis en reconvertissant?

Répondre

1

Puisque la combinaison de rotations équivaut à une multiplication de quaternions, répéter une rotation X fois équivaut à une exponentiation: pow(q,X)=pow(q,1/t) ou exp(ln(q)*X)=exp(ln(q)/t). Voir comment calculer ces here.

+0

Très utile en effet et très élégant. Je vous remercie! –

Questions connexes