En mathématiques, et plus précisément en algèbre linéaire, une matrice de rotation Q est une matrice orthogonale de déterminant 1, ce qui peut s'exprimer par les équations suivantes : QtQ = I = QQt et det Q = 1, où Qt est la matrice transposée de Q, et I est la matrice identité.

Ces matrices sont exactement celles qui, dans un espace euclidien, représentent les isométries (vectorielles) directes. Ces dernières sont aussi appelées rotations vectorielles (d'où le nom de « matrice de rotation »), parce qu'en dimension 2 et 3, elles correspondent respectivement aux rotations affines planes autour de l'origine et aux rotations affines dans l'espace autour d'un axe passant par l'origine.

En dimension 3, ces matrices sont utilisées intensivement pour les calculs de géométrie, de physique et en infographie.

L'ensemble de toutes les matrices de rotation de taille fixée forme un groupe appelé groupe des rotations ou groupe spécial orthogonal. C'est un sous-groupe du groupe orthogonal.

Définition et propriétés générales Une propriété caractéristique des rotations du plan ou de l'espace est de conserver le caractère orthonormé direct des repères. Traduisant cela dans le langage des matrices, on démontre que la matrice d'une application linéaire qui conserve les angles et les distances (une isométrie vectorielle) doit être orthogonale, c'est-à-dire que son inverse est égale à sa transposée : . De plus, la conservation de l'orientation se traduit par la formule . Les matrices vérifiant ces propriétés sont appelées matrices de rotation.

Le produit de deux matrices de rotation est une matrice de rotation :

Pour n plus grand que 2, la multiplication de matrices de rotation n×n n'est pas commutative.

Remarquant que toute matrice identité est une matrice de rotation, et que la multiplication des matrices est associative, on peut résumer ces propriétés en disant que les matrices de rotation n×n forment un groupe, qui pour n > 2 est non abélien. Appelé le groupe spécial orthogonal, et noté SO(n), SO(n, R), SOn, ou SOn(R), ce groupe est isomorphe au groupe des rotations d'un espace à n dimensions, ce qui veut dire que la multiplication des matrices de rotation correspond à la composition des rotations, appliquée dans le même ordre (de la gauche vers la droite) que celui des matrices correspondantes.

Rotations en deux et trois dimensions

Dans toute cette section, on considère que les matrices agissent sur des vecteurs colonne.

Un point A du plan est de coordonnées dans le repère orthonormé de sens direct.

En deux dimensions thumb|upright=2| Calcul de la rotation d'angle du vecteur à l'aide de la matrice de rotation : |263x263pxEn deux dimensions, les matrices de rotation ont la forme suivante : rotation d'angle θ du vecteur OA

Cette matrice permet de calculer les coordonnées du point A' dans le repère inchangé, après que le vecteur OA a tourné d'un angle θ dans le sens trigonométrique. rotation d'angle θ du repère

Cette matrice permet de calculer les coordonnées du point A dans le nouveau repère , après rotation du repère initial d'un angle θ dans le sens trigonométrique. On remarquera que cette matrice est la matrice transposée de la matrice précédente, en effet si l'on fait tourner d'un même angle d'une part le vecteur et d'autre part le repère, c'est-à-dire que rien n'a changé, est traduit par le fait que le produit des deux matrices est la matrice unité.

En trois dimensions Les matrices de base

Dans un espace euclidien à 3 dimensions, les matrices de rotations suivantes correspondent à des rotations du vecteur OA, d'un angle θ, autour des axes x, y et z (respectivement) :

Cette écriture fait immédiatement apparaitre que lors d'une rotation d'axe reste inchangé, que lors d'une rotation d'axe reste inchangé et que lors d'une rotation d'axe reste inchangé.

Les matrices transposées de ces matrices permettent d'établir les coordonnées du point A après rotation du repère d'un angle θ, soit :

Les rotations du repère opèrent ainsi : Rx tourne l'axe y vers l'axe z, Ry tourne l'axe z vers l'axe x et Rz tourne l'axe x vers l'axe y. Voir aussi la section #Dimensions emboîtées.

Dans un espace orienté

Si l'on oriente l'espace en trois dimensions avec les conventions habituelles (x vers l'observateur, y vers la droite et z vers le haut), ces rotations se font dans le sens contraire aux aiguilles d'une montre lorsque le troisième axe (celui qui ne subit pas la rotation) est dirigé vers l'observateur. En pratique, pour déterminer le sens de rotation, on peut utiliser la règle de la main droite.

Composition de rotations élémentaires

Toute rotation peut être décomposée en rotations élémentaires autour de chacun des axes d'un repère orthonormé arbitrairement défini. La matrice de rotation d'une rotation composée s'obtient par la multiplication des matrices de rotation élémentaires qui composent la rotation composée. Il est important de noter que ces multiplications ne sont pas commutatives, c'est-à-dire que, dans le cas général,

En dynamique du véhicule par exemple, le produit

représente une rotation dont le lacet, le tangage et le roulis (également appelé angles de Cardan) sont respectivement α, β et γ, dans l'ordre suivant et selon les axes suivants : Rotation d'angle α autour de l'axe Z0, Rotation d'angle β autour de l'axe Y1 (Y après la rotation d'angle α), Rotation d'angle γ autour de l'axe X2, (X après rotations d'angle α et β)

De la même façon, le produit

représente une rotation dont les angles d'Euler sont α, β et γ (en utilisant la convention z-x-z pour les angles d'Euler).

Axe de rotation

Les matrices de rotations en trois dimensions ont un axe, c'est-à-dire une coordonnée (direction) laissée inchangée par la rotation.

thumb|Une rotation R autour d'un axe dirigé par peut être décomposée à l'aide de 3 endomorphismes P, (I – P) et Q (cliquer sur l'image pour l'agrandir).

Axe à partir d'une matrice de rotation

Étant donné une matrice de rotation R, on peut trouver une matrice colonne u représentant le vecteur dirigeant l'axe en résolvant l'équation :

(correspondant à la recherche d’un vecteur propre de la matrice)

Matrice de rotation à partir d'un axe et d'un angle

On peut calculer la matrice R de rotation autour d'un axe dirigé par un vecteur unitaire (donc avec u + u + u = 1) et d'un angle θ. La formule est :

où

Si l'espace en 3 dimensions est orienté de façon conventionnelle, cette rotation se fera dans le sens inverse aux aiguilles d'une montre pour un observateur placé de telle sorte que le vecteur directeur pointe dans sa direction (règle de la main droite).

Forme simplifiée de la formule axe-angle

Cette formule peut être simplifiée en

où

I est la matrice identité 3 × 3. La matrice Q est la représentation antisymétrique de , correspondant à l'application linéaire (où est le produit vectoriel). La matrice est la projection sur l'axe de rotation et est la projection sur le plan orthogonal à l'axe dirigé par .

En dimension supérieure

Ce qui précède peut être généralisé à une dimension n quelconque. L' « axe » de la rotation sera un sous-espace vectoriel de dimension n–2 dont tous les vecteurs sont fixes par la rotation, et pour un tel sous-espace A, les rotations d' « axe » commun A correspondent aux rotations du plan orthogonal à cet axe (et se composent de la même manière).

Mais en dimension supérieure à 3, le fait nouveau est qu'une rotation n'est pas nécessairement de cette forme (i.e. le sous-espace de ses vecteurs fixes peut très bien être de dimension strictement inférieure à n–2) : c'est seulement un produit de rotations de cette forme (cf exemples ci-dessous).

Exemples

Ambiguïtés de la représentation matricielle thumb|350px|right|Alias et alibi pour les rotations L'interprétation d'une matrice de rotation peut donner naissance à plusieurs ambiguïtés :

Changement de repère ou déplacement La modification des coordonnées d'un vecteur peut correspondre à une rotation de ce vecteur (alibi), ou à une rotation du repère (alias). Repère direct ou inverse La matrice peut représenter la rotation dans un repère orienté positivement ou négativement. Référentiel fixe ou mobile Les axes de coordonnées peuvent être fixés ou tourner avec un solide. Vecteurs ou formes linéaires L'espace vectoriel admet un espace dual constitué des formes linéaires sur cet espace, et la matrice peut agir sur les vecteurs ou sur les formes.

Dans la plupart des cas, l'autre interprétation correspondrait à la matrice transposée (donc inverse).

Décompositions Plans indépendants On considère la matrice de rotation 3×3

Si, dans une certaine direction v, Q agit comme une multiplication par un facteur λ (autrement dit si v est un vecteur propre, de valeur propre associée λ), on a alors

donc

Ainsi λ est une racine du polynôme caractéristique de Q,

On remarquera deux propriétés importantes. D'une part, l'une des racines est 1, ce qui dit qu'une certaine direction est laissée fixe par la matrice. Pour les rotations en trois dimensions, c'est laxe de la rotation (un concept qui se généralise uniquement aux dimensions impaires). D'autre part, les deux autres racines sont complexes conjuguées, de produit 1 (le terme constant du polynôme du second degré), et dont la somme est 2 cos θ (l'opposé du terme de degré 1). Le même phénomène se produit pour toutes les matrices de rotation 3 × 3 (avec deux cas particuliers : pour une rotation nulle les "valeurs complexes conjuguées" valent en fait toutes deux 1, et pour une rotation de 180°, toutes deux valent −1). En fait, une factorisation analogue existe pour n'importe quelle matrice de rotation n×n. Si la dimension, n, est impaire, il y aura une valeur propre supplémentaire valant 1, et en toute dimension le reste du polynôme se factorisera en termes du second degré comme celui vu précédemment (avec les deux cas particuliers déjà mentionnés). Le polynôme caractéristique sera toujours de degré n ; il y aura donc n valeurs propres ; et comme une matrice de rotation commute toujours avec sa transposée, c'est une matrice normale, et elle peut donc être diagonalisée. En conclusion, toute matrice de rotation, exprimée dans une base convenable, se décompose en rotations indépendantes de sous-espaces de dimension 2 (des plans vectoriels); au plus d'entre eux.

La somme des termes de la diagonale principale d'une matrice est appelée sa trace ; elle ne dépend pas de la base, et vaut toujours la somme des valeurs propres. Cela a l'intéressante conséquence pratique de donner directement l'angle de rotation θ (dans un (sous)-espace de dimension 2) pour les matrices de rotation 2×2 et 3×3 : pour une matrice 2×2 la trace est 2 cos(θ) (ce qui est en fait évident, comme on va le voir), et pour une matrice 3 × 3, elle vaut 1 + 2 cos(θ). En dimension 3, le sous-espace est formé des vecteurs orthogonaux à l'axe de rotation (la direction propre de valeur propre 1). Ainsi, à partir de n'importe quelle matrice de rotation 3 × 3, on peut déterminer un axe et un angle, et ceux-ci déterminent complètement la rotation (à l'orientation près).

Suites d'angles

Une matrice de rotation 2×2 a nécessairement la forme suivante :

avec a2+b2 = 1. On peut donc poser a = cos θ et b = sin θ, pour un certain angle θ. Pour déterminer θ, il ne suffit pas de connaître a ou b seulement ; il faut utiliser les deux nombres pour obtenir le quadrant correct, à l'aide d'une fonction arctangente à deux variables (notée atan2 dans beaucoup de langages de programmation).

On considère à présent la première colonne d'une matrice de rotation 3×3,

Bien que a2+b2 ne soit pas en général égal à 1, mais à une certaine valeur r2 ≤ 1, on peut utiliser une variante du calcul précédent pour obtenir ce qu'on appelle une « rotation de Givens », transformant la colonne en