Modes de rotation

Blender vous permet de définir les rotations de plusieurs manières. Chacune présentant une série d’avantages et d’inconvénients ; il n’y a pas de meilleur mode de rotation, car chacun convient à des cas spécifiques.

Dans tous ces modes, des valeurs d’angle positives signifient un sens de rotation anti-horaire, tandis que des valeurs négatives définissent une rotation dans le sens horaire.

Bien que vous puissiez faire pivoter des éléments à l’aide des orientations de transformation globale ou locale, ces axes ne conviennent pas pour définir des rotations, car l’effet de chacun d’eux ne peut pas être isolé des deux autres.

Prenez, par exemple, trois valeurs quelconques pour la rotation X, Y et Z. Effectuez chacune de ces opérations en utilisant des axes globaux ou locaux. Selon l’ordre dans lequel vous effectuez ces derniers, vous vous retrouverez avec des orientations finales différentes. Des systèmes de coordonnées de rotation appropriés sont donc nécessaires.

Modes d’Euler

Le système d’axes utilisé pour effectuer les rotations d’Euler est appelé gimbal Euler. Un cardan (gimbal) est un ensemble particulier de 3 axes. Sa particularité est que les axes ont une relation hiérarchique entre eux : l’un des axes est en haut de la hiérarchie et a l’un des deux autres axes comme son enfant immédiat ; en même temps, cet axe enfant est le parent de l’axe restant, celui tout en bas de la hiérarchie.

Quel axe est au sommet de la hiérarchie, lequel est au milieu et lequel est en bas dépend du cardan d’Euler spécifique. Il en existe six 6 types, car il y a six combinaisons possibles de modes de rotation d’Euler : XYZ, XZY, YXZ, YZX, ZXY et ZYX. Ces modes sont nommés en utilisant les lettres des axes dans l’ordre, en commençant par l’axe en bas de la hiérarchie et en terminant par celui du haut.

Le problème principal de ces systèmes survient lorsqu’ils perdent leur perpendicularité relative. Et cela se produit lorsque l’axe du milieu tourne, ce qui entraîne la rotation de l’axe du bas avec lui. Cela ne cesse de s’aggraver lorsque cet axe inférieur s’approche de 90° (ou angles équivalents). Dans ce cas, il restera aligné avec l’axe au sommet de la hiérarchie. À ce moment nous venons juste de perdre un axe de rotation. Cela peut provoquer des interpolations discontinues lors de l’animation. Cette perte d’axe particulière est connue sous le nom de “blocage de cardan” (gimbal lock).

Indication

La configuration réelle des axes du cardan (gimbal) peut être vue dans la Vue 3D en activant le gizmo Rotation de l’objet et en le définissant sur Gimbal (à partir du bouton des gizmos dans l’en-tête). Dans le même temps, le mode de rotation doit être défini sur l’un des modes Euler de l’objet actif.

Vous pouvez maintenant effectuer une rotation autour de l’axe au milieu (par exemple en mode XYZ Euler, c’est l’axe Y), et voir à quel point il est facile de finir par avoir un cardan avec seulement deux axes. Dans le cas spécifique du mode XYZ Euler avec verrouillage du cardan, une rotation autour de l’axe X aura le même effet qu’une rotation autour de l’axe Z, ce qui signifie, en pratique, qu’aucune rotation de l’axe X ne peut être effectuée.

L’un des avantages de ce mode est que les courbes d’animation sont faciles à comprendre et à modifier. Cependant, une attention particulière doit être portée lorsque l’axe médian s’approche de valeurs proches de 90° (ou angles équivalents).

Mode Angle d’axe

Ce mode nous permet de définir un axe (X, Y, Z) et un angle de rotation (W) autour de cet axe.

Si nous définissons la rotation à l’aide de rotations interactives (avec le gizmo de rotation), les valeurs de X, Y et Z ne dépasseront pas 1.0 en valeur absolue, et W sera compris entre 0 et 180 degrés.

Si vous souhaitez définir des rotations de plus de 180° (par exemple pour définir plusieurs révolutions), vous devrez éditer directement la valeur W, mais dès que vous effectuez une rotation interactive, cette valeur sera à nouveau ajustée. Il en va de même pour les valeurs des axes.

Ce système convient aux éléments tournant autour d’un axe fixe, ou pour animer l’un des éléments à la fois (soit l’axe, soit l’angle). Le problème peut survenir lors de l’animation (interpolation) des deux composants en même temps : axe et angle. L’effet résultant peut ne pas correspondre à ce qui était prévu.

Le gizmo Gimbal dans ce mode de rotation montre un ensemble de trois axes orthogonaux dans lesquels l’axe Z suit l’axe de rotation défini, c’est-à-dire qu’il pointe vers la direction définie par le point (X, Y, Z).

Le système d’angle d’axe est exempt de verrouillage du cardan, mais les courbes d’animation dans ce mode ne sont pas du tout intuitives lors de l’animation de l’axe et de l’angle en même temps, auquel cas elles sont difficiles à comprendre et à modifier.

Mode quaternion

Dans ce mode, les rotations sont également définies par quatre valeurs (X, Y, Z et W). X, Y et Z définissent également un axe et W un angle, mais il le fait très différemment de l’axe-angle. L’important ici est la relation entre les quatre valeurs.

Pour le décrire de manière intuitive, prenons l’effet de la coordonnée X : il fait pivoter l’élément autour de l’axe X jusqu’à 180 degrés. Il en va de même pour Y et Z. L’effet de W est d’éviter ces rotations et de laisser l’élément sans rotation. L’orientation finale est une combinaison de ces quatre effets.

Comme la relation entre les composants est ce qui définit l’orientation finale, la multiplication ou la division des quatre nombres par une valeur constante donnera la même rotation.

Ce mode est idéal pour interpoler entre n’importe quelle paire d’orientations. Il ne souffre pas de blocage de cardan ni d’effet d’interpolation indésirable. Le seul inconvénient est que vous ne pouvez pas interpoler entre deux orientations qui sont à une distance supérieure à 180°, car l’animation empruntera le chemin le plus court entre elles. Ainsi, pour animer un élément tournant, vous devez configurer de nombreuses images clés intermédiaires, au maximum à 180° les unes des autres.

Le gizmo Gimbal dans ce mode est équivalent au gizmo Local et n’a aucune signification particulière.

Les courbes d’animation de ce mode ne sont pas intuitives, elles sont donc également difficiles à comprendre et à modifier.

En savoir plus sur les quaternions

Cette section n’est pas vraiment utile pour les artistes 3D, mais elle peut intéresser les curieux ou les scientifiques.

Les quaternions sont un système de nombres étendant les nombres complexes. Ils représentent un vecteur à quatre composants, dont les composants sont appelés, dans Blender, X, Y, Z et W. Lors d’une rotation interactive en mode quaternion, la soi-disant norme (longueur) du quaternion restera constante. Par définition, la norme d’un quaternion est égale à 1,0 (c’est un quaternion normalisé). Lorsque vous sélectionnez le mode quaternion dans Blender, les composants XYZW décrivent un quaternion normalisé.

Note

La norme d’un quaternion q est définie mathématiquement comme :

\[\lvert q \rvert = \sqrt{X^2 + Y^2 + Z^2 + W^2}\]

Cependant, si l’un des composants du quaternion est verrouillé pendant la transformation interactive à l’aide du bouton de verrouillage approprié, la norme ne restera pas inchangée, car ce composant bloqué ne pourra pas s’ajuster pour conserver la norme d’unité.

Indication

Les rotations interactives avec le gizmo ne changent pas la norme du quaternion actuel. En éditant un seul composant XYZW individuellement, vous pouvez changer la norme. Pour rétablir la norme à 1,0, vous pouvez passer à n’importe quel mode de rotation et revenir en quaternion.

Les composantes de rotation d’un quaternion gardent une relation étroite avec celles d’axe-angle. Pour trouver une correspondance, il faut tout d’abordtraiter la version normalisée du quaternion, c’est-à-dire dont la norme vaut 1.0. Pour normaliser un quaternion, divisez simplement chacun de ses composants par sa norme. Comme nous l’avons vu précédemment, diviser les quatre valeurs par le même nombre donne la même orientation.

Une fois que nous avons calculé les composantes du quaternion normalisé, la relation avec les composantes axe-angle est la suivante :

  • X, Y et Z signifient exactement la même chose que dans axe-angle : ils définissent simplement un axe autour duquel la rotation a lieu.

  • W peut être utilisé pour récupérer la rotation réelle autour de l’angle défini. La formule suivante s’applique (à condition que le quaternion soit normalisé) : \(W = \cos(\frac{a}{2})\), où a est en fait l’angle de rotation recherché. Soit : \(a = 2 \arccos{W}\).

Autres considérations

Dans les modes axe-angle et quaternion, nous pouvons verrouiller les rotations dans les modes interactifs par composant, au lieu de le faire par axe. Pour ce faire, nous pouvons activer cette capacité de verrouillage à l’aide des boutons de verrouillage à côté des boutons de transformation Rotation correspondants.

En ce qui concerne les rotations d’animations, toutes les images clés doivent être définies dans le même mode de rotation, qui doit être le mode de rotation sélectionné pour l’objet tout au long de l’animation.