Matrice de rotation - Définition et Explications

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

Matrices de rotation aléatoires

Il est parfois nécessaire de construire une matrice de rotation aléatoire (avec une distribution uniforme). Intuitivement, il semble clair en dimension 2 que cela implique que l'angle de rotation soit uniformément distribué entre 0 et 2π. Cette intuition est correcte, mais ne s'étend pas aux dimensions supérieures. Ainsi, si nous considérons les matrices de rotation 3×3 sous la forme axe-angle, l'angle (En géométrie, la notion générale d'angle se décline en plusieurs concepts...) ne doit pas être uniformément distribué ; la probabilité (La probabilité (du latin probabilitas) est une évaluation du caractère probable d'un...) que la mesure de l'angle soit au plus θ devrait être1π(θ − sin θ), pour 0 ≤ θ ≤ π.

Comme SO(n) est un groupe de Lie (En mathématiques, un groupe de Lie est un groupe qui est continu, c'est-à-dire que chaque...) connexe et localement compact, nous avons un critère simple de distribution uniforme, à savoir que la distribution soit invariante par rotation (les "translations" du groupe) ; cette définition (Une définition est un discours qui dit ce qu'est une chose ou ce que signifie un nom. D'où la...) correspond à la mesure de Haar. Il est possible d'utiliser la transformation de Cayley pour engendrer et tester des matrice selon ce critère.

On peut également engendrer une distribution uniforme en toute dimension (Dans le sens commun, la notion de dimension renvoie à la taille ; les dimensions d'une pièce...) à l'aide de l'algorithme du sous-groupe de Diaconis et Shashani, lequel exploite récursivement la structure des groupes emboîtés de SO(n), de la manière suivante : engendrer un angle au hasard (Dans le langage ordinaire, le mot hasard est utilisé pour exprimer un manque efficient, sinon...) entre 0 et 2π et construire la matrice de rotation (En mathématiques, et plus précisément en algèbre linéaire, une matrice de...) 2×2 correspondante. Pour passer (Le genre Passer a été créé par le zoologiste français Mathurin Jacques...) de n à n+1, engendrer un vecteur (En mathématiques, un vecteur est un élément d'un espace vectoriel, ce qui permet...) v uniformément distribué sur la n-sphère (En mathématiques, et plus précisément en géométrie euclidienne, une...), Sn, prolonger la n×n matrice en ajoutant comme dernière colonne et dernière ligne (0,…,0,1), et composer par une rotation cette nouvelle matrice pour que la dernière colonne devienne v.

Comme d'habitude, des méthodes plus spécialisées existent pour le cas 3×3. Dans chaque cas, on commence par choisir trois nombres indépendants uniformément distribués entre 0 et 1. Arvo part d'une transformation de Householder et exploite la dimension (Dans le sens commun, la notion de dimension renvoie à la taille ; les dimensions d'une...) impaire pour en tirer une rotation en la multipliant par -1, puis pour déterminer l'axe d'une rotation uniformément distribuée.

Une autre méthode part de quaternions de norme (Une norme, du latin norma (« équerre, règle ») désigne un...) 1. La multiplication (La multiplication est l'une des quatre opérations de l'arithmétique élémentaire...) des matrices est homéomorphe à celle des quaternions, et multiplier par un quaternion (Un quaternion est un type de nombre hypercomplexe. L'ensemble des quaternions, noté ,...) unitaire revient à faire tourner la sphère unité. Comme cet homéomorphisme (En topologie, un homéomorphisme est un isomorphisme entre deux espaces topologiques : c'est...) est localement une isométrie (En géométrie, une isométrie est une transformation qui conserve les longueurs. Une isométrie...), on en conclut qu'on obtiendra une distribution uniforme sur SO(3) en partant d'une distribution uniforme sur S3.

Il est également possible d'utiliser les angles d'Euler, mais avec une distribution non uniforme.

Enfin, sous la forme axe-angle, l'axe doit être uniformément distribué, mais l'angle de rotation a la distribution non-uniforme notée précédemment.

Conversions

Nous avons vu l'existence de plusieurs décompositions et constructions progressives s'appliquant en toutes dimensions. Nous allons à présent nous intéresser de plus près au cas des rotations en dimension 3.

Quaternions

Réécrivons à nouveau la matrice générale de rotation 3×3 sous la forme

 Q = \begin{bmatrix}     1 - 2 y^2 - 2 z^2 & 2 x y - 2 z w & 2 x z + 2 y w \\     2 x y + 2 z w & 1 - 2 x^2 - 2 z^2 & 2 y z - 2 x w \\     2 x z - 2 y w & 2 y z + 2 x w & 1 - 2 x^2 - 2 y^2 \end{bmatrix} .

À présent, chaque composante d'un quaternion apparaît (doublée) dans un terme de degré (Le mot degré a plusieurs significations, il est notamment employé dans les domaines...) 2, et si tous ces termes sont nuls, nous obtenons une matrice identité (En algèbre linéaire, la matrice unité ou matrice identité (cette dernière dénomination étant...). Ceci permet une conversion efficace et robuste d'un quaternion quelconque (unitaire ou non, et même nul) vers une matrice de rotation 3×3.

Puisqu'il n'est plus nécessaire que les quaternions utilisés soient unitaires, nous pouvons utiliser les quaternions non nuls comme des coordonnées homogènes (En mathématique, les coordonnées homogènes, introduites par August Ferdinand...) pour les matrices de rotation 3×3. La transformation de Cayley discutée plus haut est obtenue en divisant le quaternion par sa composante en w. Pour une rotation de 180° autour (Autour est le nom que la nomenclature aviaire en langue française (mise à jour) donne...) d'un axe, w sera nul, ce qui explique la limitation de Cayley.

La somme des termes de la diagonale principale (En algèbre linéaire, la diagonale principale d'une matrice est la diagonale qui descend du coin...) (la trace), vaut 3−4(x2+y2+z2), c'est-à-dire 2w2+2w2-1. On voit que les termes de la diagonale (On appelle diagonale d'un polygone tout segment reliant deux sommets non consécutifs (non...) ont tous la même forme : 2x2+2w2−1, 2y2+2w2−1, et 2z2+2w2−1.

La diagonale de la matrice permet ainsi de comparer les valeurs absolues des quatre composantes du quaternion ; nous pouvons en fait les obtenir en n'utilisant que des sommes et des racines carrées, et déterminer les signes à l'aide des coefficients (antisymétriques) hors de la diagonale.

Décomposition (En biologie, la décomposition est le processus par lequel des corps organisés, qu'ils...) polaire

Si M, une matrice n×n, est régulière, ses colonnes forment une base, que le procédé d'orthogonalisation de Schmidt permet de transformer en une base orthonormale (Soit En un espace vectoriel euclidien de dimension n, où n est un entier naturel non nul, et , une...). En termes d'algèbre linéaire (L’algèbre linéaire est la branche des mathématiques qui s'intéresse...) numérique (Une information numérique (en anglais « digital ») est une information...), nous transformons M en une matrice orthogonale (Une matrice carrée A (n lignes, n colonnes) à coefficients réels est dite orthogonale si elle...) Q, à l'aide de la décomposition QR (En algèbre linéaire, la décomposition QR (appelée aussi, décomposition QU) d'une matrice A est...). Cependant, on préfèrerait souvent obtenir la matrice Q « la plus proche » de M, ce que cette méthode échoue à faire ; l'outil (Un outil est un objet finalisé utilisé par un être vivant dans le but d'augmenter son...) approprié pour cela est la décomposition polaire.

Pour mesurer la proximité des matrices, nous pouvons utiliser n'importe quelle norme invariante par transformations orthogonales. Un choix approprié est celui de la norme de Frobenius, ||QM||F, la racine carrée de la somme des carrés des différences des termes de Q et de M. Exprimé en termes de la trace, Tr, notre but est de

  • Trouver Q minimisant Tr( (QM)t(QM) ),sous la contrainte QtQ = I.

Bien qu'écrite en termes matriciels, la fonction d'optimisation est simplement un polynôme (Un polynôme, en mathématiques, est la combinaison linéaire des produits de...) quadratique. Nous pouvons le minimiser simplement en cherchant où sa dérivée (La dérivée d'une fonction est le moyen de déterminer combien cette fonction varie quand la...) s'annule. Pour une matrice 3×3, la condition d'orthogonalité (En mathématiques, l'orthogonalité est un concept d'algèbre linéaire...) entraîne six égalités (scalaires) que doivent satisfaire les coefficients de Q. Pour y ajouter les contraintes, on peut employer la méthode standard des multiplicateurs de Lagrange, formant (Dans l'intonation, les changements de fréquence fondamentale sont perçus comme des variations de...) ici une matrice symétrique Y. Ainsi, notre méthode consiste à :

  • Dériver Tr( (QM)t(QM) + (QtQI)Y ) par rapport aux termes de Q, et chercher où ces dérivées partielles s'annulent.

Axe et angle de rotation

Pour construire efficacement une matrice de rotation à partir d'un angle θ et d'un vecteur axial unitaire u, nous pouvons utiliser les symétries (et antisymétries) entre les termes :

      c = cos(θ); s = sin(θ); C = 1-c      xs = x*s;   ys = y*s;   zs = z*s      xC = x*C;   yC = y*C;   zC = z*C      xyC = x*yC; yzC = y*zC; zxC = z*xC      [ x*xC+c   xyC-zs   zxC+ys ]      [ xyC+zs   y*yC+c   yzC-xs ]      [ zxC-ys   yzC+xs   z*zC+c ]      

Déterminer un axe et un angle, comme déterminer un quaternion, n'est possible qu'au signe près ; en effet, (u,θ) et (−u,−θ) correspondent à la même matrice de rotation, tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou...) comme q et −q. Mais cette détermination présente des difficultés supplémentaires : l'angle peut être restreint à l'intervalle entre 0° et 180°, mais les angles ne sont définis qu'à 360° près. De plus, quand l'angle est nul, l'axe n'est pas défini; quand l'angle est 180°, la matrice devient symétrique, ce qui rend difficile la détermination de l'axe. Ainsi, près des multiples de 180°, il faut prêter beaucoup d'attention aux incertitudes numériques : en déterminant l'angle, une fonction arctangente à deux variables (avec atan2(sin θ,cos θ) égal à θ) est nécessaire pour éviter l'insensibilité de arccos ; de même, en calculant la norme d'un vecteur de l'axe (pour construire un vecteur unitaire) une approche en force (Le mot force peut désigner un pouvoir mécanique sur les choses, et aussi, métaphoriquement, un...) brute peut perdre trop de précision. On peut souvent utiliser

      x = Qzy-Qyz      y = Qxz-Qzx      z = Qyx-Qxy      r = hypot(x,hypot(y,z))      t = Qxx+Qyy+Qzz      θ = atan2(r,t−1)      

Les composants x, y, et z de l'axe doivent ensuite être divisés par r. Comme pour la représentation par quaternions, des formules différentes doivent être utilisées quand t est négatif ; enfin, quand r est nul (parce que l'angle est nul), un axe doit être fourni (Les Foúrnoi Korséon (Grec: Φούρνοι...) arbitrairement.

Angles d'Euler

La complexité (La complexité est une notion utilisée en philosophie, épistémologie (par...) de la conversion est plus grande dans le cas des angles d'Euler (ici envisagés dans le sens (SENS (Strategies for Engineered Negligible Senescence) est un projet scientifique qui a pour but...) le plus général). La première difficulté est de déterminer quel ordre d'axes cartésiens utiliser (parmi les 24 possibles). Supposons que les trois angles soient θ1, θ2, θ3 ; les physiciens et les chimistes peuvent les interpréter comme

 Q(\theta_1,\theta_2,\theta_3)=  Q_{\bold{z}}(\theta_1) Q_{\bold{y}}(\theta_2) Q_{\bold{z}}(\theta_3) , \,\!

alors que les aérodynamiciens utiliseront

 Q(\theta_1,\theta_2,\theta_3)=  Q_{\bold{z}}(\theta_3) Q_{\bold{y}}(\theta_2) Q_{\bold{x}}(\theta_1) . \,\!

Une approche systématique (En sciences de la vie et en histoire naturelle, la systématique est la science qui a pour...) commence par choisir l'axe le plus à droite. Parmi toutes les permutations de (x,y,z), deux seulement placent cet axe en premier ; l'une est paire (On dit qu'un ensemble E est une paire lorsqu'il est formé de deux éléments distincts...) et l'autre impaire. Le choix de la parité permet ainsi de déterminer l'axe du milieu, laissant deux choix pour l'axe le plus à gauche, répétant ou non le premier choix. Ceci donne 3×2×2 = 12 variations ; choisissant des axes fixes ou mobiles, on aboutit à 24 possibilités.

Cela suffit à construire une matrice à partir des angles, mais de nombreux triplets différents peuvent donner la même matrice. Ainsi, si nous utilisons la convention zyz choisie plus haut, nous avons les paires équivalentes suivantes :

(90°, 45°, −105°) (−270°, −315°, 255°) multiples de 360°
(72°, 0°, 0°) (40°, 0°, 32°) alignement singulier
(45°, 60°, −30°) (−135°, −60°, 150°) bascule bistable

Le problème de l'alignement singulier, l'analogue mathématique du phénomène physique (La physique (du grec φυσις, la nature) est étymologiquement la...) de blocage de cardan (gimbal lock) se produit lorsque la rotation intermédiaire aligne les axes des deux autres rotations. Ces singularités ne sont pas caractéristiques de la matrice de rotation elle-même, et ne se produisent que lors de l'utilisation des angles d'Euler.

Pour les éviter, il faut manipuler la matrice en tant que famille de vecteurs-colonnes (ou lignes) orthonormale (appelés souvent, dans les applications 3D, vecteurs "droit", "haut" et "extérieur"); elles ne se produisent également pas lorsqu'on utilise les quaternions.

Page générée en 0.258 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
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique