J'ai essayé de nombreuses formules et conversions, mais rien ne m'a donné le résultat attendu.Ajout de la rotation locale à la rotation globale
Le scénario est très simple:
Comment la 3DS Max et autres logiciels 3D font la « transformation » d'un incrément en rotation locale à la rotation globale absolue? Un exemple peut vous aider à comprendre: 3DS Max - Maya - Modo (tous les trois m'ont donné le même résultat, donc je suis porté à croire que ce résultat est correct.) En supposant que l'ordre de rotation absolu est XYZ.
1. World Rotation Y = 35.0;
2. Local Rotation X = 35.0;
Après ces transformations, dans cet ordre, je regarde la rotation du monde absolu et ce que je vois est X:40.524 Y:-28.024 Z:-21.881
Comment ils arriver à ce résultat? Quel genre de formule? En utilisant la matrice, les angles d'Euler ou les quaternions, peu importe, comment puis-je obtenir le même résultat?
Merci. PS: Une solution simple pourrait être l'utilisation d'un quaternion ou d'une matrice, ajouter la rotation locale dans le global et ensuite récupérer le résultat absolu. Mais cela ne fonctionne pas bien, parce que de cette façon nous n'avons pas de contrôle sur l'ordre de rotation, le résultat vient toujours en utilisant l'ordre de la formule pour récupérer les valeurs.
Votre post scriptum n'a pas beaucoup de sens. A partir des angles d'Euler, vous pouvez construire (ET déconstruire) une matrice de rotation en utilisant n'importe quel ordre de rotation que vous aimez. C'est beaucoup plus clair pour vos utilisateurs si vous respectez un seul ordre de rotation. –