Matrice de rotation - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

En mathématiques, et plus précisément en algèbre linéaire, une matrice de rotation est une matrice orthogonale de déterminant 1, ce qui peut s'exprimer par les équations suivantes : Q^t\ Q = I = Q\ Q^t et \det Q = 1.~

 \begin{bmatrix} \cos \theta & -\sin \theta \\[3pt] \sin \theta & \cos \theta \\ \end{bmatrix}

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.

Les matrices de rotation sont toujours carrées et elles sont définies a priori avec des coefficients réels, mais les équations ci-dessus gardent un sens sur n'importe quel corps de coefficients.

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.

Rotations en deux et trois dimensions

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

En dimension deux

En deux dimensions, les matrices de rotation ont la forme suivante :

 R(\theta) = \begin{bmatrix} \cos \theta & -\sin \theta \\[3pt] \sin \theta & \cos \theta \\ \end{bmatrix} (rotation d'angle θ)

Cette matrice fait tourner le plan d'un angle θ. Elle fait tourner l'axe x en direction de l'axe y.

Dans un plan orienté

L'effet de la matrice de rotation dans un plan orienté de façon conventionnelle
L'effet de la même matrice de rotation dans un plan orienté différemment

Si l'on a choisi la convention habituelle pour l'orientation du plan (x vers la droite et y vers le haut), cette rotation se fait dans le sens contraire aux aiguilles d'une montre. Si au contraire on a choisi l'orientation inverse (par exemple avec x vers la droite et y vers le bas), cette rotation se fait dans le sens des aiguilles d'une montre. Pour se convaincre qu'il s'agit bien de la même rotation, on n'a qu'à imaginer le plan comme une feuille de papier que l'on regarderait alternativement par au-dessus et par en dessous, par transparence.

En mathématiques et en physique, on se conforme pratiquement toujours à l'orientation usuelle. En revanche, en imagerie numérique, il est fréquent de prendre la convention opposée, qui présente l'avantage d'être compatible avec le sens d'écriture des scripts occidentaux : de gauche à droite et de haut en bas. C'est pour cela que dans de nombreux logiciels, les rotations se font dans le sens des aiguilles d'une montre.

Supposons que l'on adopte l'orientation usuelle du plan. Pour obtenir une rotation dans le sens des aiguilles d'une montre, on remplace simplement θ par –θ :

 R(\theta) = \begin{bmatrix} \cos \theta & -\sin \theta \\[3pt] \sin \theta & \cos \theta \\ \end{bmatrix} (rotation anti-horaire d'angle θ)
 R(-\theta) = \begin{bmatrix} \cos \theta & \sin \theta \\[3pt] -\sin \theta & \cos \theta \\ \end{bmatrix} (rotation horaire d'angle θ)

Rotations usuelles

Les matrices correspondant à des rotations de 90° et de 180° sont particulièrement utiles :

\begin{alignat}{1} R(90^\circ) &= \begin{bmatrix} 0 & -1 \\[3pt] 1 & 0 \\ \end{bmatrix} \end{alignat} (rotation anti-horaire de 90°)
\begin{alignat}{1} R(180^\circ) &= \begin{bmatrix} -1 & 0 \\[3pt] 0 & -1 \\ \end{bmatrix} \end{alignat} (rotation de 180°)
\begin{alignat}{1} R(270^\circ) &= \begin{bmatrix} 0 & 1 \\[3pt] -1 & 0 \\ \end{bmatrix} \end{alignat} (rotation horaire de 90°)

En dimension trois

Les matrices de base

Dans un espace euclidien à 3 dimensions, les matrices de rotations suivantes correspondent à des rotations autour des axes x, y et z (respectivement) :

R_{\bold{x}}(\theta) = \begin{bmatrix}1 & 0 & 0 \\ 0 & \cos \theta & -\sin \theta \\ 0 & \sin \theta & \cos \theta\end{bmatrix}
R_{\bold{y}}(\theta) = \begin{bmatrix}\cos \theta & 0 & \sin \theta \\ 0 & 1 & 0 \\ -\sin \theta & 0 & \cos \theta\end{bmatrix}

Les rotations 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.

Dans un espace orienté

Si l'on oriente l'espace en trois dimensions avec les conventions habituelles (x vers l'avant, 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.

Matrices de rotation dans le cas général

Les autres matrices de rotation s'obtiennent à partir des rotations de base à l'aide de la multiplication de matrices. Par exemple, le produit

R_x(\gamma) \, R_y(\beta) \, R_z(\alpha)\,\!

représente une rotation dont le lacet, le tangage et le roulis sont respectivement α, β et γ. De la même façon, le produit

R_z(\gamma) \, R_x(\beta) \, R_z(\alpha)\,\!

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 rotations en trois dimensions ont un axe, c'est-à-dire une direction laissée inchangée par la rotation.

Une rotation R autour d'un axe dirigé par \overrightarrow u 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ée une matrice de rotation R, on peut trouver une matrice colonne u représentant le vecteur dirigeant l'axe en résolvant l'équation :

R\textbf{u} = \textbf{u}

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 \overrightarrow u\begin{pmatrix}{u_x}\\u_y\\u_z\end{pmatrix} (donc avec u_x^{2} + u_y^{2} + u_z^{2} = 1 ) et d'un angle θ. La formule est :

R = \begin{bmatrix} u_x^2+(1-u_x^2)c   & u_x u_y(1-c)-u_zs & u_x u_z(1-c)+u_ys \\[3pt] u_x u_y(1-c)+u_zs & u_y^2+(1-u_y^2)c & u_y u_z(1-c)-u_xs \\[3pt] u_x u_z(1-c)-u_ys & u_y u_z(1-c)+u_xs & u_z^2+(1-u_z^2)c \end{bmatrix}

c = \cos\theta, \qquad s = \sin\theta

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 \overrightarrow u 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

R = P +(I-P)\cos \theta + Q\,\sin \theta

P = \begin{bmatrix} u_x^2   & u_x u_y & u_x u_z \\[3pt] u_x u_y & u_y^2 & u_y u_z \\[3pt] u_x u_z & u_y u_z & u_z^2 \end{bmatrix} = \textbf{u} \, \textbf{u}^t,\qquad I = \begin{bmatrix} 1 & 0 & 0 \\[3pt] 0 & 1 & 0 \\[3pt] 0 & 0 & 1 \end{bmatrix},\qquad Q = \begin{bmatrix} 0  & -u_z & u_y \\[3pt] u_z & 0 & -u_x \\[3pt] -u_y & u_x & 0 \end{bmatrix}

I est la matrice identité 3 × 3. La matrice Q est la représentation antisymétrique de \overrightarrow u . La matrice P est la projection sur l'axe de rotation et I – P est la projection sur le plan orthogonal à l'axe dirigé par \overrightarrow u .

Embûche 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 rotation 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).

Page générée en 0.522 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise