Je convertis une matrice (M) en un quaternion afin que je puisse par exemple. lerp entre deux matrices de transformation différentes faisant une animation fluide d'une image où j'ai besoin de faire les images vidéo moi-même.Matrice à quaternion et retour ne donne pas le même résultat
Lorsque je convertis à nouveau du quaternion à une matrice comme test, cette nouvelle matrice est très loin d'être la même que celle qui est devenue le quat. Est-ce que je ne comprends pas ce que peut réellement représenter un quaternion ou le code est-il faux? Si cela ne fonctionne pas, d'autres suggestions sur la façon de se déplacer facilement entre deux matrices de transformation sont appréciées.
Python 3.6
Sortie de la console est la suivante:
TEST: M original [[ 7.57403109e-01 -1.86744161e-01 1.45541734e+02] [ -1.54492906e-01 6.26185286e-01 1.00878814e+02] [ -2.94826495e-04 -3.44726091e-04 1.00000000e+00]] TEST: quat back to mat (testM) [[ 0.38627453 -0.42005089 0.8211877 ] [-0.54462197 0.61466344 0.57059247] [-0.74443193 -0.6676422 0.00865989]] Why not the same quat [ 0.70880143 -0.43673539 0.55220671 -0.04393723] quat of testM [ 0.70880143 -0.43673539 0.55220671 -0.04393723] M Scaled [[ 5.20402697e-03 -1.28309699e-03 1.00000000e+00] [ -1.06150244e-03 4.30244486e-03 6.93126372e-01] [ -2.02571789e-06 -2.36857210e-06 6.87088145e-03]] Quat of scaled [[ 0.38627453 -0.42005089 0.8211877 ] [-0.54462197 0.61466344 0.57059247] [-0.74443193 -0.6676422 0.00865989]]
Je pense qu'il existe plusieurs transformations matricielles qui peuvent être vraies pour un seul quaternion. – visibleman