Tout d'abord, j'ai fait beaucoup de recherches sur googling et d'autres posts sur stackoverflow, mais je ne peux pas obtenir de réponse ou de code de travail. Les maths ne sont pas ma force. Je dois avoir une routine qui prend un point de caméra (CX, CY, CZ) et le faire pivoter autour d'un point de recherche (LX, LY, LZ) de trois angles de rotation (RX, RY, RZ). En utilisant des rotations euler conduit à la serrure de cardan dans certains cas que je dois éviter. J'ai donc entendu parler de l'utilisation de quaternions.Rotation du point Euler 3D à l'aide de Quaternions pour éviter le verrouillage du cardan
Je trouve cela pour convertir les rotations en un quaternion http://www.euclideanspace.com/maths/geometry/rotations/conversions/eulerToQuaternion/index.htm
et cela pour convertir d'un quaternion retour EULER rotation XYZ http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToEuler/index.htm
Ils semblent fonctionner très bien, mais je dois savoir comment utiliser le quaternion pour faire tourner le CX, CY, CZ autour de LX, LY, LZ et ensuite retourner le nouveau CX, CY, CZ sans problèmes de verrouillage du cardan.
Il ya tellement de choses à ce sujet, que je suis sûr qu'une bonne explication et un petit bout de code aideront non seulement moi, mais beaucoup d'autres dans le futur.
Alors s'il vous plaît aider si vous le pouvez. Merci beaucoup.
Merci pour les conseils. Donc, si la conversion d'euler en qualternion conduit toujours à un verrouillage de cardan, comment puis-je prendre la position de la caméra dans l'espace 3D et le faire pivoter sans problème? Si j'ai l'emplacement de la caméra XYZ et les angles de rotation? Je suppose que je ne vois pas l'image totale, mais il devrait y avoir un moyen simple de prendre une position de caméra et de la faire tourner autour des 3 axiis en même temps sans verrou cardan? Ou est-ce naïf? – TallGuy