Quaternioni
Basilio Bona
DAUIN-Politecnico di Torino
2008
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 1 / 38
Introduzione
I quaternioni furono “scoperti” nel 1843 da Hamilton, che cercava ditrovare un sistema di numeri che generalizzasse allo spazio tridimensionalei numeri complessi e il loro significato di operatori di rotazione nel piano.
Il generico quaternione verra identificato con il simbolo q.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 2 / 38
Definizione
Il quaternione e un elemento dello spazio lineare H(R) a quattrodimensioni, definito sul campo dei numeri reali R, con base {1 i j k}.i , j e k sono numeri ipercomplessi che soddisfano la seguente legge dimoltiplicazione anticommutativa
i2 = j2 = k2 = ijk =−1ij =−ji = kjk =−kj = iki =−ik = j
(1)
Si e voluto indicare i numeri ipercomplessi con i simboli i , j e k permarcare la loro differenza rispetto ai versori i, j e k
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 3 / 38
Definizione
Il quaternione q ∈H e definito come una combinazione lineare espressanella base {1 i j k}:
q = q01 +q1i +q2j +q3k (2)
dove i coefficienti {qi}3i=0 sono reali.
In analogia con i numeri complessi, dove c = a + jb e rappresentabile dauna coppia di reali, (a,b), il generico quaternione e rappresentabile da unaquadrupla di reali, (q0,q1,q2,q3).
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 4 / 38
Definizione
Il quaternione viene anche definito come il “numero complesso” i cuicoefficienti sono due numeri complessi, ossia
q = c1 + jc2,
dove c1 = q0 +kq3 e c2 = q2 +kq1.
Percio, considerando le relazioni (1), si ha:
q = c1 + jc2 = q0 +kq3 + jq2 + jkq1 = q01 +q1i +q2j +q3k .
Analogamente ai numeri complessi che sono formati da una parte reale eda una parte immaginaria, i quaternioni sono formati da una parte reale eda una parte vettoriale.
Si indica con qr la parte reale del quaternione, definita da qr = q0, e conqv la parte immaginaria o vettoriale, definita da qv = q1i +q2j +q3k .
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 5 / 38
Definizione
Si scrive dunque q = (qr , qv ) oppure q = qr + qv ; notate che non e statousato il segno di trasposto per la parte vettoriale qv in quanto ladefinizione convenzionale di “parte vettoriale di un quaternione” e una riga.
Volendo usare le convenzioni per cui i vettori sono vettori colonna,potremmo scrivere q = (qr , qT
v ).
I quaternioni sono entita matematiche generali, che comprendono i numerireali
r = (r , 0, 0, 0) , r ∈ R
i numeri complessi
a + j b = (a, 0, b, 0) , a,b ∈ R
ed i vettori in R3 (con alcuni pericoli di interpretazione)
v = (0, v1, v2, v3) , vi ∈ R.
In quest’ultimo caso si interpretano gli elementi{i j k
}come i versori{
i j k}
di un sistema di riferimento cartesiano destrorso.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 6 / 38
Definizione
Le regole di moltiplicazione tra gli elementi i , j ,k hanno le stesse proprietadel prodotto vettoriale o esterno tra i versori i, j,k:
ij = k ⇔ i× j = k
ji =−k ⇔ −j× i =−k
ecc.
Nel seguito faremo uso di tutte le notazioni alternative per indicare iquaternioni; scriveremo dunque
q = q01 +q1i +q2j +q3k = (qr ,qv ) = qr + qv = (q0,q1,q2,q3) (3)
per indicare il fatto che il quaternione puo essere visto in tre modi distinti:a) come un numero ipercomplesso definito su una base composta da unreale e tre immaginari; b) come la somma di una parte scalare e una partevettoriale; e c) come una quadrupla di numeri reali.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 7 / 38
Algebra dei quaternioni
Dato un quaternione q = q01 +q1i +q2j +q3k = qr + qv = (q0,q1,q2,q3),sono definite le seguenti proprieta:
esiste il quaternione nullo o zero, definito come
0 = 01 + 0i + 0j + 0k = (0,0) = 0 + 0 = (0,0,0,0) (4)
esiste il quaternione coniugato, indicato con il simbolo q∗, che ha lastessa parte reale di q e parte vettoriale opposta:
q∗ = q0− (q1i +q2j +q3k) = (qr ,qv ) = qr −qv = (q0,−q1,−q2,−q3)(5)
Il coniugato soddisfa alla proprieta (q∗)∗ = q.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 8 / 38
Algebra dei quaternioni
esiste una funzione non negativa, chiamata norma del quaternione q eindicata con il simbolo ‖q‖, definita come
‖q‖=√
qq∗ =√
q∗q =
√3
∑`=0
q2` =
√q20 + qT
v qv (6)
Un quaternione con norma ‖q‖= 1 e chiamato quaternione unitario.Il quaternione q e il suo coniugato q∗ hanno la stessa norma
‖q‖= ‖q∗‖ (7)
Il quaternione
qv = 01 +q1i +q2j +q3k = (0,qv ) = 0 + qv = (0,q1,q2,q3),
che ha parte reale nulla, viene chiamato quaternione puro o vettore. Ilconiugato di un quaternione puro qv risulta essere l’opposto delquaternione puro originale
q∗v =−qv (8)
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 9 / 38
Algebra dei quaternioni
Dati due quaternioni
h = h01 +h1i +h2j +h3k = (hr ,hv ) = hr + hv = (h0,h1,h2,h3)
eg = g01 +g1i +g2j +g3k = (gr ,gv ) = gr + gv = (g0,g1,g2,g3)
possiamo definire le seguenti operazioni
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 10 / 38
Somma
Somma o addizione h + g
h + g = (h0 +g0)1 + (h1 +g1)i + (h2 +g2)j + (h3 +g3)k= ((hr +gr ), (hv + gv ))= (hr +gr ) + (hv + gv )= (h0 +g0,h1 +g1,h2 +g2,h3 +g3)
(9)
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 11 / 38
Differenza
Differenza o sottrazione
h−g = (h0−g0)1 + (h1−g1)i + (h2−g2)j + (h3−g3)k= ((hr −gr ), (hv −gv ))= (hr −gr ) + (hv −gv )= (h0−g0,h1−g1,h2−g2,h3−g3)
(10)
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 12 / 38
Prodotto
Prodotto
hg = (h0g0−h1g1−h2g2−h3g3)1 +
(h1g0 +h0g1−h3g2 +h2g3)i +
(h2g0 +h3g1 +h0g2−h1g3)j + (11)
(h3g0−h2g1 +h1g2 +h0g3)k
= (hrgr −hv ·gv , hrgv +grhv + hv ×gv )
dove hv ·gv e il prodotto scalare
hv ·gv = ∑i
hvigvi = hTv gv = gT
v hv
definito in Rn, dove n puo essere qualsiasi, e hv ×gv e il prodottovettoriale (definito solamente in R3)
hv ×gv =
h2g3−h3g2
h3g1−h1g3
h1g2−h2g1
= S(hv )gv
e
S(v) =
0 −v3 v2
v3 0 −v1
−v2 v1 0
(12)
e una matrice antisimmetrica, funzione del generico vettore
v =(v1 v2 v3
)T.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 13 / 38
Prodotto
e
S(v) =
0 −v3 v2
v3 0 −v1
−v2 v1 0
(13)
e una matrice antisimmetrica, funzione del generico vettore
v =(v1 v2 v3
)T.
Il prodotto tra quaternioni non e commutativo, in quanto, essendogv ×hv =−hv ×gv , risulta
gh = (hrgr −hv ·gv , hrgv +grhv −hv ×gv ) 6= hg;
si nota che la parte reale rimane identica, mentre la parte vettorialecambia. Il prodotto commuta soltanto se hv ×gv = 0, cioe quando le partivettoriali sono parallele.
Altre proprieta del prodotto sono elencate nei lucidi successivi
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 14 / 38
Prodotto
proprieta associativa:(gh)p = g(hp)
prodotto per lo scalare unitario:
1q = q1 = (1,0)(qr ,qv ) = (1qr ,1qv ) = (qr ,qv )
prodotto per un reale λ :
λ q = (λ ,0)(qr ,qv ) = (λqr ,λqv )
bilinearita, con λ1,λ2 reali:
g(λ1h1 + λ2h2) = λ1gh1 + λ2gh2
(λ1g1 + λ2g2)h = λ1g1h + λ2g2h
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 15 / 38
Prodotto
Il prodotto puo essere scritto anche in forma matriciale:
hg =
h0 −h1 −h2 −h3
h1 h0 −h3 h2
h2 h3 h0 −h1
h3 −h2 h1 h0
g0
g1
g2
g3
=
(h0 −hT
vhv h0I + S(hv )
)g0
g1
g2
g3
= FL(h)g
(14)oppure
hg =
g0 −g1 −g2 −g3
g1 g0 g3 −g2
g2 −g3 g0 g1
g3 g2 −g1 g0
h0
h1
h2
h3
=
(g0 −gT
vgv g0I + S(gv )
)h0
h1
h2
h3
= FR(g)h
(15)
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 16 / 38
Prodotto
Il coniugato del prodotto tra quaternioni soddisfa la proprieta:
(gh)∗ = h∗g∗. (16)
La norma del prodotto soddisfa la proprieta
‖hg‖= ‖h‖‖g‖ . (17)
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 17 / 38
Quoziente
Quoziente o divisione Poiche il prodotto tra due quaternioni non ecommutativo, bisogna distinguere tra quoziente destro e quoziente sinistro.
Dati due quaternioni h e p, si dice quoziente sinistro di p per h ilquaternione qs per cui
hqs = p
mentre si dice quoziente destro di p per h il quaternione qd per cui
qdh = p
Risulta
qs =h∗
‖h‖2p; qd = p
h∗
‖h‖2
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 18 / 38
Inverso
Quaternione inverso
Dato un quaternione q, in linea di principio dovremmo definire l’inversosinistro q−1
s e l’inverso destro q−1d , definiti da
qq−1s = 1 = (1,0,0,0); q−1
d q = 1 = (1,0,0,0)
Poiche dalla (6) si ha che qq∗ = q∗q = ‖q‖2 = ‖q‖‖q∗‖, potremo scrivere
q
‖q‖q∗
‖q∗‖=
q∗
‖q∗‖q
‖q‖= 1 = (1,0,0,0) (18)
risulta che inverso destro e inverso sinistro coincidono e otteniamo
q−1s = q−1
d = q−1 =q∗
‖q‖2(19)
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 19 / 38
Inverso
E immediato osservare che, per un quaternione unitario, l’inverso coincidecon il coniugato
q−1 = q∗, ‖q‖= 1 (20)
e per un quaternione puro unitario, che coincide con un versore, vale
q−1v = q∗v =−qv . (21)
L’inverso soddisfa le proprieta
(q−1)−1 = q; (pq)−1 = q−1p−1
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 20 / 38
Funzione di selezione
E utile definire la funzione di selezione
ρ(q) = q0 = qr
che “estrae” la parte reale del quaternione.
Questa funzione ha la proprieta che
ρ(q) =q + q∗
2.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 21 / 38
Prodotto di Hamilton
Osserviamo che, moltiplicando due quaternioni puriuv = (0,uv ) = u1i +u2j +u3k e vv = (0,vv ) = v1i + v2j + v3k, cioe duevettori, si ottiene
uv vv = (−uv ·vv , u×v). (22)
Di conseguenza, con un leggero abuso di notazione, possiamo definire unnuovo prodotto tra vettori, detto prodotto di Hamilton, che soddisfa laseguente relazione:
uv =−u ·v + u×v. (23)
Questo prodotto implica pero che uu =−u ·u, ovvero che il quadrato diun vettore reale non nullo risulti negativo
Per questa ed altre ragioni, i quaternioni furono abbandonati in favore dialtre notazioni vettoriali piu “convenienti”.
Tuttavia il prodotto tra quaternioni svolge un ruolo importante nellarappresentazione delle rotazioni.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 22 / 38
Quaternioni unitari
Prima di passare a descrivere le relazioni tra quaternioni e rotazioni,analizziamo piu in dettaglio le proprieta dei quaternioni unitari, cheidentifichiamo con il simbolo u.
Come abbiamo gia detto, un quaternione unitario e quello per cui ‖u‖= 1;l’inverso di un quaternione unitario e il prodotto di due quaternioni unitari,per le proprieta (17) e (20), risultano ancora unitari.
Un quaternione unitario puo essere rappresentato dalla relazione
u = cosθ + usinθ (24)
dove u e un vettore a norma unitaria e θ e un angolo generico.
Va notata la somiglianza della (24) con l’analoga espressione di un numerocomplesso unitario
c = cosθ + jsinθ .
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 23 / 38
Quaternioni unitari
L’analogia si estende anche all’espressione esponenziale c = e jθ , a cuicorrisponde per i quaternioni
u = euθ = cosθ + usinθ (25)
dove l’esponenziale viene calcolato sostituendo simbolicamente il termineuθ al termine x dello sviluppo in serie di ex e ricordando che uu =−1.
La (25) mostra l’identita formale tra un quaternione unitario u el’esponenziale di un versore unitario u, moltiplicato scalarmente per unangolo θ .
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 24 / 38
Quaternioni unitari
Dalla (25) si deduce la definizione di potenza di un quaternione unitario
ut = (cosθ + usinθ)t = euθt = cos(θ t) + usin(θ t) (26)
e di logaritmo di un quaternione unitario
log u = log(cosθ + usinθ) = log(euθ ) = uθ (27)
Va notato che la non commutativita del prodotto di quaternioni impediscel’uso delle identita standard per calcolare esponenziali e logaritmi.
Ad esempio, eu1eu2 non e necessariamente uguale a eu1+u2 , come purelog(u1u2) non e necessariamente uguale a log(u1) + log(u2).
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 25 / 38
Quaternioni e rotazioni
Vediamo ora come sia possibile mettere in relazione una rotazione con unquaternione unitario e viceversa.
Dato un quaternione unitario
u = (u0,u1,u2,u3) = (u0,u) = cosθ + usinθ (28)
questo rappresenta la rotazione di un angolo 2θ intorno all’asse
rappresentato del versore u =(u1 u2 u3
)TViceversa, data una rotazione di angolo θ intorno all’asse individuato dal
versore u =(u1 u2 u3
)T, il quaternione unitario
u =
(cos
θ
2,u1 sin
θ
2,u2 sin
θ
2,u3 sin
θ
2
)=
(cos
θ
2, usin
θ
2
)= cos
θ
2+usin
θ
2(29)
rappresenta la medesima rotazione.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 26 / 38
Quaternioni e rotazioni
Sappiamo che una rotazione rigida nello spazio cartesiano R3 puo venirerappresentata dalla matrice di rotazione R ∈ R3×3, che ha la proprieta diessere ortonormale e a determinante unitario positivo, det(R) = +1.
Potremo allora associare ad ogni matrice di rotazione un quaternioneunitario e viceversa, indicando questa corrispondenza con il simbolo R(u).
Ogni quaternione unitario rappresenta una rotazione nello spaziotridimensionale, cosı come ogni numero complesso unitario rappresentauna rotazione nel piano.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 27 / 38
Quaternioni e rotazioni
Per passare da un quaternione u = (u0,u) alla matrice corrispondenteR(u), si applica la relazione
R(u) = (u20−uTu)I + 2uuT−2u0S(u) =u20 +u2
1−u22−u2
3 2(u1u2−u3u0) 2(u1u3 +u2u0)
2(u1u2 +u3u0) u20−u2
1 +u22−u2
3 2(u2u3−u1u0)
2(u1u3−u2u0) 2(u2u3 +u1u0) u20−u2
1−u22 +u2
3
(30)
dove S(u) e gia stata definita.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 28 / 38
Quaternioni e rotazioni
Inversamente, per passare dagli elementi rij della matrice R(u) alcorrispondente quaternione u, si usa la relazione seguente:
u0 =±1
2
√(1 + r11 + r22 + r33)
u1 =1
4u0(r32− r23)
u2 =1
4u0(r13− r31)
u3 =1
4u0(r21− r12)
(31)
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 29 / 38
Quaternioni e rotazioni
In alternativa
u0 =1
2
√(1 + r11 + r22 + r33)
u1 =1
2sign(r32− r23)
√(1 + r11− r22− r33)
u2 =1
2sign(r13− r31)
√(1− r11 + r22− r33)
u3 =1
2sign(r21− r12)
√(1− r11− r22 + r33)
(32)
dove sign(x) e la funzione segno di x .
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 30 / 38
Quaternioni e rotazioni
Le rotazioni elementari intorno ai tre assi di un sistema di riferimentocartesiano, R(i,α), R(j,β ) e R(k,γ), corrispondono ai seguenti quaternionielementari
R(i,α)→ ux =(
cosα
2, sin
α
2, 0, 0
)R(j,β )→ uy =
(cos
β
2, 0, sin
β
2, 0
)R(k,γ)→ uz =
(cos
γ
2, 0, 0, sin
γ
2
) (33)
e quindi risulta anche che la “base vettoriale” dei quaternioni corrispondealle diverse rotazioni elementari di 180◦ intorno agli assi principali:
i = (0, 1, 0, 0)→ R(i,π)j = (0, 0, 1, 0)→ R(j,π)k = (0, 0, 0, 1)→ R(k,π)
(34)
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 31 / 38
Quaternioni e rotazioni
Il lettore attento osservera che, mentre il prodotto di quaternioni dellabase soddisfa le relazioni
ii = jj = kk = ijk = (−1, 0, 0, 0) ,
l’analogo prodotto di rotazioni fornisce la rotazione identita:
R(i,π)R(i,π) = R(j,π)R(j,π) = R(k,π)R(k,π) = R(i,π)R(j,π)R(k,π) = I(35)
a cui corrisponde il quaternione (1, 0, 0, 0); questa apparente discrepanza,pur essendo spiegabile, non verra discussa.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 32 / 38
Quaternioni e rotazioni
Vediamo ora alcune corrispondenze tra le operazioni con i quaternioni e leoperazioni con le matrici di rotazione:
Prodotto di rotazioniDate n rotazioni R1, R2, · · · , Rn ed i corrispondenti quaternioniunitari u1, u2, · · · , un, la rotazione prodottoR(u) = R(u1)R(u2) · · ·R(un) corrisponde al prodotto dei quaternioniunitari u = u1u2 · · ·un, nell’ordine indicato.
Matrice traspostaData la rotazione R(u) ed il corrispondente quaternione unitario u, lamatrice trasposta (che coincide con l’inversa) RT corrisponde alquaternione unitario coniugato (che coincide con l’inverso) u∗.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 33 / 38
Quaternioni e rotazioni
Rotazione di un vettoreDato un vettore qualsiasi x, a cui corrisponde il quaternione compostodalla sola parte vettoriale ux =
(0,xT
)= (0,x1,x2,x3) e data una
rotazione R(u) a cui corrisponde il quaternione unitario u, il vettoreruotato y = R(u)x coincide con la parte vettoriale del quaternioneprodotto y = (yr ,yv ) = uuxu∗, ovvero
y = R(u)x ⇔ y = yv .
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 34 / 38
Quaternioni e rotazioni
Piu in generale, se per esprimere il vettore x si usano le coordinateomogenee
x =(wx1 wx2 wx3 w
)Te si definisce il quaternione x come
x = (w ,wx)
il prodotto uxu∗ fornisce il quaternione y, definito come
y = (w ,wR(u)x)
che permette di esprimere il vettore risultante y, in coordinate omogenee
y =(wy1 wy2 wy3 w
)T
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 35 / 38
Quaternioni e rotazioni
Matrici prodottoIl prodotto tra due quaternioni, godendo della proprieta di bilinearita,puo essere rappresentato da operatori lineari (matrici).Dalla (14), osserviamo che il prodotto qp = FL(q)p puo essereinterpretato come il prodotto a sinistra di q per p; analogamente ilprodotto a destra, che vale pq, puo essere espresso, considerando la(15), come pq = FR(q)p.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 36 / 38
Quaternioni e rotazioni
Queste espressioni consentono poi di ricavare il prodotto pq∗ comeFR(q∗)p e successivamente il prodotto qpq∗ come FL(q)FR(q∗)p = Qp,dove si e introdotta la matrice Q ∈ R4×4
Q = FL(q)FR(q∗) =q20 +q2
1−q22−q2
3 2(q1q2−q3q0) 2(q1q3 +q2q0) 0
2(q1q2 +q3q0) q20−q2
1 +q22−q2
3 2(q2q3−q1q0) 0
2(q1q3−q2q0) 2(q2q3 +q1q0) q20−q2
1−q22 +q2
3 0
0 0 0 ‖q‖2
(36)
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 37 / 38
Quaternioni e rotazioni
Nelle applicazioni spaziali spesso si usano i quaternioni avendo“organizzato” le componenti in modo diverso da quello qui introdotto,ossia ponendo la parte reale come ultimo elemento del quaternione inveceche come primo.
Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 38 / 38