J'avoue avoir du mal à saisir la définition du Gimbal Lock de la FAQ et surtout en quoi on perdrait un degrés de liberté !Le problème de la perte d'un degré de liberté, le gmbal lock, arrive quand on utilise les angles d'Euler. Comme la matrice de rotation finale dépend de l'ordre des multiplications, il est possible que parfois, l'une des rotations autour d'un axe soit confondue avec un autre axe de rotation.
Pire encore, il est devient parfois impossible de tourner l'objet suivant un certain axe. C'est le gimbal lock !
Par exemple, supposons qu'un objet est tourné dans l'ordre Z, Y et X et que la rotation autour de Y soit de 90°.
Dans ce cas, la rotation suivant Z se fait correctement, puisque c'est la première. L'axe Y tourne également correctement. Néanmoins, après cette rotation, l'axe X et l'axe Z sont confondus.
Du coup, toutes rotation autour de l'axe X tourne l'objet suivant Z ! Pire encore, il est devenu impossible de tourner l'objet autour de l'axe X.
J'ai trouvé cet exemple en trainant sous Google :
En quoi une rotation autour de l'Axe des Z n'aura plus d'effet ? Dans mon esprit, le vecteur est effectivement parallèle à l'axe des Z mais je ne vois pas en quoi cela gène. On peut toujours tourner autour de l'axe Z dans ma teteImagines un vecteur parrallèle à l'axe des X, fais une rotation de ce vecteur autour de l'axe des Y pour qu'il devienne parrallèle à l'axe des Z. Alors une rotation autour de l'axe des Z n'a plus d'effet, tu viens de perdre un degré de liberté (plus que 2 axes de rotations qui fonctionne) : c'est le gimbal lock.Parce que si on prend depuis le début, le vecteur était parallèle à l'axe des X et ça ne nous géner en rien, alors pourquoi la en Z ça nous gène
![]()
Partager