Rotations de l’espace
Vidéo ■ partie 5.1. Rotations suivant un axe
Vidéo ■ partie 5.2. Angles d'Euler
Vidéo ■ partie 5.3. Quaternions
Nous étudions différentes façons d’obtenir une rotation de l’espace : en la décomposant par des
rotations élémentaires ou bien à l’aide des quaternions.
1. Rotation suivant un axe
1.1. Rappels : rotation dans le plan
Commençons par exprimer une rotation dans le plan. Ce plan est muni d’un repère orthonormé direct
(O x y). Une rotation centrée à l’origine et d’angle θ est la transformation du plan qui envoie un point P de
coordonnées (x, y) sur le point Q de coordonnées (x ′ , y ′ ) avec :
′
x = x cos(θ ) − y sin(θ )
y ′ = x sin(θ ) + y cos(θ )
y
.Q
θ
. P
.
O x
Il est plus facile d’exprimer une rotation à l’aide de la matrice :
cos(θ ) − sin(θ )
R(θ ) = .
sin(θ ) cos(θ )
Si on note ′
x x
X= et Y= ,
y y′
alors l’action de la rotation s’écrit :
Y = RX .
Notations. Dans ce chapitre il va y avoir beaucoup de sinus et cosinus, nous abrégeons l’écriture par les
notations suivantes :
ROTATIONS DE L’ESPACE 2
cθ = cos(θ ) sθ = sin(θ )
Avec ces notations la matrice de rotation Rθ s’écrit simplement :
cθ −sθ
R(θ ) = .
sθ cθ
Sens trigonométrique. Nos angles sont orientés : un angle positif correspond à une rotation dans le sens
trigonométrique, un angle négatif à une rotation dans le sens des aiguilles d’une montre.
1.2. Rotation autour de l’axe x , y ou z
Une rotation de l’espace correspond à un mouvement circulaire autour d’un axe laissé fixe. Nous allons
définir les rotations par leur matrice associée. Dans la suite toutes les rotations auront des axes qui passent
par l’origine (on parle de rotations vectorielles). Une rotation quelconque s’obtient comme une rotation
vectorielle conjuguée avec une translation.
#»
v
. .
Q
θ
. P
Rotation autour de l’axe x.
1 0 0
R x (θ ) = 0 cθ −sθ
0 sθ cθ
y
Rx
x′
x
La rotation de matrice R x (θ ) envoie un point de coordonnées X = y sur le point de coordonnées Y = y′
z z′
où :
Y = R x (θ )X .
Rotation autour de l’axe y.
cθ 0 sθ
R y (θ ) = 0 1 0
−sθ 0 cθ
ROTATIONS DE L’ESPACE 3
(Attention aux signes.)
z
Ry
Rotation autour de l’axe z.
cθ −sθ 0
Rz (θ ) = sθ cθ 0
0 0 1
Rz
Orientation. L’espace est muni d’un repère orthonormé direct (O x yz). Si on se place à l’origine, à cheval
sur un axe orienté dans le sens de la flèche, alors une rotation d’angle positif correspond à tourner vers la
droite pour les rotations d’axe (O x) et (Oz) et vers la gauche pour la rotation d’axe (O y).
z
+
y
+
1.3. Rotation autour d’un axe quelconque
Une rotation vectorielle quelconque est déterminée par :
#»
• son axe, défini par un vecteur v = (vx , v y , vz ),
• un angle θ .
Pour simplifier les expressions, nous supposerons que le vecteur #»
v est unitaire, c’est-à-dire vx2 + v 2y + vz2 = 1 .
ROTATIONS DE L’ESPACE 4
La rotation d’axe défini par #»
v (unitaire) et d’angle θ a pour matrice :
(1 − cθ )vx2 + cθ (1 − cθ )vx v y − sθ vz (1 − cθ )vx vz + sθ v y
v (θ ) = (1 − cθ )v x v y + sθ vz
R #» (1 − cθ )v 2y + cθ (1 − cθ )v y vz − sθ vx
(1 − cθ )vx vz − sθ v y
(1 − cθ )v y vz + vx sθ (1 − cθ )vz2 + cθ
′
x x
Ainsi cette rotation envoie un point de coordonnées X = y sur le point de coordonnées Y = y ′ par la
z z′
relation Y = R #»
v (θ )X .
1.4. Formule de Rodrigues
Découvrons une autre façon d’obtenir la matrice de rotation autour d’un axe #»v (unitaire) quelconque.
v = Q #»
2
Notons I, Q #»
v et P #» v
les matrices suivantes :
2
1 0 0 0 −vz v y vx − 1 vx v y vx vz
I = 0 1 0 v =
2
v = Q #»
vx v y v 2 − 1 v y vz
Q #» P #» v =
vz 0 −vx y
0 0 1 −v y vx 0 vx vz v y vz vz2 − 1
2
v (θ ) = I + sin(θ )Q #»
R #» v + (1 − cos(θ ))Q #»
v
Remarques :
#» #» #»
• La matrice Q #» v est la matrice de l’application linéaire u 7→ v ∧ u .
#»
• La matrice P #» v est la matrice de la projection orthogonale sur l’axe de rotation dirigé par v . Elle vérifie :
#» #» T #» #» T
v = Q #» = v v (produit de la matrice colonne v par la matrice ligne v ).
2
P #» v
• La matrice I − P #»v = I − Q #»
2
v
est la matrice de la projection orthogonale sur le plan orthogonal à l’axe #»
v.
1.5. Retrouver l’axe et l’angle
Si on nous donne une matrice R en nous affirmant que c’est une matrice de rotation, alors comment retrouver
l’axe #»
v et l’angle θ ?
#» #»
• Retrouver un vecteur v dirigeant l’axe. Notons v un vecteur propre associé à la valeur propre λ = 1,
#»
c’est-à-dire v est un vecteur non nul solution de :
#»
(R − I) #»
v = 0.
On obtient cette solution #»
v en résolvant un système linéaire à 3 équations et 3 inconnues. On renvoie à
un cours d’algèbre linéaire pour les notions détaillées de valeurs propres/vecteurs propres.
Pour une matrice de rotation (autre que l’identité) il n’existe que deux vecteurs unitaires solutions qui
sont opposés : #»
v et − #»
v.
• Retrouver l’angle θ . On obtient facilement l’angle, au signe près, par la formule :
tr(R) = 1 + 2 cos(θ )
où tr(R) est la trace de la matrice R, c’est-à-dire la somme des éléments sur la diagonale.
Une autre méthode, consiste à choisir un vecteur #» u orthogonal à l’axe #»
v , à calculer R #»
u , puis à calculer
#» #»
l’angle θ entre u et R u .
1.6. Propriétés algébriques
L’opération inverse d’une rotation d’angle θ est évidemment une rotation d’angle −θ (et de même axe) : en
termes de matrices R(θ )−1 = R(−θ ). Toutes les matrices de rotation que nous avons vues jusqu’ici vérifient
la relation R(−θ ) = R(θ ) T et donc R(θ )−1 = R(θ ) T . En plus nos matrices vérifient det(R(θ )) = +1, ce qui
implique qu’une rotation préserve l’orientation. C’est avec ces relations qu’on définit algébriquement une
matrice de rotation.
ROTATIONS DE L’ESPACE 5
Définition.
Une matrice R ∈ M3 (R) est une matrice de rotation si :
RR T = I et det(R) = +1.
Le groupe spécial orthogonal noté SO3 (R) est l’ensemble des matrices de rotation.
Les propriétés de groupe impliquent :
Proposition 1.
Si R1 et R2 sont des matrices de rotations alors R1 R2 et R2 R1 sont aussi des matrices de rotations.
La composition de deux rotations de l’espace est une rotation de l’espace, mais ce n’est pas évident d’en
connaître l’axe et l’angle. La rotation de matrice R2 R1 correspond à l’action d’une rotation de matrice R1
suivie d’une rotation de matrice R2 . Alors que pour R1 R2 c’est dans l’ordre inverse. En général R1 R2 et R2 R1
sont deux matrices différentes (c’est-à-dire que SO3 (R) n’est pas un groupe commutatif).
2. Angles d’Euler
2.1. Conventions
Le but est d’obtenir n’importe quelle rotation de l’espace à partir de trois rotations élémentaires. Il y a tout
d’abord une difficulté technique : de nombreux choix sont possibles pour l’ordre des rotations élémentaires
et il faut aussi décider si on compose les rotations d’une façon relative ou absolue. Il y a aussi une difficulté
théorique (quel que soit le choix précédent) qui s’appelle le « blocage de cadran » (gimbal lock). Nous
allons ici faire un choix (décliné en deux variantes) et donner les explications en adoptant le langage du
mouvement d’un avion.
2.2. Angles d’Euler x - y -z
Commençons par la convention x- y-z par rotations extrinsèques. On fixe un repère orthonormé direct
(O x yz), dit repère absolu, qui ne va pas bouger au fil des opérations. Une rotation selon la convention
x- y-z par rotations extrinsèques est une rotation qui se décompose :
R = Rz (γ) R y (β) R x (α)
où α, β, γ sont des angles donnés.
Rz (γ)
R y (β)
R x (α)
y
x
Pour la convention x- y-z on commence donc par une rotation d’axe x (d’angle α), puis d’axe y (d’angle β),
et enfin d’axe z (d’angle γ). Noter bien que, pour les matrices, cet ordre correspond au produit R x , R y et Rz
de la droite vers la gauche.
ROTATIONS DE L’ESPACE 6
La matrice obtenue après calculs est :
cβ cγ −cα sγ + sα sβ cγ sα sγ + cα sβ cγ
R = cβ sγ cα cγ + sα sβ sγ −sα cγ + cα sβ sγ
−sβ sα cβ cα cβ
2.3. Mouvements d’un avion
Pour diriger un avion, le pilote dispose de trois commandes qui orientent l’avion selon trois axes. On
considère un repère (OX Y Z), appelé repère relatif, qui est lié à l’avion (il tourne lorsque l’avion tourne).
L’axe X est dirigé dans le sens de l’avion, l’axe Y le long des ailes, et l’axe des Z selon la verticale de l’avion.
Les trois rotations sont :
• Rotation d’axe Z. Appelée lacet en aviation (yaw). Cela correspond au changement de direction vers la
droite ou vers la gauche.
• Rotation d’axe Y . Appelée tangage (pitch). Cela correspond à monter le nez de l’avion vers le haut ou
bien à le descendre vers le bas.
• Rotation d’axe X . Appelée roulis (roll). Cela correspond à monter l’aile droite et baisser l’aile gauche,
ou l’inverse, alors que l’axe longitudinal de l’avion reste fixe.
Rappelons que le repère (OX Y Z) est lié à l’avion, après chaque rotation le repère change de position par
rapport à un observateur situé au sol.
pitch
roll
yaw
yaw
roll
Z
pitch Y
2.4. Angles d’Euler z - y ′ - x ′′
Expliquons la convention z- y ′ -x ′′ par rotations intrinsèques. On fixe un repère orthonormé direct (O x yz),
dit repère absolu, qui ne va pas bouger au fil des opérations.
1. On commence par une rotation R1 autour de l’axe z et d’angle γ. On considère maintenant le repère
(O x ′ y ′ z ′ ) obtenu par rotation du repère (O x yz).
2. On continue par une rotation R2 autour de l’axe y ′ et d’angle β. On considère ensuite le repère
(O x ′′ y ′′ z ′′ ) obtenu par rotation du repère (O x ′ y ′ z ′ ).
3. On termine par la rotation R3 autour de l’axe x ′′ et d’angle α.
ROTATIONS DE L’ESPACE 7
z z
z′
O
y′
y
γ
x x y
Repère (O x yz) x′
Repère (Ox ′ y ′ z ′ )
z z ′′ z z ′′
z ′′′
z′ z′
y ′′′
x ′′′
′′ α
x x ′′ y ′′
y ′′
β
y′ y′
y y
x x
x′ x′
Repère (O x y z )
′′ ′′ ′′ Repère (Ox ′′′ y ′′′ z ′′′ )
C’est très facile de comprendre si on se place dans le repère (OX Y Z) relatif, lié à l’objet en mouvement.
Reprenons le cas d’un avion, alors on effectue successivement une rotation autour de l’axe relatif Z (yaw),
puis de l’axe relatif Y (pitch), et enfin de l’axe relatif X (roll). On pourrait exprimer cette rotation par la
notation matricielle R Z (γ)R Y (β)R X (α), mais cela peut être trompeur car à chaque rotation le repère (OX Y Z)
en jeu a changé.
2.5. Équivalence entre x - y -z et z - y ′ - x ′′
Nous allons montrer que les conventions x- y-z et z- y ′ -x ′′ sont équivalentes :
Rz (γ) R y (β) R x (α) = R x ′′ (α) R y ′ (β) Rz (γ)
Les calculs sont plutôt théoriques et peuvent être passés lors d’une première lecture. On commence par des
rappels sur les changements de base.
Passage d’une base à une autre pour les coordonnées d’un point/vecteur. On considère la base canonique
#» #» #»
B de R3 formée de trois vecteurs ( i , j , k ). Autrement dit, on se place dans le repère (O x yz) usuel, considéré
#» #» #»
comme repère absolu. On considère une autre base B′ formée de trois vecteurs ( f1 , f2 , f3 ), cela correspond
à un nouveau repère (O x ′ y ′ z ′ ).
Notons P, la matrice de passage de l’ancienne base B à la nouvelle base B′ . Comme ici B est la base
#»
canonique, le premier vecteur colonne de P est formé des coordonnées du vecteur f1 , le deuxième vecteur
#» #»
colonne est formé des coordonnées de f2 , le troisième vecteur colonne est formé des coordonnées de f3 .
ROTATIONS DE L’ESPACE 8
Notons X les coordonnées d’un point (ou d’un vecteur) dans la base B et notons X ′ les coordonnées de ce
même point dans la base B′ , X et X ′ sont reliés par la relation suivante :
X = P X ′.
Passage d’une base à une autre pour une matrice/application linéaire. Soit f : R3 → R3 une application
linéaire (par exemple une rotation). On note A la matrice de f dans la base B et on note B la matrice de f
dans la base B′ . Ces deux matrices sont liées par la relation suivante :
A = P BP −1 .
Passage de la convention z- y ′ -x ′′ à la convention x- y-z.
Exprimons les rotations de la convention z- y ′ -x ′′ dans le repère fixe (O x yz).
• On se place dans la base B (c’est-à-dire avec le repère (O x yz)). On applique une rotation d’axe z. Cette
application a pour matrice A1 = Rz (γ) dans la base B.
• Cette rotation transforme le repère (O x yz) en un repère (O x ′ y ′ z ′ ) (associé à la base B′ ). La matrice de
passage correspondante P2 est tout simplement P2 = Rz (γ).
• On se place dans le repère (O x ′ y ′ z ′ ) et on applique une rotation d’axe y ′ . Dans ce repère, la matrice de
cette rotation est B2 = R y (β). Quelle est la matrice de cette même rotation dans le repère fixe (O x yz) ?
C’est A2 = P2 B2 P2−1 d’après la formule de changement de base. Ainsi A2 = Rz R y R−1 z (en omettant les
angles).
• Quelle est la matrice de la rotation autour de z suivie d’une rotation autour de y ′ ? Dans le repère fixe
(O x yz) cette matrice est A2 A1 . Calculons-la (en omettant β et γ) :
A2 A1 = (Rz R y R−1
z )R z = R z R y .
Ainsi la convention tronquée z- y ′ correspond à la convention y-z.
• La rotation autour de l’axe y ′ transforme le repère (O x ′ y ′ z ′ ) en un repère (O x ′′ y ′′ z ′′ ). La matrice de
passage associée est P3 = R y (β).
• Dans le repère (O x ′′ y ′′ z ′′ ) on applique la rotation B3 = R x (α). Dans le repère (O x ′ y ′ z ′ ), la matrice de
cette même rotation est A′3 = P3 B3 P3−1 . Et dans le repère fixe (O x yz), c’est
A3 = P2 A′3 P2−1 = P2 (P3 B3 P3−1 )P2−1 = Rz R y R x R−1 −1
y Rz .
• Ainsi la composition des trois rotations avec la convention z- y ′ -x ′′ dans le repère fixe (O x yz) a pour
matrice A3 A2 A1 , dont le calcul se simplifie :
A3 A2 A1 = (Rz R y R x R−1 −1 −1
y R z )(R z R y R z )R z = R z (γ)R y (β)R x (α).
Ce qui est exactement la matrice de la convention x- y-z !
2.6. Blocage de cadran
Expliquons le blocage de cadran (gimbal lock) avec la convention z- y ′ -x ′′ . Imaginons un avion en position
verticale (« chandelle ») dans un repère absolu (O x yz). Pour le repère (O x ′′ y ′′ z ′′ ) lié à l’avion, l’axe x ′′
coïncide avec l’axe z. Il y a normalement trois rotations possibles avec la convention z- y ′ -x ′′ , mais ici comme
les axes z et x ′′ sont confondus, on a perdu un degré de liberté, il n’y a en fait que deux rotations possibles
(une autour de l’axe y ′ et une autour de l’axe z qui est aussi x ′′ ). Bien sûr il suffit d’effectuer une rotation
d’axe y ′ pour séparer de nouveau les axes z et x ′′ .
ROTATIONS DE L’ESPACE 9
x ′′ z
y
y ′′
x
z ′′
Lors de la mission Apollo 11 qui envoya Neil Armstrong et Buzz Aldrin sur la Lune, le gyroscope de Mike
Collins, resté en orbite, resta bloqué à cause du phénomène décrit ci-dessus. Ce gyroscope était naturellement
conçu à l’aide de trois cadrans circulaires (un pour chaque axe de rotation). Une solution pour éviter ce
problème est de rajouter un quatrième degré de liberté qui permet de ne pas s’approcher des points de
blocage. C’est pourquoi après sa mission Mike Collins déclara « Pour Noël prochain j’aimerais un quatrième
cadran ! ».
2.7. Retrouver les angles d’Euler
On nous donne une matrice de rotation R. Comment décomposer cette matrice selon la convention x- y-z :
R = Rz (γ) R y (β) R x (α) ?
Notons ri j les coefficients de R :
r11 r12 r13
R = r21 r22 r23
r31 r32 r33
Alors, en identifiant cette matrice avec la matrice obtenue au paragraphe 2.2, on obtient d’abord :
β = − arcsin(r31 )
(car r31 = −sβ ). Ensuite, on discute selon la valeur de β :
π π
• Si β ∈ ] − 2 , + 2 [ alors
α = arctan2(r32 , r33 ) et γ = arctan2(r21 , r11 ).
• Si β = + π2alors α − γ = arctan2(−r23 , r22 ). On dispose d’un degré de liberté dans le choix des angles,
la décomposition n’est donc pas unique.
π
• Si β = − 2 alors α + γ = arctan2(−r23 , r22 ). On dispose encore d’un degré de liberté, la décomposition
n’est pas unique.
Pour les deux cas particuliers β = ± π2 , on retrouve le phénomène de blocage de cadran, qui se traduit ici
par l’absence d’une décomposition unique pour certaines configurations.
Exercice.
On veut étudier en détail et à la main le phénomène de blocage de cadran. Dans cet exercice on fixe :
π
β =+ .
2
Soient α, γ des angles quelconques et soit R la matrice de rotation de la convention x- y-z :
R = Rz (γ) R y (β) R x (α)
1. Vérifier que :
0 sα−γ cα−γ
R = 0 cα−γ −sα−γ
−1 0 0
ROTATIONS DE L’ESPACE 10
où cα−γ = cos(α − γ) et sα−γ = sin(α − γ).
x
2. Résoudre l’équation RX = X où X = y et en déduire que l’axe de la rotation est dirigé par le vecteur
z
(non unitaire) :
1 − cα−γ
#»
v = sα−γ .
cα−γ − 1
3. À l’aide de la trace de matrices, montrer que l’angle θ de la rotation R vérifie :
cos(α − γ) − 1
|θ | = arccos .
2
4. Expliquer pourquoi la décomposition de R n’est pas unique dans le cas β = π2 .
3. Quaternions
3.1. Motivation
Les rotations définies par un axe et un angle ou bien définies à l’aide des angles d’Euler sont assez difficiles
à manipuler en particulier si on souhaite composer deux rotations. En plus avec les angles d’Euler, on risque
de se confronter au « blocage de cadran », inévitable pour certaines configurations. La solution élégante
à tous ces problèmes est d’utiliser les quaternions. Les calculs sont de simples manipulations algébriques,
faciles à réaliser pour un humain et un ordinateur. L’inconvénient est que l’on perd en compréhension
géométrique et que la notion n’est presque jamais enseignée. On va présenter ici cette nouvelle notion de
quaternions, qui sera vite comprise par tous ceux qui connaissent les nombres complexes.
3.2. Rappels : nombres complexes
Les quaternions sont analogues aux nombres complexes, en un petit peu plus compliqués. Rappelons qu’un
nombre complexe est l’écriture :
z = a + bi
où a, b ∈ R et i vérifient :
i2 = −1.
Très rapidement :
• On identifie un nombre complexe z = a + bi à un point (a, b) du plan.
• a s’appelle la partie réelle et b la partie imaginaire.
• Le module de z est le réel positif défini par |z|2 = a2 + b2 .
• Le conjugué est z̄ = a − bi, de sorte que |z|2 = zz̄.
• La multiplication est commutative : z1 z2 = z2 z1 .
• On note eiθ = cos(θ ) + i sin(θ ).
• L’opération z 7→ zeiθ , correspond à transformer le point (a, b) par la rotation d’angle θ , centrée à l’origine.
3.3. Écriture algébrique des quaternions
Un quaternion est l’écriture :
q = a + bi + cj + dk
où a, b, c, d sont des réels et où i, j, k vérifient :
i2 = j2 = k2 = ijk = −1
ROTATIONS DE L’ESPACE 11
Avant d’expliquer comment multiplier deux quaternions, il est fondamental de comprendre que la multipli-
cation des quaternions n’est pas commutative. Par exemple ij = k alors que ji = −k. Voici un tableau qui
résume les multiplications élémentaires (colonne de gauche premier terme, première ligne second terme,
dans le tableau le produit des deux) :
× i j k
i −1 k −j
j −k −1 i
k j −i −1
Ce tableau se déduit des axiomes. Par exemple, exprimons ij. On sait ijk = −1, donc en multipliant à droite
les deux termes de cette égalité par k on obtient ijk2 = −k mais comme k2 = −1 on obtient ij = k. À vous de
vérifier les autres résultats.
Une fois les multiplications élémentaires comprises, la multiplication de deux quaternions s’effectue comme
un produit où i, j et k jouent le rôle de variables.
Exemple.
Soient :
q1 = 1 + 2i − 3j et q2 = i − 4k.
Alors :
q1 q2 = (1 + 2i − 3j) (i − 4k)
= i − 4k + 2i2 − 8ik − 3ji + 12jk
= i − 4k − 2 + 8j + 3k + 12i
= −2 + 13i + 8j − k
Par contre :
q2 q1 = (i − 4k) (1 + 2i − 3j)
= i + 2i2 − 3ij − 4k − 8ki + 12kj
= i − 2 − 3k − 4k − 8j − 12i
= −2 − 11i − 8j − 7k
Donc q1 q2 n’est pas égal à q2 q1 .
3.4. Propriétés
On retient de l’exemple précédent :
La multiplication des quaternions n’est pas commutative.
Voici quelques notions et propriétés élémentaires. On note toujours q = a + bi + cj + dk.
• a s’appelle la partie réelle et bi + cj + dk s’appelle la partie vectorielle (ou aussi partie imaginaire).
• La norme ∥q∥ est le réel positif défini par :
∥q∥2 = a2 + b2 + c 2 + d 2 .
• Le conjugué de q est q̄ = a − bi − cj − dk. De sorte que qq̄ = ∥q∥2 .
• Pour un quaternion non nul (c’est-à-dire (a, b, c, d) ̸= (0, 0, 0, 0)),
1 a − bi − cj − dk
q−1 = q̄ = 2
∥q∥2 a + b2 + c 2 + d 2
de sorte que qq−1 = q−1 q = 1.
ROTATIONS DE L’ESPACE 12
• Si la partie réelle d’un quaternion est nulle (c’est-à-dire a = 0), on parle de quaternion vectoriel pur.
Le produit de deux quaternions vectoriels purs est un quaternion vectoriel pur.
3.5. Rotations
Soit un point P de coordonnées (x, y, z) ∈ R3 , que l’on peut aussi considérer comme un vecteur. À P on
associe le quaternion vectoriel pur :
p = xi + yj + zk.
x quaternion vectoriel pur xi + yj + zk est identifié au point de coordonnées (x, y, z) ou
Réciproquement tout
aussi au vecteur y .
z
Considérons une rotation R d’axe le vecteur unitaire #»
v = (v , v , v ) et d’angle θ . À cette rotation on associe
x y z
le quaternion :
θ θ
q = cos + sin vx i + v y j + vz k
2 2
Notons P ′ l’image de P par la rotation R et p′ le quaternion vectoriel pur associé. Alors
p′ = qpq−1
On dit que p′ est le conjugué de p par q. Ainsi le calcul de l’image d’un point par une rotation correspond à
une simple multiplication de quaternions. Noter que comme q est unitaire alors q−1 = q̄.
#»
v
.
p′ = qpq−1
θ
. p
.
La preuve que ce calcul correspond à une rotation n’est pas si simple (et nous l’admettons). Par contre cela
entraîne une formule simple pour la composition de deux rotations.
Proposition 2.
Si une rotation R1 a pour quaternion q1 et une rotation R2 a pour quaternion q2 , alors R2 ◦ R1 (la rotation
R1 suivie de la rotation R2 ) a pour quaternion associé q2 q1 . Cela correspond à la transformation :
p 7→ (q2 q1 )p(q2 q1 )−1 .
Démonstration. La rotation R1 est la transformation p 7→ p′ = q1 pq1−1 . La rotation R2 est la transforma-
tion p′ 7→ p′′ = q2 p′ q2−1 . La rotation R1 suivie de la rotation R2 est donc p 7→ p′′ = q2 (q1 pq1−1 )q2−1 =
(q2 q1 )p(q2 q1 )−1 .
ROTATIONS DE L’ESPACE 13
Exemple.
Soit R1 une rotation d’axe (−2, 1, 1) et d’angle π3 . Soit R2 une rotation d’axe (1, 0, −1) et d’angle π2 . Soit
P le point de coordonnées (1, 0, 0). Déterminer l’image de P par la rotationp R1 suivie de la rotation R2 .
#» 6
• On commence par rendre unitaire le vecteur de l’axe de R1 : v 1 = 6 (−2, 1, 1). Le quaternion associé
à R1 est
p p p p p
π π 6 3 6 6 6
q1 = cos( 6 ) + sin( 6 ) (−2i + j + k) = − i+ j+ k.
6 p 2 6 12 12
#» 2
• On normalise le vecteur de l’axe de R2 : v 2 = 2 (1, 0, −1). Le quaternion associé à R2 est
p p
π π 2 2 1 1
q2 = cos( 4 ) + sin( 4 ) (i − k) = + i − k.
2 2 2 2
• Le quaternion associé au point P est simplement p = i.
Passons aux calculs.
1. Notons P ′ = R1 (P). Son quaternion associé est (après calculs) :
5 1 1p 1 1p
′ −1
p = q1 pq1 = i + − + 2 j+ − − 2 k.
6 6 4 6 4
2. Notons P ′′ = R2 (P ′ ) = R2 ◦ R1 (P), le quaternion associé (après calculs) est :
p
′′ ′ −1 1 2 1
p = q2 p q2 = i − j − k.
2 2 2
p
Ainsi les coordonnées de P ′′ sont ( 12 , − 2 1
2 , − 2 ).
On aurait obtenu le même résultat si on avait d’abord calculé q2 q1 , puis (q2 q1 )−1 , et enfin p′′ =
(q2 q1 )p(q2 q1 )−1 (voir l’exemple ci-après).
De même on prouve facilement les résultats suivants.
Proposition 3.
Soit R la rotation (d’angle θ ) associée à un quaternion unitaire q.
1. La rotation inverse (d’angle −θ et de même axe) est associée à q−1 (qui est aussi q̄ car q est unitaire),
c’est-à-dire à la transformation p 7→ q−1 pq.
2. La rotation R itérée n fois (donc une rotation d’angle nθ ) est associée à q n , c’est-à-dire à la transformation
p 7→ q n pq−n .
3.6. Retrouver l’axe et l’angle
Si on nous donne un quaternion unitaire q = a + bi + cj + dk, alors on retrouve l’axe #» v et l’angle θ selon les
formules suivantes :
b
#» 1 p
v =p c θ = 2 arctan2 b2 + c 2 + d 2 , a .
b2 + c 2 + d 2
d
Exemple.
Soit la rotation R1 d’axe (1, 1, 0) et d’angle π et la rotation R2 d’axe (0, 1, 1) et d’angle π (ce sont deux
retournements). Quels sont l’axe et l’angle de la rotation R2 ◦ R1 ?
p p
1. On commence par rendre les vecteurs unitaires : #»
v 1 = 22 (1, 1, 0) et #»
v2 = 2
2 (0, 1, 1). Les quaternions
q1 et q2 associés respectivement à R1 et R2 sont alors :
p p p p
2 2 2 2
q1 = i+ j q2 = j+ k.
2 2 2 2
ROTATIONS DE L’ESPACE 14
2. Le quaternion associé à la rotation R2 ◦ R1 est :
1 1 1 1
q = q2 q1 = − − i + j − k.
2 2 2 2
3. On applique les formules énoncées précédemment pour retrouver l’axe et l’angle :
1
−2 p −1
#» 2 1 3
v =p 2 = 1
3 1 3
−2 −1
et p
3 1 4π
θ = 2 arctan2 ,− = .
2 2 3
4π
Ainsi R2 ◦ R1 est une rotation d’axe (−1, 1, −1) et d’angle 3 = − 2π
3 [2π], ce qui était loin d’être évident !