Quaternions et Rotations dans R3
Alain Prouté
Le « produit scalaire canonique » sur Rnest celui qui fait de la base canonique une base orthonormée. La norme associée
est appelée « norme euclidienne » et sera celle que nous utiliserons. L’ensemble des vecteurs de norme 1dans Rn+1 est
noté Snet appelé la « sphère de dimension n». C’est un espace topologique compact (car fermé borné dans Rn+1 ).
Rappelons que le corps Cdes nombres complexes peut être vu comme l’ensemble des matrices de similitude réelles,
c’est-à-dire des matrices de la forme ab
b a
aet bsont réels (une telle matrice s’identifie au nombre complexe noté a+ib). La conjugaison complexe x7→ xest
donnée par la transposition des matrices.
Tout espace vectoriel complexe a un espace vectoriel réel sous-jacent. Si Eest un espace vectoriel complexe de dimension
n, l’espace réel sous-jacent est de dimension 2n, plus précisément, si (e1, . . . , en)est une base de E,(e1, ie1, . . . , en, ien)
est une base de l’espace réel sous-jacent. Si (x1, . . . , xn)sont les coordonnées (complexes) d’un vecteur xdans la base
canonique (e1, . . . , en)de Cn, le carré de la norme de ce vecteur dans l’espace réel sous-jacent est donnée par
kxk2=x1x1+· · · +xnxn
puisqu’en posant xk=ak+ibk, on a xkxk=a2
k+b2
k.
D’une manière analogue, on peut considérer l’ensemble Hdes matrices de la forme
q=ab
b a
aet bsont maintenant des nombres complexes. De telles matrices sont appelées des « quaternions ». Un produit de
deux quaternions est un quaternion :
ab
b a cd
d c =ac bd ad bc
ad +bc ac bd
De plus, la matrice identité est un quaternion. Le produit des quaternions étant le produit des matrices, les quaternions
forment une algèbre associative unitaire sur R.
Le quaternion q=ab
b a est dit « imaginaire pur » (ou plus simplement « pur ») si le nombre complexe aest un
imaginaire pur. Hest bien sûr un espace vectoriel réel de dimension 4avec pour « base canonique » les matrices( 1)
1 = 1 0
0 1 i=i0
0ij=0i
i0k=01
1 0
Les quaternions imaginaires purs sont bien sûr les combinaisons linéaire (à coefficients réels) de i,jet k. Tout quaternion
qest d’une manière unique somme d’un « quaternion réel » (c’est-à-dire un multiple réel de 1H), qui est sa « partie
réelle », et d’un quaternion imaginaire pur (qui est sa « partie imaginaire »). Le « conjugué » qde qest obtenu en conjugant
le complexe aet en changeant le signe de b, ce qui revient à conjuguer les deux complexes aet bet à transposer la matrice.
Pour tout quaternion q, le produit qq est un quaternion réel. En effet, on a
ab
b a a b
b a =aa +bb 0
0aa +bb
et c’est le produit de 1Hpar le carré de la norme de qdans l’espace vectoriel réel sous-jacent (dans lequel (1, i, j, k)
est la base canonique). Comme le conjugué de qq0est clairement q0q, il est immédiat qu’on a kqkkq0k=kqq0kpour tous
quaternions qet q0.
1. Apparemment, il n’y a pas ce consensus sur la question de savoir qui est précisément i,jou k. L’exercice 1montre que cela n’a pas
d’importance pourvu que i2=j2=k2=ijk =1.
Pour simplifier l’écriture, on pourra noter [[ a, b ]] le quaternion
ab
b a
On a donc [[ a, b ]][[ c, d ]] = [[ ac bd, bc +ad ]]. Le conjugué de [[ a, b ]] est [[ a, b]].
+Exercice 1. (a) Vérifier que Hest un corps non commutatif.
(b) Montrer que l’ensemble des racines quaternioniques de l’équation q2+1 = 0 est l’ensemble des quaternions imaginaires
de norme 1, que i,jet ken font partie, et que cet ensemble est, comme sous-espace topologique de H, homéomorphe à
S2.
(c) Montrer que le plan (vectoriel réel) engendré par le vecteur 1et l’une quelconque des racines de l’équation précédente
est un sous-corps de Hisomorphe à C.
(d) Soient i0,j0et k0trois quaternions tels que i02=j02=k02=i0j0k0=1. Montrer que l’application linéaire réelle qui
envoie 1sur 1,isur i0,jsur j0et ksur k0est un automorphisme du corps H.
L’ensemble des matrices (carrées) réelles orthogonales( 2) à nlignes (et donc ncolonnes) est un groupe, noté O(n)et
appelé « groupe orthogonal » (pour la dimension n). SO(n)est le sous-groupe de O(n)des matrice de déterminant positif
(et donc égal à +1). Il est appelé le « groupe spécial orthogonal » (pour la dimension n). Ces groupes sont des groupes
topologiques (les opérations du groupe sont continues) et ils sont compacts (fermés bornés dans l’espace des matrices
réelles n×n).
+Exercice 2. (a) Montrer que l’ensemble des éléments de SO(n+ 1) qui laissent fixe un vecteur non nul donné de
Rn+1 est un sous-groupe isomorphe à SO(n).
(b) Montrer que deux tels sous-groupes sont conjugués (c’est-à-dire qu’il existe un automorphisme intérieur x7→ axa1
de SO(n+ 1) par lequel l’un des sous-groupes est l’image de l’autre).
Il est facile de vérifier que les quaternions i,jet ksatisfont les équations :
i2=j2=k2=ijk =1
De ces règles on déduit que ij =ji =k,jk =kj =iet ki =ik =j. On a ainsi une table de multiplication complète
sur les vecteurs de base, ce qui montre que les équations ci-dessus définissent le produit des quaternions sans ambiguïté.
Soit un quaternion q=a+bi +cj +dk. On a <(q) = a(partie réelle de q) et =(q) = bi +cj +dk (partie imaginaire de q).
L’ensemble des quaternions purs s’identifie à R3(on identifie (i, j, k)à la base canonique de R3). Soit q0=a0+b0i+c0j+d0k
un second quaternion. Le produit qq0se décompose en les termes suivants :
aa0ab0i ac0j ad0k
ba0ibb0bc0kbd0j
ca0jcb0kcc0cd0i
da0k db0jdc0idd0
En regroupant astucieusement ces termes, on obtient, en notant uet u0les parties imaginaires de qet q0:
qq0=aa0u.u0+au0+a0u+uu0
où le point désigne le produit scalaire et où désigne le produit vectoriel dans R3. Noter que la partie réelle de qq0est
aa0u.u0, c’est-à-dire le produit des parties réelles diminué du produit scalaire des parties imaginaires, et que la partie
imaginaire de qq0est au0+a0u+uu0, c’est-à-dire la somme des produits « croisés » (partie réelle par partie imaginaire)
augmentée du produit vectoriel des parties imaginaire. La principale différence avec le produit des nombres conplexes est
donc la présence du produit vectoriel uu0.
En particulier, si uet u0sont des quaternions purs, on a uu0=uu0u.u0. On fera attention au fait que les quaternions
sont sujets à trois multiplications différentes (uu0,u.u0et uu0ci-dessus). Comme cela va nous servir plus loin, on va tout
2. C’est-à-dire les matrices Mtelles que tMM =I, où Iest la matrice identité et où M7→ tMest l’opération de transposition des matrices.
de suite calculer le produit (a+u)x(au)aest réel, et où uet xsont purs. On a d’abord (a+u)x=ax +uxu.x,
puis
(a+u)x(au) = a2x+a(ux)a(u.x)axu (ux)u+ (u.x)u
=a2x+a(ux)a(u.x)a(xu) + a(x.u)(ux)u+ (u.x)u
=a2x+ 2a(ux) + 2(u.x)u((ux)u+ (u.x)u)
Par ailleurs, (ux)u+ (u.x)u=(xu)u+ (x.u)u=xuu =xuu =kuk2x. On a donc finalement :
(a+u)x(au)=(a2− kuk2)x+ 2a(ux) + 2(u.x)u
L’ensemble des quaternions de norme 1n’est autre que la sphère S3usuelle. Comme le produit de deux quaternions de
norme 1est encore un quaternion de norme 1, comme 1est de norme 1et comme l’inverse d’un quaternion de norme 1
est un quaternion de norme 1, on voit que S3est un groupe.( 3)
Soit maintenant qun quaternion de norme 1, et soit xun quaternion quelconque. On a kqxk=kqkkxk=kxk. Ainsi,
la multiplication par un quaternion de norme 1(aussi bien à gauche qu’à droite) préserve la norme, donc le produit
scalaire. C’est donc une isométrie de R4. Un produit d’isométries étant une isométrie, l’application x7→ qxq est encore
une isométrie. De plus cette isométrie laisse 1invariant, donc laisse globalement invariant le sous-espace orthogonal à 1,
c’est-à-dire le sous-espace R3des quaternions purs. On voit qu’on vient de définir une application :
S3π
//O(3)
Cette application est un morphisme de groupes. En effet, si q, q0S3, en composant x7→ qxq avec x7→ q0xq0on obtient
x7→ qq0xq0q, c’est-à-dire x7→ (qq0)x(qq0).
De plus, πest continue et comme S3est connexe l’application det π, qui est à valeurs dans l’espace discret {−1,+1}est
constante. Comme π(1) est l’identité de R3(dont le déterminant est 1), on voit que cette constante est 1et donc que π
est à valeurs dans SO(3).
On va maintenant déterminer le noyau de π. Supposons que qS3soit tel que π(q)(x) = xpour tout xde R3, c’est-à-dire
pour tout quaternion pur x. En décomposant qen q=a+u(partie réelle + partie imaginaire), on a (a+u)x(au) = x,
c’est-à-dire
(a2− kuk2)x+ 2a(ux) + 2(u.x)u=x
En supposant unon nul et en prenant pour xun vecteur non nul orthogonal à u, on obtient une base (u, x, u x)de R3
et l’égalité :
(a2− kuk21)x+ 2a(ux)=0
qui est impossible car elle implique a= 0 puis kuk2=1. On a donc u= 0, donc a=±1car qest de norme 1. Comme
1et 1sont clairement dans le noyau de π, on voit que Ker(π) = {−1,+1}.
On sait que tout élément de SO(3) (sauf l’identité) est une rotation autour d’un axe. Ainsi, πenvoie tout quaternion de
norme 1sur une rotation, et comme πest un morphisme de groupes, la multiplication des quaternions correspond à la
composition des rotations. Il est donc intéressant de déterminer l’axe et l’angle de la rotation π(q)en fonction de q. Ceci
nous permettra de déterminer l’axe et l’angle d’un produit de deux rotations autour d’axes distincts (faisant entre eux
un certain angle).
Toujours avec q=a+u, notons que (a+u)u(au)=(a2− kuk2+ 2u.u)u= (a2+kuk2)u=u(car a2+kuk2=kqk2= 1).
Ainsi, uest fixe par la rotation π(q), dont l’axe est donc dirigé par le vecteur u(pour q=a+u6=±1pour que une soit
pas nul). Il reste à trouver l’angle de π(q).
Prenons un quaternion pur xorthogonal à u. Sous l’effet de la rotation π(q),xest transformé en y=π(q)(x)et l’angle
αentre xet yest l’angle cherché. On a (toujours avec q=a+u) :
x.y =x.((a2− kuk2)x+ 2a(ux) + 2(u.x)u)=(a2− kuk2)kxk2
car u.x = 0 et x.(ux) = u.(xx)=0. En imposant la condition kxk= 1, on a kyk= 1, donc x.y = cos(α)et
cos(α) = a2− kuk2. Comme a2+kuk2=kqk= 1, on peut poser a= cos(θ)et kuk= sin(θ), et θest bien défini modulo
3. En fait, un « groupe de Lie ».
2π, mais de toute façon compris entre 0et πpuisque sin(θ)0. Bien sûr, θest l’angle que fait uavec 1dans R4. On a
donc :
cos(α) = cos(θ)2sin(θ)2= cos(2θ)
et donc α=±2θ(modulo 2π), ce qui fait que αest bien déterminé modulo 2π, mais seulement au signe près. Noter
que l’expression « au signe près » n’a de sens ici que si on impose à αd’être dans l’intervalle [π, π], ce que nous ferons
désormais.( 4) Avant d’aller plus loin, remarquons que si q=±1, la rotation π(q)est l’identité (donc d’angle 0), et si q
est pur, alors θ=π/2, donc α=π=π(modulo 2π). Dans ces deux cas, on n’a pas de problème de signe à résoudre.
Le signe à attribuer à αrésulte de toute manière d’une convention d’orientation. Il s’agit en effet d’utiliser upour orienter
le plan (vectoriel) orthogonal à u(dans R3). Ceci peut se faire car R3lui-même est orienté. Mais il est inutile de se casser
la tête avec ces problèmes. Il suffit en effet de prendre n’importe quelle convention ayant la propriété que si on remplace
upar u,αsera remplacé par α(pour la même rotation). Il y a un moyen très simple de parvenir à ce résultat qui est
de convenir que αest du signe de a. En effet, la même rotation est définie par qet par q(π(q) = π(q)). Or remplacer
qpar qest équivalent à remplacer simultanément apar aet upar u.
En résumé, la rotation π(q)(pour tout quaternion qde norme 1non réel, c’est-à-dire tel que q=a+uavec u6= 0) a
pour axe (orienté) la droite orientée par u, le cosinus de son angle est a2− kuk2et le signe de l’angle (qui est bien défini
modulo 2π) est le signe de a. Dans le cas où qest pur (c’est-à-dire a= 0), l’angle de rotation est π=π(modulo 2π),
et le signe de l’angle n’est donc plus pertinent (et la rotation est une demi-tour (symétrie) autour de l’axe défini par u).
Dans le cas où qest réel (donc q=±1), la rotation est l’identité de R3.
Intéressons-nous maintenant au produit de deux rotations d’axes non colinéaires. Soient Uet Vdeux vecteurs non
colinéaires de R3(on peut supposer que kUk=kVk= 1), et soient ret sles rotations d’angles αet βautour des axes
orientés définis par Uet V(αet βsont donc bien définis (avec le signe) modulo 2π). Soit θl’angle entre Uet V, qui est
bien défini si on lui impose d’être dans l’intervalle [0, π]. Il s’agit de déterminer l’axe (orienté) et l’angle (avec le signe et
modulo 2π) de la rotation composée sr.
Déterminons d’abord un quaternion qde norme 1tel que π(q) = r. On aura q=a+uet u=kukU. On aura aussi
a2− kuk2= cos(α)et a2+kuk2= 1, donc a=±r1 + cos(α)
2=±cos(α/2) et kuk=r1cos(α)
2=|sin(α/2)|. Pour
simplifier, et quitte à remplacer Upar U, on peut supposer αpositif. On a alors 0α/2π/2, et donc
q= cos(α/2) + sin(α/2)U
De la même manière, en posant q0=b+v, on aura π(q0) = spourvu que q0= cos(β/2) + sin(β/2)V.
Pour calculer sr, il suffit donc de calculer q0q. On a :
q0q= cos(α/2) cos(β/2) sin(α/2) sin(β/2) cos(θ)
+ cos(β/2) sin(α/2)U+ cos(α/2) sin(β/2)V+ sin(α/2) sin(β/2)UV
On voit donc que l’axe de la rotation srest défini par le vecteur :
cos(β/2) sin(α/2)U+ cos(α/2) sin(β/2)V+ sin(α/2) sin(β/2) sin(θ)W
West le vecteur de norme 1colinéaire à UVet de même sens que lui. Quant au cosinus de la moitié de l’angle de
la rotation sr, il vaut :
cos(α/2) cos(β/2) sin(α/2) sin(β/2) cos(θ)
On voit donc que pour θ= 0, c’est-à-dire quand U=V, l’angle de la rotation srest α+β, comme on pouvait s’y
attendre, et que pour θ=π, c’est-à-dire V=U, l’angle de la rotation est αβ(relativement à l’orientation donnée par
U), comme on pouvait également s’y attendre. Comme la fonction θ7→ cos(θ)prend toutes les valeurs comprises entre 1
et 1quand θvarie de 0àπ, on voit qu’en composant deux rotations d’angles αet βon peut obtenir une rotation d’un
angle quelconque compris entre α+βet αβ(théorème des valeurs intermédiaires). Il suffit de faire varier l’angle entre
les axes des rotations.
On déduit facilement de ce qui précède que SO(3) est un groupe simple, c’est-à-dire qu’il ne contient pas d’autre sous-
groupe distingué que le sous-groupe réduit à 1et lui-même. En effet, si Gest un sous-groupe distingué de SO(3), non
réduit à 1, il contient une rotation non triviale c’est-à-dire d’un angle αappartenant à ]0, π]. Comme il est stable par
conjugaison, il contient toutes les rotations d’angle α. D’après ce qui précède, il contient donc toutes les rotations d’angle
compris entre 2α=α+αet 0 = αα. Par composition il contient donc toutes les rotations pour tous les angles.
4. En fait, la vraie question ici est celle du signe de sin(α)et non pas de α. Toutefois, ces deux notions se confondent pour αentre πet π.
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !