Après quelques recherches, pour l'instant, je comprends scipy
a droite de l'axe du système de coordonnées, et de la main gauche de rotation.
Par exemple
from scipy.spatial.transform import Rotation as R
np.array([0,1,0]) @ R.from_euler("XYZ", [0,0,30], degrees=True).as_matrix() # should be [0.5,sqrt(3)/2,0]
Mais je n'arrive pas à comprendre la différence entre extrinsic
et intrinsic
de rotation.
Pour ma compréhension.
extrinsic
doivent utiliser un axe fixe, et intrinsic
devrait utiliser rotatif de l'axe.
Donc, si je comprends bien.
Ici, "XYZ" signifie intrinsic rotation
vous pouvez le trouver à la doc officielle
# should be [-0.5,sqrt(3)/2,-1]
# But it is [0.5,sqrt(3)/2,-1], seems like the `extrinsic rotation`
np.array([0,1,1]) @ R.from_euler("YZX", [180,30,0], degrees=True).as_matrix()
# should be [0.5,sqrt(3)/2,-1]
# But it is [-0.5,sqrt(3)/2,-1], seems like the `intrinsic rotation`
np.array([0,1,1]) @ R.from_euler("yzx", [180,30,0], degrees=True).as_matrix()
Suis-je mal comprendre cela?