Décomposition d'une matrice orthogonale

Bonjour

J'ai une matrice orthonormale $M$ de cette forme : $$
\begin{pmatrix}
-c/s & 0 & a/s \\
a & b & c \\
x & y & z
\end{pmatrix}
$$ avec $s = \sqrt{a^2+c^2}$.
Est-il possible de décomposer $M$ en un produit de rotations axiales et de translations, et si oui comment ?

Réponses

  • Bonne Nuit
    Je suis dans le quatrième âge et je ne sais toujours pas la définition d'une matrice orthonormale!
    Peux-tu nous la rappeler?
    D'autre part tu veux composer des symétries axiales avec des translations!
    Cela s'appelle faire de la géométrie affine.
    Est-ce vraiment cette géométrie que tu as dans la tête?
    Amicalement
    [small]p[/small]appus
  • Ah non pardon, pas de translation en effet.
    Moi je ne suis pas encore dans le 4ème âge, mais j'ai arrêté les maths depuis belle lurette. Parfois il me suffit juste d'un rappel.
  • Bonjour
    Je pense que tu veux parler de matrices orthogonales, est-ce le cas?
    Une symétrie axiale est un retournement ou un demi-tour.
    Peux-tu maintenant proposer un énoncé cohérent?
    Amicalement
    [small]p[/small]appus
  • Oui, matrice orthogonale pardon. [J'ai corrigé le titre en conséquence. :-) AD]
    Je n'ai pas parlé de symétrie axiale. Je souhaite décomposer cette matrice en un produit de matrices de rotations, si c'est possible. Il me faudrait alors les axes et les angles.
    Merci gai requin, tu m'es d'une grande aide.
  • De deux choses l'une :
    - ou bien cette matrice est une matrice de rotation, et alors tu as immédiatement ce que tu cherches.
    - ou bien cette matrice n'est pas une matrice de rotation, et alors tu ne pourras jamais l'écrire comme produit de matrices de rotation (tout simplement parce qu'un produit de matrices de rotation est une matrice de rotation).

    Si tu veux des réponses pertinentes, fais l'effort de bien spécifier ton problème, et en utilisant la terminologie correcte.
  • Peut-être veux-tu la "décomposer" comme produit de 3 matrices de rotation "élémentaires" type angles d'Euler (gisement site roulis) ?
    On te demande de préciser car il y a une infinité possible de "décompositions", la plus simple étant la matrice elle-même...
  • D'accord. Non, Zig. En admettant que c'est une matrice de rotation, comment connaître l'axe et l'angle ?
    Je dirais : l'axe est invariant. Pour l'angle je calcule l'angle entre un vecteur et son image. Il y a une autre méthode ? J'ai les quaternions dans mon langage de programmation, si ça peut aider.
  • OK.
    Pour l'angle, par invariance, la trace de la matrice est égale à (1+2*cos(angle)).
    Pour l'axe, si M n'est pas symétrique, alors le vecteur associé à la matrice antisymétrique (M-tM) est directeur de l'axe de M.
    Si M est symétrique, alors choisissez un vecteur tel que y=M(x)+x ne soit pas nul, et alors y dirige l'axe de M.
  • Quand je parle de vecteur associé à la matrice antisymétrique :
    la matrice (M-tM) est de la forme :
    $\begin{array}{ccc}
    0 & -c & b\\
    c & 0 & -a\\
    -b & a & 0
    \end{array}$

    Il s'agit du vecteur de coordonnées a,b,c
  • Bonjour
    S'il veut en savoir plus, Saturne n'a qu'à jeter un coup d'oeil au fil voisin initié par Elodouwen:
    Rotations dans $\mathbb R^3$
    Amicalement
    [small]p[/small]appus
  • Paramétrisation de Cayley des matrices de rotation.

    Soit $U=\begin{pmatrix} 0 & -w & v\\ w & 0 & -u\\ -v & u & 0 \end{pmatrix}$ une matrice antisymétrique.

    Puisque $1$ n'est pas valeur propre de $U$, $I-U$ est inversible. La matrice $R=(I+U)(I-U)^{-1}$ est une matrice de rotation
    \begin{equation}R(u,v,w)=\frac{1}{\Delta}\begin{pmatrix}
    1+u^2-v^2-w^2 & 2(u\,v- w) & 2(u\,w+v) \\
    2(u\,v+w) & 1-u^2+v^2-w^2 & 2(v\,w-u) \\
    2(u\,w-v) & 2(v\,w+u) & 1-u^2-v^2+w^2
    \end{pmatrix}\;,\end{equation}
    où $\Delta=1+u^ 2+v^ 2+w^ 2$. Si le vecteur $(u, v, w)^{\mathsf T}$ n'est pas nul, il dirige l'axe de la rotation $R$. La tangente de l'angle moitié de la rotation (quand l'axe est orienté par le vecteur $(u, v, w)^{\mathsf T}$) est $\sqrt{\Delta-1}$. La paramétrisation de Cayley donne une paramétrisation rationnelle de toutes les matrices de rotation, excepté les demi-tours. Ces demi-tours s'obtiennent comme limite lorsque $u^ 2+v^ 2+w^ 2$ tend vers l'infini.

    On peut retrouver rationnellement $u,v,w$ à partir de la matrice de rotation $R(u,v,w)$. En effet
    \begin{equation}u=\frac{R_{3,2}-R_{2,3}}{1+\mathrm{tr}(R)},\
    v=\frac{R_{1,3}-R_{3,1}}{1+\mathrm{tr}(R)},\
    w=\frac{R_{2,1}-R_{1,2}}{1+\mathrm{tr}(R)}\;,\end{equation}
    où $\mathrm{tr}(R)=R_{1,1}+R_{2,2}+R_{3,3}$. Le vecteur $(u,v,w)^{\mathsf T}$ dirige et oriente l'axe de rotation, l'angle de rotation est $2\arctan\left(\sqrt{\dfrac{3-\mathrm{tr}(R)}{1+\mathrm{tr}(R)}}\right)=\arccos\left(\dfrac12(\mathrm{tr}(R)-1)\right)$.

    Ceci bien sûr ne s'applique que quand $1+\mathrm{tr}(R)\neq0$, c.-à-d. quand $R$ n'est pas une matrice de demi-tour. Si $R$ est une matrice de demi-tour, un vecteur directeur de l'axe de ce demi-tour se récupère par l'une des formules $(1+R_{1,1},R_{1,2},R_{1,3})^{\mathsf T}$, $(R_{2,1}, 1+R_{2,2}, R_{2,3})^{\mathsf T}$ ou $(R_{3,1},R_{3,2},1+R_{3,3})^{\mathsf T}$.

    Remarque : Saturne évoquait les quaternions. Le quaternion $1+u\mathbf i+v\mathbf j+w\mathbf k$ donne la matrice de rotation $R(u,v,w)$.
  • J'ai finalement réussi à appliquer directement la matrice orthogonale dans mon programme ; je n'ai plus besoin d'une rotation (ou pas).

    Merci pour votre aide. Des rappels qui font du bien et des choses instructives.

    Et doublement merci à GaBuZoMeu : j'ai appliqué un truc que tu as posté sur un autre forum.
Connectez-vous ou Inscrivez-vous pour répondre.