Sei sulla pagina 1di 14

GENERAZIONE di MATRICI ORTOGONALI in R 3 e CALCOLO ASSE e ANGOLO di ROTAZIONE

Una rotazione una trasformazione lineare delle coordinate cartesiane nel piano o nello spazio che conserva le distanze dei punti del piano e lascia invariato un punto fisso O. Assieme alla traslazione uno dei movimenti che caratterizza completamente il moto di un corpo rigido in meccanica classica. Una rotazione piana caratterizzata dal centro di rotazione O e da un angolo  detto angolo di rotazione individuato dalle due posizioni assunte dalle semirette uscenti da O prima e dopo la rotazione. Leffetto di una rotazione su un generico punto P x, y del piano R 2 di un sistema di assi cartesiani ortogonali monometrici espressa dalle ben note relazioni :

x  x cos  y sin  y  x sin   y cos 

(1)

dove x e y sono le nuove coordinate del punto P in cui si portato il punto P dopo la rotazione e langolo  contato positivamente quando il senso della rotazione antioraria. Solitamente le (1) vengono rappresentate anche in forma matriciale nel modo seguente :

x y

cos  sin  sin  cos 

x y

(2)

dove com noto, il prodotto matriciale inteso nel senso classico, cio righe per colonne. La matrice quadrata che compare in (2) una matrice di rotazione che dipende dal parametro reale  ed manifestamente ortogonale : I cos  sin  sin  cos 
T

cos  sin  sin  cos 

 1 0 0 1

cos  sin  sin  cos 

cos  sin  sin  cos 

e ha determinante uguale a 1 perch preserva anche lorientamento degli assi spaziali (se fosse stato -1 allora uno dei due assi sarebbe stato invertito dopo la rotazione). Inoltre lortogonalit preserva le distanze euclidee nel piano dal punto fisso di rotazione O , cio in termini pi specifici le relazioni (1) rappresentano una isometria che molto semplice da

dimostrare : x
2

 y

 x cos   y sin   x y
2 2

 x sin   y cos 

Ora evidente che generare matrici di rotazione nel piano euclideo non necessita di ulteriori considerazioni perch basta scegliere un qualsiasi valore per il parametro angolare e procedere alla sua costruzione mantendo sempre la forma standard :

H

cos  sin  sin  cos 

(3)

Diverso il caso invece dello spazio tridimensionale ordinario in cui occorre fare maggiori riflessioni prima di pervenire alla effettiva costruzione delle matrici di rotazione. La complicazione data dal fatto che ora non c soltanto un punto a rimanere fisso durante la rotazione, ma una retta intera detto asse di rotazione. Nel seguito supporremo sempre che lasse di rotazione passi nellorigine O del sistema di coordinate ortogonale Oxyz e sia identificato dal versore  di modulo unitario (| |  1) di componenti :   1, 2, 3 Come nel caso piano, queste matrici di rotazione devono avere la caratteristica di mantenere invariate le distanze euclidee e preservare lorientamento spaziale degli assi, si pu dimostrare inoltre che le uniche matrici che rispondono a questultima propriet sono di tipo ortogonale con determinante uguale ad 1. In letteratura si pu trovare questa dimostrazione in un qualsiasi testo di algebra matriciale avanzato, noi invece percorreremo la strada inversa, cio prima arriveremo a fornire il metodo che consente di generare queste matrici e poi dimostreremo che esse saranno effettivamente ortogonali a determinante unitario. Dalla teoria dellalgebra matriciale sappiamo che una matrice ortogonale ha determinante 1 oppure - 1. Il sottoinsieme formato da tutte le sottomatrici con determinante 1 un sottogruppo del gruppo delle matrici ortogonali, detto gruppo ortogonale speciale e viene indicato con SO 3 . Gli elementi di questo gruppo sono rotazioni. Il lavoro verr suddiviso allora in tre parti : 1. determineremo la formula di rotazione di un generico vettore K uscente da O attorno al versore dellasse di rotazione  di un certo angolo  2. trasformeremo la formula cos determinata nella sua equivalente posta in forma matriciale contribuendo cos alla effettiva realizzazione delle matrici di rotazione e poi affronteremo il problema inverso , data cio una matrice di rotazione calcolare lasse e langolo di rotazione. 3. dimostreremo che le suddette matrici sono ortogonali a determinante unitario. La prima parte del problema consiste nel calcolare il vettore K  che si ottiene ruotando un generico vettore K uscente in O di componenti :

K  K1, K2, K3 di un certo angolo  contato positivamente (per convenzione) se visto ruotare in senso antiorario , scegliendo come asse di rotazione quello individuato da un dato versore  (anchesso uscente in O) per il quale il senso di rotazione prestabilito per K deve essere visto dalla punta di . A partire dal versore  costruisco la terna  ortogonale (non ortonormale) costituita dai seguenti vettori :  e calcolo i relativi moduli : | |  1 per ipotesi | |  K |  |K | sin  K |  |K | sin   ,  K ,   K

dove  langolo compreso tra il vettore  e K (minore di  rad.) Il terzo modulo venuto uguale al secondo perch basta accorgersi che  perpendicolare a  K e quindi il seno dellangolo fra di essi compresi vale esattamente sin 90  1. I vettori della base  sono linearmente indipendenti perch mutuamente perpendicolari e attraverso di essi si pu scrivere il vettore K come combinazione lineare dei soli vettori  e   K . Infatti K perpendicolare a  K che per perpendicolare lui stesso a  e   K , quindi K deve appartenere per forza al sottospazio generato da questi due ultimi. Allora introduciamo le componenti reali  ,  di K nella sottobase appena citata : K      K

e cerchiamo di calcolarne il loro effettivo valore. Proviamo ad esempio a calcolare | K | come segue :  K   | K|      K    | | | | |K | sin  sin  2  | | |K | sin        K  K 

essendo 0    . Si raccomanda di non far confusione tra il modulo dello scalare  e il modulo di un vettore di 3 R . Segue necessariamente che | |  1 perch sapevamo anche che | K |  |K | sin  , per rimane lindeterminazione del segno ma risolveremo questa faccenda appena pi sotto. Per finire abbiamo bisogno di calcolare preventivamente la componente di K lungo  , ma questo presto fatto : |K | 2   2   2 |K | 2 sin 2     2  |K | 2 sin 2 

da cui si ricava lo scalare  :   |K | cos  con angolo  sempre compreso nellintervallo 0,  Resta pertanto da stabilire quale delle due seguenti somme vettoriali quella giusta : K  |K | cos     K  |K | cos      K K

Per risolvere il dilemma , occorre armarsi di pazienza e ricordarci che essendo  K     K

dovremo sviluppare in dettaglio i 3 prodotti vettoriali a secondo membro ed uguagliare le due espressioni :    K  2K3 3K2, 3K1 1K3, 1K2 2K1 K  2 1K2 2K1 3 3K1 1K3 3 2K3 3K2 1 1K2 2K1 1 3K1 1K3 2 2K3 3K2    K 
3 2 2 3 2  2  2 1K3 2K3  23K2 32K3  3K2  31K2 3 2 2 3 2  3  2 2K1 3K1  31K3 13K1  1K3  12K3 3 2 2 3 2  1  2 3K2 1K2  12K1 21K2  2K1  23K1 2 2  2 1  2  3 2K3 3K2, 3K1 1K3, 1K2 2K1 

  Quindi

  1 Finalmente possiamo decomporre correttamente il vettore K :

K  |K | cos     K 

 

K  K (4)

Per effetto della rotazione di un angolo  il vettore K non cambia la componente lungo  ma quella lungo   K . Il vettore ruotato K   scomponibile nella somma vettoriale

K   |K | cos    v

(5)

dove v la proiezione di K lungo 

K ruotata di  radianti attorno allasse .

(fig 1) Osservando la (fig.1) si vede che il vettore v appartiene al piano formato dai vettori di base  K e   K che hanno fortunatamente lo stesso modulo e sono perpendicolari, come dimostrato precedentemente , inoltre la rotazione viene vista orientata positivamente dalla punta di  solo se avviene in senso antiorario, per cui lunica possibile decomposizione di v diviene : v  sin   K cos    K

Inserendo questultima nella (5) e sfruttando la (4) si ottiene :

K   |K | cos    sin    K  sin  

K cos   

 K

 (6)

K  1 cos  

La formula (6) ha una sua importanza autonoma ; vediamo ad esempio come si comporta quando gli assi di rotazione coincidono esattamente con i tre assi spaziali x , y , z.

Kx   K 1 , K 2 , K 3  sin  0, K 3 , K 2  1 cos  0, K 2 , K 3   K 1 , K 2 cos  K 3 sin , K 3 cos   K 2 sin 

Ky   K 1 , K 2 , K 3  sin  K 3 , 0, K 1  1 cos  K 1 , 0, K 3   K 1 cos   K 3 sin , K 2 , K 3 cos  K 1 sin  Kz   K 1 , K 2 , K 3  sin  K 2 , K 1 , 0  1 cos  K 1 , K 2 , 0   K 1 cos  K 2 sin , K 2 cos   K 1 sin , K 3

Le rotazioni nel formalismo matriciale Vogliamo riscrivere la formula (6) sfruttando le regole dellalgebra matriciale. Il primo passo consiste nel trovare , se esiste , quella matrice quadrata M di ordine 3 tale che se a  a 1 , a 2 , a 3 e x  x 1 , x 2 , x 3 sono due vettori di R 3 allora il prodotto vettoriale tra essi uguagliato dal prodotto matriciale Mx T :

x T  Mx T

(7)

con ovvio significato della trasposizione , in quanto i vettori sono di tipo riga. Si pu constatare abbastanza agevolvemente che lunica matrice M che gode della propriet (7) strutturata in questo modo : 0 M a3 a 2 a 3 0 a1 a2 a 1 0

La matrice M chiaramente antisimmetrica M T  M a determinante nullo. E utile anticipare un risultato indispensabile che riguarda il polinomio caratteristico di M in vista di future dimostrazioni. Il polinomio caratteristico di M : p    3 |a | 2  e per il teorema di Hamilton-Cayley abbiamo che M 3  M  0 solo se |a |  1 , cio se il vettore a un versore. In particolare se

0 M 3  2

 3 0 1

2  1 0 (8)

dove  il solito versore dellasse di rotazione , allora abbiamo che

 MK T

M  M 3 Inoltre grazie alla associativit del prodotto matriciale , il doppio prodotto vettoriale tra  e K diventa :   K
T

 M MK T  M 2 K T

mentre la formula (6) si pu finalmente riesprimere in forma matriciale come segue :

K 

 I  sin M  1 cos  M 2 K T

(9)

dove I la matrice identit di ordine 3. La matrice H di ordine 3 che dipende dal parametro  e dai tre parametri  1 ,  2 ,  3 risolve definitivamente il problema di costruire matrici di rotazione :

H  I  sin M  1 cos  M 2

(10)

Dimostreremo a breve che la matrice H ortogonale con determinante uguale a 1. Per finire notiamo che dalla (10) si evince che una rotazione ,  del tutto equivalente ad una rotazione ,  , questa propriet ci servir per affrontare lultimo interessante problema di questo elaborato : data la matrice di rotazione ortogonale H risalire al suo asse di rotazione  e allangolo di rotazione . Affronteremo questo quesito nella prossima sezione, ora intendiamo fornire qualche esempio di applicazione della (10).

ESEMPI STANDARD DI ROTAZIONE Dimostriamo che la formula (10) mantiene le propriet formali del prodotto vettoriale per i versori fondamentali di R 3 i jk ; j ki ; k ij

Ricordiamo che il prodotto vettoriale effettua la rotazione antioraria del secondo vettore visto dalla punta del primo, come in effetti indicato dalla (10). Esempio 1) direzione dellasse di rotazione normalizzata :   1, 0, 0 ; vettore da ruotare di /2 rad : K  0, 1, 0 ;

1 0 matrice H  0 1

0 0

0 0 1

vettore ruotato : K r  HK T  0, 0, 1 T ; Esempio 2) direzione dellasse di rotazione normalizzata :   0, 1, 0 ; vettore da ruotare di /2 rad : K  0, 0, 1 ;

0 matrice H  0

0 1 1 0

