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 di trovare un sistema di numeri che generalizzasse allo spazio tridimensionale i numeri complessi e il loro significato di operatori di rotazione nel piano. Il generico quaternione verrà identificato con il simbolo q. Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 2 / 38
Definizione Il quaternione è un elemento dello spazio lineare H(R) a quattro dimensioni, 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 di moltiplicazione anticommutativa i 2 = j 2 = k 2 = ijk = 1 ij = ji = k jk = kj = i ki = ik = j (1) Si è voluto indicare i numeri ipercomplessi con i simboli i, j e k per marcare 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 è definito come una combinazione lineare espressa nella base {1 i j k}: q = q 0 1 + q 1 i + q 2 j + q 3 k (2) dove i coefficienti {q i } 3 i=0 sono reali. In analogia con i numeri complessi, dove c = a + jb è rappresentabile da una coppia di reali, (a, b), il generico quaternione è rappresentabile da una quadrupla di reali, (q 0,q 1,q 2,q 3 ). Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 4 / 38
Definizione Il quaternione viene anche definito come il numero complesso i cui coefficienti sono due numeri complessi, ossia dove c 1 = q 0 + kq 3 e c 2 = q 2 + kq 1. q = c 1 + jc 2, Perciò, considerando le relazioni (1), si ha: q = c 1 + jc 2 = q 0 + kq 3 + jq 2 + jkq 1 = q 0 1 + q 1 i + q 2 j + q 3 k. Analogamente ai numeri complessi che sono formati da una parte reale e da una parte immaginaria, i quaternioni sono formati da una parte reale e da una parte vettoriale. Si indica con q r la parte reale del quaternione, definita da q r = q 0, e con q v la parte immaginaria o vettoriale, definita da q v = q 1 i + q 2 j + q 3 k. Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 5 / 38
Definizione Si scrive dunque q = (q r, q v ) oppure q = q r + q v ; notate che non è stato usato il segno di trasposto per la parte vettoriale q v in quanto la definizione convenzionale di parte vettoriale di un quaternione è una riga. Volendo usare le convenzioni per cui i vettori sono vettori colonna, potremmo scrivere q = (q r, q T v ). I quaternioni sono entità matematiche generali, che comprendono i numeri reali r = (r, 0, 0, 0), r R i numeri complessi a + j b = (a, 0, b, 0), a,b R ed i vettori in R 3 (con alcuni pericoli di interpretazione) v = (0, v 1, v 2, v 3 ), v i 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 proprietà del 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 i quaternioni; scriveremo dunque q = q 0 1 + q 1 i + q 2 j + q 3 k = (q r,q v ) = q r + q v = (q 0,q 1,q 2,q 3 ) (3) per indicare il fatto che il quaternione può essere visto in tre modi distinti: a) come un numero ipercomplesso definito su una base composta da un reale e tre immaginari; b) come la somma di una parte scalare e una parte vettoriale; 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 = q 0 1 + q 1 i + q 2 j + q 3 k = q r + q v = (q 0,q 1,q 2,q 3 ), sono definite le seguenti proprietà: 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 la stessa parte reale di q e parte vettoriale opposta: q = q 0 (q 1 i + q 2 j + q 3 k) = (q r,q v ) = q r q v = (q 0, q 1, q 2, q 3 ) (5) Il coniugato soddisfa alla proprietà (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 e indicata con il simbolo q, definita come q = qq = 3 q q = ql q 2 = 0 2 + qt v q v (6) l=0 Un quaternione con norma q = 1 è chiamato quaternione unitario. Il quaternione q e il suo coniugato q hanno la stessa norma Il quaternione q = q (7) q v = 01 + q 1 i + q 2 j + q 3 k = (0,q v ) = 0 + q v = (0,q 1,q 2,q 3 ), che ha parte reale nulla, viene chiamato quaternione puro o vettore. Il coniugato di un quaternione puro q v risulta essere l opposto del quaternione puro originale q v = q v (8) Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 9 / 38
Algebra dei quaternioni Dati due quaternioni h = h 0 1 + h 1 i + h 2 j + h 3 k = (h r,h v ) = h r + h v = (h 0,h 1,h 2,h 3 ) e g = g 0 1 + g 1 i + g 2 j + g 3 k = (g r,g v ) = g r + g v = (g 0,g 1,g 2,g 3 ) possiamo definire le seguenti operazioni Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 10 / 38
Somma Somma o addizione h + g h + g = (h 0 + g 0 )1 + (h 1 + g 1 )i + (h 2 + g 2 )j + (h 3 + g 3 )k = ((h r + g r ), (h v + g v )) = (h r + g r ) + (h v + g v ) = (h 0 + g 0,h 1 + g 1,h 2 + g 2,h 3 + g 3 ) (9) Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 11 / 38
Differenza Differenza o sottrazione h g = (h 0 g 0 )1 + (h 1 g 1 )i + (h 2 g 2 )j + (h 3 g 3 )k = ((h r g r ), (h v g v )) = (h r g r ) + (h v g v ) = (h 0 g 0,h 1 g 1,h 2 g 2,h 3 g 3 ) (10) Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 12 / 38
Prodotto Prodotto hg = (h 0 g 0 h 1 g 1 h 2 g 2 h 3 g 3 )1 + (h 1 g 0 + h 0 g 1 h 3 g 2 + h 2 g 3 )i + (h 2 g 0 + h 3 g 1 + h 0 g 2 h 1 g 3 )j + (11) (h 3 g 0 h 2 g 1 + h 1 g 2 + h 0 g 3 )k = (h r g r h v g v, h r g v + g r h v + h v g v ) dove h v g v è il prodotto scalare h v g v = h vi g vi = h T v g v = g T v h v i definito in R n, dove n può essere qualsiasi, e h v g v è il prodotto vettoriale (definito solamente in R 3 ) h v g v = h 2g 3 h 3 g 2 h 3 g 1 h 1 g 3 = S(h v )g v h 1 g 2 h 2 g 1 Basilio e Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 13 / 38
Prodotto e S(v) = 0 v 3 v 2 v 3 0 v 1 (13) v 2 v 1 0 è una matrice antisimmetrica, funzione del generico vettore v = ( v 1 v 2 v 3 ) T. Il prodotto tra quaternioni non è commutativo, in quanto, essendo g v h v = h v g v, risulta gh = (h r g r h v g v, h r g v + g r h v h v g v ) hg; si nota che la parte reale rimane identica, mentre la parte vettoriale cambia. Il prodotto commuta soltanto se h v g v = 0, cioè quando le parti vettoriali sono parallele. Altre proprietà del prodotto sono elencate nei lucidi successivi Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 14 / 38
Prodotto proprietà associativa: prodotto per lo scalare unitario: (gh)p = g(hp) 1q = q1 = (1,0)(q r,q v ) = (1q r,1q v ) = (q r,q v ) prodotto per un reale λ: bilinearità, con λ 1,λ 2 reali: λq = (λ,0)(q r,q v ) = (λq r,λq v ) g(λ 1 h 1 + λ 2 h 2 ) = λ 1 gh 1 + λ 2 gh 2 (λ 1 g 1 + λ 2 g 2 )h = λ 1 g 1 h + λ 2 g 2 h Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 15 / 38
Prodotto Il prodotto può essere scritto anche in forma matriciale: h 0 h 1 h 2 h 3 g 0 ( ) g 0 h hg = 1 h 0 h 3 h 2 g 1 h0 h h 2 h 3 h 0 h 1 g = T v g 1 2 h v h 0 I + S(h v ) g = F L (h)g 2 h 3 h 2 h 1 h 0 g 3 g 3 (14) oppure g 0 g 1 g 2 g 3 h 0 ( ) h 0 g hg = 1 g 0 g 3 g 2 h 1 g0 g g 2 g 3 g 0 g 1 h = T v h 1 2 g v g 0 I + S(g v ) h = F R (g)h 2 g 3 g 2 g 1 g 0 h 3 h 3 (15) Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 16 / 38
Prodotto Il coniugato del prodotto tra quaternioni soddisfa la proprietà: (gh) = h g. (16) La norma del prodotto soddisfa la proprietà hg = h g. (17) Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 17 / 38
Quoziente Quoziente o divisione Poichè il prodotto tra due quaternioni non è commutativo, bisogna distinguere tra quoziente destro e quoziente sinistro. Dati due quaternioni h e p, si dice quoziente sinistro di p per h il quaternione q s per cui hq s = p mentre si dice quoziente destro di p per h il quaternione q d per cui q d h = p Risulta q s = h h 2 p; q d = 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 inverso sinistro q 1 s e l inverso destro q 1 d, definiti da qq 1 s = 1 = (1,0,0,0); q 1 d q = 1 = (1,0,0,0) Poiché dalla (6) si ha che qq = q q = q 2 = q q, potremo scrivere q q q = q q q = 1 = (1,0,0,0) (18) q q risulta che inverso destro e inverso sinistro coincidono e otteniamo q 1 s = q 1 d = q 1 = q q 2 (19) Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 19 / 38
Inverso È immediato osservare che, per un quaternione unitario, l inverso coincide con il coniugato q 1 = q, q = 1 (20) e per un quaternione puro unitario, che coincide con un versore, vale L inverso soddisfa le proprietà q 1 v = q v = q v. (21) (q 1 ) 1 = q; (pq) 1 = q 1 p 1 Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 20 / 38
Funzione di selezione È utile definire la funzione di selezione ρ(q) = q 0 = q r che estrae la parte reale del quaternione. Questa funzione ha la proprietà che ρ(q) = q + q. 2 Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 21 / 38
Prodotto di Hamilton Osserviamo che, moltiplicando due quaternioni puri u v = (0,u v ) = u 1 i + u 2 j + u 3 k e v v = (0,v v ) = v 1 i + v 2 j + v 3 k, cioè due vettori, si ottiene u v v v = ( u v v v, u v). (22) Di conseguenza, con un leggero abuso di notazione, possiamo definire un nuovo prodotto tra vettori, detto prodotto di Hamilton, che soddisfa la seguente relazione: uv = u v + u v. (23) Questo prodotto implica però che uu = u u, ovvero che il quadrato di un vettore reale non nullo risulti negativo Per questa ed altre ragioni, i quaternioni furono abbandonati in favore di altre notazioni vettoriali più convenienti. Tuttavia il prodotto tra quaternioni svolge un ruolo importante nella rappresentazione 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 più in dettaglio le proprietà dei quaternioni unitari, che identifichiamo con il simbolo u. Come abbiamo già detto, un quaternione unitario è quello per cui u = 1; l inverso di un quaternione unitario e il prodotto di due quaternioni unitari, per le proprietà (17) e (20), risultano ancora unitari. Un quaternione unitario può essere rappresentato dalla relazione u = cosθ + usinθ (24) dove u è un vettore a norma unitaria e θ è un angolo generico. Va notata la somiglianza della (24) con l analoga espressione di un numero complesso 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 cui corrisponde per i quaternioni u = e uθ = cosθ + usinθ (25) dove l esponenziale viene calcolato sostituendo simbolicamente il termine uθ al termine x dello sviluppo in serie di e x e ricordando che uu = 1. La (25) mostra l identità formale tra un quaternione unitario u e l esponenziale di un versore unitario u, moltiplicato scalarmente per un angolo θ. Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 24 / 38
Quaternioni unitari Dalla (25) si deduce la definizione di potenza di un quaternione unitario u t = (cosθ + usinθ) t = e uθt = cos(θt) + usin(θt) (26) e di logaritmo di un quaternione unitario logu = log(cosθ + usinθ) = log(e uθ ) = uθ (27) Va notato che la non commutatività del prodotto di quaternioni impedisce l uso delle identità standard per calcolare esponenziali e logaritmi. Ad esempio, e u 1 e u 2 non è necessariamente uguale a e u 1+u 2, come pure log(u 1 u 2 ) non è necessariamente uguale a log(u 1 ) + log(u 2 ). Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 25 / 38
Quaternioni e rotazioni Vediamo ora come sia possibile mettere in relazione una rotazione con un quaternione unitario e viceversa. Dato un quaternione unitario u = (u 0,u 1,u 2,u 3 ) = (u 0,u) = cosθ + usinθ (28) questo rappresenta la rotazione di un angolo 2θ intorno all asse rappresentato del versore u = ( u 1 u 2 u 3 ) T Viceversa, data una rotazione di angolo θ intorno all asse individuato dal versore u = ( u 1 u 2 u 3 ) T, il quaternione unitario ( u = cos θ 2,u 1 sin θ 2,u 2 sin θ 2,u 3 sin θ ) ( = cos θ 2 2, usin θ ) = cos θ 2 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 R 3 può venire rappresentata dalla matrice di rotazione R R 3 3, che ha la proprietà di essere ortonormale e a determinante unitario positivo, det(r) = +1. Potremo allora associare ad ogni matrice di rotazione un quaternione unitario e viceversa, indicando questa corrispondenza con il simbolo R(u). Ogni quaternione unitario rappresenta una rotazione nello spazio tridimensionale, così come ogni numero complesso unitario rappresenta una rotazione nel piano. Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 27 / 38
Quaternioni e rotazioni Per passare da un quaternione u = (u 0,u) alla matrice corrispondente R(u), si applica la relazione R(u) = (u0 2 u T u)i + 2uu T 2u 0 S(u) = u0 2 + u2 1 u2 2 u2 3 2(u 1 u 2 u 3 u 0 ) 2(u 1 u 3 + u 2 u 0 ) 2(u 1 u 2 + u 3 u 0 ) u0 2 u2 1 + u2 2 u2 3 2(u 2 u 3 u 1 u 0 ) (30) 2(u 1 u 3 u 2 u 0 ) 2(u 2 u 3 + u 1 u 0 ) u 2 0 u2 1 u2 2 + u2 3 dove S(u) è già stata definita. Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 28 / 38
Quaternioni e rotazioni Inversamente, per passare dagli elementi r ij della matrice R(u) al corrispondente quaternione u, si usa la relazione seguente: u 0 = ± 1 2 (1 + r11 + r 22 + r 33 ) u 1 = 1 4u 0 (r 32 r 23 ) u 2 = 1 4u 0 (r 13 r 31 ) u 3 = 1 4u 0 (r 21 r 12 ) (31) Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 29 / 38
Quaternioni e rotazioni In alternativa u 0 = 1 2 (1 + r11 + r 22 + r 33 ) u 1 = 1 2 sign(r 32 r 23 ) (1 + r 11 r 22 r 33 ) u 2 = 1 2 sign(r 13 r 31 ) (1 r 11 + r 22 r 33 ) (32) u 3 = 1 2 sign(r 21 r 12 ) (1 r 11 r 22 + r 33 ) dove sign(x) è 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 riferimento cartesiano, R(i, α), R(j, β) e R(k, γ), corrispondono ai seguenti quaternioni elementari R(i,α) u x = (cos α 2, sin α ) 2, 0, 0 R(j,β) u y = (cos β2, 0, sin β2 ), 0 (33) ( R(k,γ) u z = cos γ 2, 0, 0, sin γ ) 2 e quindi risulta anche che la base vettoriale dei quaternioni corrisponde alle 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 osserverà che, mentre il prodotto di quaternioni della base soddisfa le relazioni ii = jj = kk = ijk = ( 1, 0, 0, 0), l analogo prodotto di rotazioni fornisce la rotazione identità: 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 verrà 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 le operazioni con le matrici di rotazione: Prodotto di rotazioni Date n rotazioni R 1, R 2,, R n ed i corrispondenti quaternioni unitari u 1, u 2,, u n, la rotazione prodotto R(u) = R(u 1 )R(u 2 ) R(u n ) corrisponde al prodotto dei quaternioni unitari u = u 1 u 2 u n, nell ordine indicato. Matrice trasposta Data la rotazione R(u) ed il corrispondente quaternione unitario u, la matrice trasposta (che coincide con l inversa) R T corrisponde al quaternione unitario coniugato (che coincide con l inverso) u. Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 33 / 38
Quaternioni e rotazioni Rotazione di un vettore Dato un vettore qualsiasi x, a cui corrisponde il quaternione composto dalla sola parte vettoriale u x = ( 0,x T) = (0,x 1,x 2,x 3 ) e data una rotazione R(u) a cui corrisponde il quaternione unitario u, il vettore ruotato y = R(u)x coincide con la parte vettoriale del quaternione prodotto y = (y r,y v ) = uu x u, ovvero y = R(u)x y = y v. Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 34 / 38
Quaternioni e rotazioni Più in generale, se per esprimere il vettore x si usano le coordinate omogenee x = ( wx 1 wx 2 wx 3 w ) T e 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 = ( wy 1 wy 2 wy 3 w ) T Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 35 / 38
Quaternioni e rotazioni Matrici prodotto Il prodotto tra due quaternioni, godendo della proprietà di bilinearità, può essere rappresentato da operatori lineari (matrici). Dalla (14), osserviamo che il prodotto qp = F L (q)p può essere interpretato come il prodotto a sinistra di q per p; analogamente il prodotto a destra, che vale pq, può essere espresso, considerando la (15), come pq = F R (q)p. Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 36 / 38
Quaternioni e rotazioni Queste espressioni consentono poi di ricavare il prodotto pq come F R (q )p e successivamente il prodotto qpq come F L (q)f R (q )p = Qp, dove si è introdotta la matrice Q R 4 4 Q = F L (q)f R (q ) = q0 2 + q2 1 q2 2 q2 3 2(q 1 q 2 q 3 q 0 ) 2(q 1 q 3 + q 2 q 0 ) 0 2(q 1 q 2 + q 3 q 0 ) q0 2 q2 1 + q2 2 q2 3 2(q 2 q 3 q 1 q 0 ) 0 2(q 1 q 3 q 2 q 0 ) 2(q 2 q 3 + q 1 q 0 ) q0 2 q2 1 q2 2 + q2 3 0 (36) 0 0 0 q 2 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 invece che come primo. Basilio Bona (DAUIN-Politecnico di Torino) Quaternioni 2008 38 / 38