2016-04-15 6 views
0

Ich habe begonnen, mit der euclid module for python zu experimentieren. Ich bin jetzt an dem Punkt, wo ich eine willkürliche Rotationsmatrix nehmen und sie in ihre Quaternion-Form zerlegen möchte.in Python wie zerlege ich eine Rotationsmatrix zu einer Quaternion? (vorzugsweise mit der euclid-Bibliothek)

Die Formeln sind an einigen Stellen im Internet verfügbar (wie http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToQuaternion/), aber ich hatte gehofft, dass es irgendwo in der euclid-Bibliothek eine Implementierung gibt.

Antwort

0

Ich entdeckte schließlich die folgende Technik:

q2 = euclid.Quaternion.new_rotate_matrix(m) 

, die eine Rotationsmatrix in ein Quaternion zersetzt. Möglicherweise müssen Sie sich dennoch Gedanken darüber machen, dass und -q beide die gleiche Ausrichtung aufweisen, insbesondere wenn Sie Drehungen in einer 3D-Animation Keyframing sind.