1 0 0 vettore ruotato : K r  HK T  1, 0, 0 T ; Esempio 3 direzione dellasse di rotazione normalizzata :   0, 0, 1 ; vettore da ruotare di /2 rad : K  1, 0, 0 ; 0 1 0 matrice H  1 0 0 0 0 1

vettore ruotato : K r  HK T  0, 1, 0 T ; Il problema inverso : angolo e asse di rotazione data la matrice in SO(3) Continuiamo ad adottare la convenzione secondo cui la rotazione avviene in senso antiorario visto dalla punta del versore di rotazione quando langolo positivo e supponiamo di avere una matrice di rotazione H ortogonale e a determinante unitario :

h 11 h 12 h 13 H h 21 h 22 h 23 h 31 h 32 h 33 Ricordando la (10) andiamo a sottrarre da H la matrice identit e poi valutiamo la trasposta della differenza : H I  sin M  1 cos  M 2 HI
T

; H 1  H T ; det H  1

 sin M  1 cos  M 2

Infatti M antisimmetrica e la matrice quadrata di M dunque una matrice simmetrica ( M 2 T  M M  M 2 ). Sommando e sottraendo riusciamo a separare le funzioni trigonometriche dellangolo  :

HI  HI 2 HI HI 2

 1 cos  M 2  sin M

(11) (12)

Cominciamo a sviluppare i pezzi nella (11) : HI  HI 2


T

h 11 1 
1 2 1 2

1 2

h 12  h 21 h 22 1 h 23  h 32 31 32
2  2 2 1

h 12  h 21 h 13  h 31
1 2

1 2 1 2

h 13  h 31 h 23  h 32 h 33 1

2  2 3 2

21
2  2 3 1

M2 

21 31

32

(Ora si vede bene che M 2 simmetrica). Allora il sistema di equazioni della (11) diventa :
2 h 11 1  1 cos   2 3 2 2 h 22 1  1 cos   2 3 1 2 h 33 1  1 cos   2 2 1

1 h 12  h 21  1 cos   2  1 2 1 h 13  h 31  1 cos   3  1 2 1 h 23  h 23  1 cos   2  3 2 e ricordando che il modulo di  vale 1 e utilizzando un semplice accorgimento nelle ultime 3

equazioni si ha il seguente sistema :

2 h 11  2 1  1  1 cos  2 h 22  2 2  1  2 cos 

(11-bis)

h 33

2 3

 1

2 3

cos 

 1 h 12  h 21   2 h 13  h 31   3 h 12  h 21

Ora occupiamoci subito delle (12) e notiamo che a primo membro le matrici identit si elidono , il sistema di equazioni che si ottiene :

2 sin  1  h 32 h 23 2 sin  2  h 13 h 31 2 sin  3  h 21 h 12 (12-bis)

Studieremo le equazioni (11-bis) e (12-bis) per cercare le incognite componenti  1 ,  2 ,  3 del versore dellasse di rotazione e langolo di rotazione  compreso tra 0 e 2 nella sezione successiva. Di notevole interesse la forma esplicita della matrice di rotazione in funzione del parametro angolare  e delle componenti vettoriali del versore . Con pochi calcoli si trova la seguente formula : 2 1 1 cos   cos  H  3 sin   1 cos   1  2  2 sin   1 cos   1  3  3 sin   1 cos   2  1 2 2 1 cos   cos   1 sin   1 cos   2  3  2 sin   1 cos   1  3  1 sin   1 cos   2  3 2 3 1 cos   cos  (13) La (13) rappresenta cos la forma pi generale di una matrice ortogonale appartenente al gruppo SO 3 .

RISOLUZIONE dei SISTEMI (11-bis) e (12-bis) Supponiamo che la matrice H sia simmetrica , allora per la (12-bis) gli unici angoli possibili possono essere soltanto   0 e   . Se   0 allora grazie alle (11-bis) gli elementi posti sulla diagonale principale sono tutti unitari : h ii  1 , i  1, 2, 3. Inoltre dalla (13) ricaviamo immediatamente che tutti gli altri elementi sono nulli : h ij  0 , i j , cio la matrice H corrisponde alla matrice identit I. A questo punto rimane indeterminato il versore  di rotazione perch una rotazione nulla pu essere pensata di essere eseguita attraverso una qualsiasi direzione spaziale. Tutte le equazioni dei sistemi (11-bis) e (12-bis) rimangono identicamente soddisfatte.

Se    allora la matrice H certamente simmetrica ma non uguale allidentit. Le equazioni (12-bis) si trasformano anchesse in banali identit nulle , mentre invece le prime tre equazioni di (11-bis) forniscono una prima condizione sulle componenti del versore di rotazione : | i |  h ii  1 2 i  1, 2, 3. (14)

Il problema della determinazione del segno pu essere affrontato guardando ancora una volta la (13) ; infatti se langolo  piatto allora il segno delle componenti del versore pu essere identificato rispettando le equazioni : 2 1  2  h 12 2 1  3  h 13 2 2  3  h 23 Questo fa s che si presentino 8 possibili casi diversi , in cui la segnatura del versore    1 ,  2 ,  3 potr assumere valori differenti, dove per segnatura intendiamo lattribuzione o meno del segno  o del segno alla radice quadrata che compare in (14) rispettando lordine con cui compaiono le componenti del versore. Vediamola esplicitamente : 1. h 12  0 h 13  0 h 23  0 : segnatura di   , ,  oppure 2. h 12  0 h 13  0 h 23  0 : segnatura di   impossibile 3. h 12  0 h 13  0 h 23  0 : segnatura di   impossibile 4. h 12  0 h 13  0 h 23  0 : segnatura di   , , oppure 5. h 12  0 h 13  0 h 23  0 : segnatura di   impossibile 6. h 12  0 h 13  0 h 23  0 : segnatura di   , , oppure 7. h 12  0 h 13  0 h 23  0 : segnatura di   , ,  oppure 8. h 12  0 h 13  0 h 23  0 : segnatura di   impossibile

, ,

, , 

, ,  , ,

Notiamo che lultima della (11-bis) automaticamente soddisfatta. Trovati anche i segni , non abbiamo per ancora finito del tutto perch dobbiamo anche convincerci del fatto che le soluzioni (in modulo) della (14) obbediscano alla condizione di rappresentare un vettore con norma uguale a 1. Ma questo diventa assolutamente vero se a monte del nostro ragionamento scegliamo un versore di modulo unitario che produce una matrice ortogonale come stabilito secondo la (10), altrimenti se cos non fosse significherebbe che la matrice di partenza non ortogonale, cio non appartiene al gruppo SO 3 .

Infine osserviamo la particolare forma che assume la matrice di rotazione nel caso    : 2 2 1 1 H 2 1  2 2 1  3 2 2  1 2 2 2 1 2 2  3 2 1  3 2 2  3 2 2 3 1

che gode quindi della propriet di essere ortogonale e simmetrica e di avere il quadrato uguale alla matrice identit. Supponiamo ora che la matrice di rotazione H non sia simmetrica, in tal caso allora langolo  non pu essere nullo o piatto, quindi il valore trigonometrico del suo seno deve essere per forza non nullo. Grazie alle (12-bis) possiamo concludere che il vettore h  h 32 h 23 , h 13 h 31 , h 21 h 12 parallelo al versore  , in particolare possiamo normalizzarlo per scoprire proprio la composizione vettoriale di  :  h |h | (15)

Anche questa volta si presenta lindeterminazione del segno , in realt per il risultato non deve sorprenderci in quanto gi sapevamo che una rotazione del tipo ,  equivalente ad una controrotazione ,  . Questo deve indurci a pensare che a seconda della segnatura scelta nella (15) si dovr abbinare a  il suo corrispondente angolo  piuttosto che il suo esplementare   2  . Per completare il quadro delle nostre indagini abbiamo bisogno ora di considerare le (11-bis) e di isolare il coseno. Per farlo dobbiamo scegliere lindice i (compreso tra 1 e 3) tale che  i 1 in modo tale che il denominatore non si annulli : cos   h ii  2 i 1 2 i

Si noti che questo indice esiste sicuramente , perch se per assurdo cos non fosse , allora avremmo tutte e le tre componenti di  identicamente uguali a 1, ma allora abbiamo ottenuto un assurdo perch  non sarebbe un versore. Invertendo lequazione precedente si ottengono le due soluzioni angolari , la prima compresa tra 0 e  , mentre la seconda compresa tra  e 2.  1  arccos h ii  2 i 1 2 i  2  2 arccos h ii  2 i 1 2 i

Resta da capire ora come abbinare i due angoli ai due versori in (15). Riprendiamo in esame nuovamente le equazioni (12-bis) e notiamo che siccome il range per  1 lintervallo 0,  allora significa che se vogliamo abbinare il versore corretto dobbiamo scegliere quello le cui componenti hanno lo stesso segno del vettore h infatti sin  1  0 Con questultima considerazione abbiamo finalmente risolto interamente il problema inverso della determinazione dellasse e dellangolo di rotazione data in input una matrice ortogonale del gruppo speciale. Le due soluzioni sono :

1

h 32 h 23 , h 13 h 31 , h 21 h 12 h 32 h 23
2

 h 13 h 31

 h 21 h 12

 1  arccos

h ii  2 i 1 2 i h ii  2 i 1 2 i

2

h 23 h 32 , h 31 h 13 , h 12 h 21 h 32 h 23
2

 h 13 h 31

 h 21 h 12

 2  2 arccos

DIMOSTRAZIONE di APPARTENENZA al GRUPPO SO(3) Dobbiamo dimostrare che la matrice H ortogonale con determinante uguale a 1. Consideriamo la matrice di rotazione H come indicato dalla (10) e moltiplichiamola per la sua trasposta, ricordando per che la matrice M in (8) antisimmetrica e tale per cui M 3  M : HH T  I  sin M  1 cos  M 2 I  sin M  1 cos  M 2  I  sin M  1 cos  M
2 T

I sin M  1 cos  M

In generale il prodotto matriciale non commutativo , ma in questo caso le uniche matrici che compaiono sono lidentit I ed M che commutano benissimo tra loro stesse , per cui il prodotto HH T pu essere convenientemente pensato come una somma per una differenza :  I  1 cos  M 2  sin M I  1 cos  M 2 sin M   I  1 cos  M 2
2

sin 2 M 2 

 I  2 1 cos  M 2  1 cos  2 M 4 sin 2 M 2   I  2M 2 2 cos M 2  M 4 2 cos M 4  cos 2 M 4 sin 2 M 2   I  2M 2 2 cos M 2 M 2  2 cos M 2 cos 2 M 2 sin 2 M 2  I Per calcolare il determinante , abbiamo bisogno di considerare la forma della matrice H come riferito in (13) . Il calcolo abbastanza lungo da effettuare a mano , ragion per cui si optato di lasciarlo fare ad un software dedicato appositamente al calcolo simbolico (Scientific Work Place , ver. 3.0) :
2 2 2 2 2 det H   2 2  3 cos   1   1 cos    2 cos    3 cos   2 2 2 2 2  cos 2    2 3 sin    1 sin    2 sin 

Apparentemente il risultato ottenuto non sembra avere esito positivo , per in realt occorre fare un piccolo sforzo in pi e intervenire manualmente sullespressione algebrica fornitaci in output ricordando che il vettore  ha modulo unitario.
2 2 2 2 2 det H   2 1  2  3 cos    1 cos    2 cos    3 cos   2 2 2 2 2  cos 2    2 1 sin    3 sin    2 sin 

 1 cos   cos   11  1 La dimostrazione terminata.

cos 2   sin 2 

Esempio conclusivo. Grazie alla formula (10) facile costruire sottogruppi finiti di SO 3 , infatti basta scegliere un versore di rotazione e generare le corrispondenti matrici di rotazione per angoli che siano sottomultipli di 2. Ad esempio si scelga   1 , 1 , 0 e si scelgano gli angoli   0, 2 , 4  equidistanziati 3 3  rad. Le 3 matrici di rotazione ottenute formano un sottogruppo di ordine 3. I risultati ottenuti vengono approssimati a quattro cifre decimali: di
2 3 2 2

1 0 0 H1  0 1 0 0 0 1 0.2500 H3  0.7500 0.7500 0.2500 H2 

0.2500 0.7500

0.7500

0.6124

0.2500 0.6124

0.6124 0.6124 0.5000 0.6124 0.6124

0.6124 0.6124 0.5000

Alberto Cella