23/02/23

Vettori e matrici di rotazione **

Questo articolo si propone di fornire un semplice strumento, con l'uso di vettori e matrici di rotazione, per rappresentare il meccanismo della rotazione in forma vettoriale, scomponendo e semplificando il problema di determinare i cambiamenti di orientamento dovuti a spostamenti rotatori.

Ho sempre percepito nei moti di rotazione una personalità ambigua, elusiva, infida.

Con le traslazioni è diverso, sono oneste e trasparenti. Con le traslazioni sai sempre cosa succede, è indifferente andare prima avanti e poi a destra piuttosto che prima a destra e poi avanti. Percorri sempre la stessa distanza e arrivi comunque allo stesso posto, se ti muovi su un piano,naturalmente.

Sì, perché se ti muovi su una sfera (e qui si insinuano subdolamente le rotazioni) non è la stessa cosa andare prima a est e poi a nord oppure prima a nord e poi a est.

I tratti percorsi lungo i meridiani hanno la stessa lunghezza in ogni caso, ma i tratti sui paralleli sono ben diversi a seconda che ci si muova vicino all'equatore o vicino al polo perché i raggi dei paralleli sono diversi a seconda della latitudine. Esiste un percorso più breve: quello che prima porta verso il polo e, raggiunta la latitudine finale, procede lungo il parallelo verso la destinazione.

Ma per accorgersi di questa “stranezza” non occorre muoversi di casa, basta osservare comunissimi gesti che facciamo ogni giorno e ragionarci sopra.

Un libro da rimettere al suo posto

Dopo aver riletto con piacere l'interessante libro in primo piano, vorrei rimetterlo al suo posto, sul ripiano soprastante.

assi fissi per vettore rotante

Per riuscirci, però, dovrei prima orientarlo nel modo opportuno. Poi, con una semplice traslazione, potrei sollevarlo al giusto livello e infine inserirlo tra gli altri.

Per prima cosa fissiamo un sistema di riferimento. Ma quale? Ci sono due possibilità: un sistema solidale con il libro (e allora dovrei pensare a rotazioni che coinvolgono gli assi di riferimento (come si fa ad esempio studiando gli asteroidi di Vincenzo) oppure un sistema di assi fissi al loro posto. In questo secondo caso sarà solo il libro a ruotare al loro interno.

Quest'ultima è la scelta che faremo e che ci permetterà di vedere ruotare il libro mantenendo XYZ, fermi come li vedete, tratteggiati in bianco nella foto qui sopra.

Una piccola anticipazione: la diagonale del parallelepipedo “libro”, che nelle animazioni che seguono è praticamente un singolo foglio, è stata denominata "vettore” perché, con la sua lunghezza e la sua direzione, sintetizza bene l'orientamento del libro stesso.

Vediamo quindi come dobbiamo agire per raggiungere l' obiettivo finale della missione “libro a posto” illustrata nella foto qui sotto:

libro ruotato

Inizialmente eseguo la rotazione di 90° in senso antiorario attorno all'asse verticale Y. Il libro si mantiene sul piano XZ in cui si trova.

Come passo successivo eseguo la rotazione di 90 ° in senso orario attorno all'asse Z, sporgente verso di me. Il libro ora avrà assunto la posizione “in piedi” perfetta per essere traslato e inserito tra gli altri. Ecco l'animazione:

rotazione vettore sequenza 1

Di solito eseguiamo questi movimenti automaticamente, senza neppure farci caso.

Ci si potrebbe domandare se, invertendo l'ordine delle rotazioni, si otterrebbe lo stesso risultato.  Vedremo che, invertendo l'ordine, le cose vanno diversamente, Ecco la relativa sequenza animata:

rotazione vettore sequenza 2

Riassumendo: la nuova sequenza prevede per prima la rotazione in senso orario attorno all'asse Z e poi la rotazione antioraria attorno all'asse X.

Ottengo così un risultato sconfortante: il libro non è “in piedi” ma “sdraiato” e mi mostra la schiena. Non potrò riporlo a dovere.

Ne concludo che le rotazioni, a differenza delle traslazioni, non sono commutabili.

Mi chiedo come posso rappresentarle per capire meglio il loro comportamento.

Ogni oggetto è costituito da una infinità di punti. Supponendo che si tratti di un oggetto indeformabile, ruotandolo attorno ad un asse tutti i suoi punti ruoteranno dello stesso angolo.

Pertanto sarà sufficiente analizzare il moto di uno solo dei suoi punti.  Ed è proprio quello che faremo.

 

Le coordinate di un punto e la loro evoluzione

In questa figura il punto P è collocato sul piano XY e lo faremo ruotare attorno all'asse Z.

Le coordinate di P cambieranno in funzione dell'angolo di rotazione (beta). Il nostro intento è di capire come le nuove coordinate sono collegate a quelle iniziali.


Il triangolo verde O A P ha come ipotenusa il raggio = 1 e come cateti le coordinate di P, ossia       OA = cos  α  e  AP = sen α.
Il triangolo blu O A' P ' ha come ipotenusa il raggio OP' = 1 e come cateti OA' = cos β e A'P' = senβ.

Naturalmente le coordinate di P' non sono questi due cateti ma le proiezioni di P' sugli assi X e Y:cos (α + β) e sen (α + β) che non sono indicati con lettere nella figura ma sono facilmente immaginabili.


Sul disegno precedente tracciamo le due linee rosse: quella orizzontale che passa per P' e quella verticale che passa per A'.

la loro intersezione avviene nel punto B. Notiamo che l'angolo P'A'B è esattamente l'angolo α (essendo compreso tra rette perpendicolari a quelle che formano α )
Seguendo la linea rossa parallela a X abbiamo:

DP' + P'B = DB. Sostituiamo i loro valori

cos (α + β) + senβ sen α = cos β cos α da cui:

cos (α + β) = cos β cos α - senβ sen α

Seguendo la linea rossa parallela a Y abbiamo :

CA' + A'B = CB. Sostituiamo i loro valori

cos β sen α + sen β cos α = sen (α + β) da cui:

sen (α + β) = cos β sen α + sen β cos α

Regola generale di scrittura: In tutti i prodotti scriviamo prima le funzioni di β, poi quelle di α.

Nella prima somma iniziamo con il termine in cos β, nella seconda con il termine in sen β.

cos (α + β) = cos β cos α - sen β sen α

sen (α + β) = sen β cos α + cos β sen α

Per coloro che preferiscono un approccio analitico a queste dimostrazioni non resta che consultare l'articolo “trigonometria per tutti” nell'infinito archivio del Teatro.

Riassumendo....

abbiamo applicato una rotazione, in senso antiorario, attorno all'asse Z, ad un vettore OP, ottenendo il nuovo vettore OP'.


Ambedue i vettori hanno modulo = 1
Le loro proiezioni sugli assi costituiscono le loro componenti, e coincidono con i coseni direttori delle rispettive rette di applicazione.

Per definizione, in geometria analitica, i coseni direttori di una retta sul piano XY( o anche di un vettore) sono i coseni degli angoli convessi che la retta (o la retta su cui giace il vettore) forma con gli assi XY.

Il legame che cercavamo tra le coordinate dei due vettori (ossia i rispettivi coseni direttori) in funzione della posizione iniziale e dell'angolo di rotazione, è dato esattamente dalla espressione di addizione degli angoli.

cos (α + β) = cos β cos α - sen β sen α

sen (α + β) = sen β cos α + cos βsen α

 

Vettori, matrici di rotazione e loro rappresentazione tabellare

Ora ricorriamo ad un tipo di scrittura particolare, per rappresentare i vettori mediante tabelle.

Per il vettore OP la tabella avrà una sola colonna e due righe in cui appaiono i valori delle sue componenti: nella prima riga la componente relativa all'asse X e nella seconda quella relativa all'asse Y.

Vettore OP
cos α 
sen α 

In modo del tutto analogo scriviamo il vettore OP'

Vettore OP'
cos (α + β)
sen (α + β)

i cui contenuti, esplicitamente, sono i seguenti:

         Vettore OP'
cos β cos α - sen β sen α
sen β cos α + cos β sen α

Osserviamo la prima riga.

Si può costruire eseguendo il prodotto di (cos β ) per la prima riga di OP e sommando il prodotto di (- sen β ) per la seconda riga di OP

moltiplicatori Vettore OP Vettore OP'

cos β    - sen β

cos α

cos β cos α - sen β sen α

sen α

Possiamo fare una analoga osservazione per la seconda componente del vettore OP'. In questo caso:

Si può costruire eseguendo il prodotto di (sen β ) per la prima riga di OP e sommando il prodotto di (cos β ) per la seconda riga di OP

moltiplicatori Vettore OP

Vettore OP'

cos α

sen β      cos β

sen α

sen β cos α + cos β sen α

Riunendo tutte le espressioni che abbiamo visto otteniamo questo schema:

moltiplicatori Vettore OP

Vettore OP'

cos β    - sen β

cos α

cos β cos α - sen β sen α

sen β      cos β

sen α

sen β cos α + cos β sen α

Il meccanismo di moltiplicazione descritto prende il nome di “moltiplicazione righe per colonne” e la tabella dei moltiplicatori è chiamata “matrice di rotazione”.

Dato che la rotazione avviene attorno all'asse Z e l'angolo è β, la rappresenteremo così : Rz β

ove R significa Rotazione, l'apice Z indica l'asse, il pedice β indica l'angolo.

In sintesi scriveremo che il vettore OP, sottoposto alla rotazione, si trasforma nel vettore OP' in questo modo:

( Rzβ (OP)) = (OP')

Abbiamo lasciato da parte la terza dimensione, rappresentata dall'asse Z, attorno al quale avviene le rotazione. In effetti le coordinate dei vettori OP e OP' su questo asse sono nulle.

Formalmente possiamo indicare questa caratteristica aggiungendo ai vettori una terza riga per la coordinata Z, in questo modo:

Vettore OP

cos α

sen α
0

 

Vettore OP'

cos β cos α - sen β sen α

sen β cos α + cos βsen α

0

Ma sarà anche necessario ampliare la matrice di rotazione aggiungendole una riga ed una colonna. In esse scriveremo l'informazione che la variabile Z non influisce sul risultato.

Matrice di rotazione Rz β

cos β

- sen β

0

sen β

cos β

0

0

0

1

Ci si domanda a questo punto per quale motivo nella cella che appartiene alla terza riga e terza colonna appare il valore 1 invece di 0.

Ebbene, il significato di ciascuna cella della matrice è quello di indicare il “peso” da dare a ciascuna componente del vettore iniziale nel comporre le componenti del vettore finale.

Ad esempio, la componente x del vettore OP' (finale) conterrà la componente x di OP (iniziale) pesata con cos β + la componente y di OP(iniziale) pesata con - sen β .

Il valore della componente z di OP è pesato con 1 perché il movimento la lascia inalterata.

Nel nostro caso, il valore di z iniziale è comunque nullo, ma se il valore di z fosse diverso da zero, allora la componente z, al termine della rotazione (attorno a Z ) non avrebbe comunque subito nessuna modifica, le componenti x e y iniziali continuerebbero a non avere alcun peso (poichè sulla terza riga le prime due caselle contengono 0 ) e la componente iniziale z, con il suo peso del 100%, ossia 1, darebbe origine ad un identico valore z nel vettore finale.

La moltiplicazione righe per colonne della matrice con il vettore OP fornirà questi valori:

Matrice di rotazione Rzβ Vettore OP Vettore OP'
cos β     - sen β          0

cos α

cos β cos α - sen β sen α + 0*0

sen β       cos β          0

sen α

sen β cos α + cos β sen α + 0*0

  0             0              1

0

0*cos α + 0*sen α + 1*0

Sono sostanzialmente identici a quelli di prima ma, formalmente, descrivono l'evento nello spazio tridimensionale.

Per descrivere la rotazione attorno agli altri assi è sufficiente costruire le opportune matrici di rotazione che avranno la stessa struttura di quella valida per rotazioni attorno all'asse X.

Rotazione sul piano ZY attorno all'asse X

Osserviamo il piano ZY. La rotazione β del vettore OP, posizionato inizialmente ad un angolo α rispetto all'asse Y, avviene attorno all'asse X in senso antiorario. Il vettore nella posizione finale OP' formerà quindi con l'asse Y un angolo α + β.

Il triangolo verde O A P ha come ipotenusa il raggio = 1 e come cateti le coordinate di P, ossia OA = cos α e AP = sen α.

Il triangolo blu O A' P ' ha come ipotenusa il raggio OP' e come cateti :

OA' = cos β e A'P' = sen β.

Naturalmente le coordinate di P' non sono questi due cateti ma le proiezioni di P' sugli assi Y e Z :

CB = sen (α + β) e DP' = cos (α + β).

Notiamo che l'angolo P'A'B è esattamente l'angolo α (essendo compreso tra rette perpendicolari a quelle che formano α )

Seguendo la linea rossa parallela a Y abbiamo:

DP' + P'B = DB. Sostituiamo i loro valori

cos (α + β) + senβ sen α = cos β cos α da cui:

cos (α + β) = cos β cos α - senβ sen α

Seguendo la linea rossa parallela a Z abbiamo :

CA' + A'B = CB. Sostituiamo i loro valori

cos β sen α + sen β cos α = sen (α + β) da cui:

sen (α + β) = sen β cos α + cos β sen α

Ritroviamo quindi due espressioni simili a quelle della rotazione attorno all'asse Z.

La matrice di rotazione che ora indicheremo con Rxβ sarà la seguente:

Matrice di rotazione Rxβ

1 0 0
0 cos β - sen β
0 sen β cos β

Il vettore iniziale OP sarà descritto attraverso le sue componenti come segue:

Vettore OP

0
cos α
sen α

Rotazione sul piano XZ attorno all'asse Y.

Dopo avere osservato la rotazione sulla parete “frontale” e su quella “laterale” del nostro sistema di riferimento, non ci resta che concludere osservandola sul “pavimento” delimitato dagli assi X e Z.

Su questo piano la rotazione antioraria del vettore OP di un angolo β, avviene attorno all'asse Y.

Procederemo da Z in senso antiorario; il vettore finale formerà quindi con l'asse Z un angolo α + β.

Il triangolo verde O A P ha come ipotenusa il raggio = 1 e come cateti le coordinate di P, ossia OA = cos α e AP = sen α.

Il triangolo blu O A' P ' ha come ipotenusa il raggio OP' e come cateti :

OA' = cos β e A'P' = sen β.

Naturalmente le coordinate di P' non sono questi due cateti ma le proiezioni di P' sugli assi X e Z :

CB = sen (α + β) e DP' = cos (α + β).

Notiamo che l'angolo P'A'B è esattamente l'angolo α (essendo compreso tra rette perpendicolari a quelle che formano α ).

Seguendo la linea rossa parallela a X abbiamo :

CA' + A'B = CB. Sostituiamo i loro valori

cos β sen α + sen β cos α = sen (α + β) da cui:

sen (α + β) = cos β sen α + sen β cos α

Seguendo la linea rossa parallela a Z abbiamo:

DP' + P'B = DB. Sostituiamo i loro valori

cos (α + β) + senβ sen α = cos β cos α da cui:

cos (α + β) = - senβ sen α + cos β cos α

Ritroviamo quindi due espressioni simili a quelle della rotazione attorno all'asse Z.

La matrice di rotazione che ora indicheremo con Ryβ sarà la seguente:

Matrice di rotazione Ryβ
cos β 0 sen β
0 1 0
- sen β 0 cos β

Il vettore iniziale OP sarà descritto attraverso le sue componenti come segue:

Vettore OP

sen α

0

cos α

A questo punto abbiamo a disposizione tre matrici per rappresentare la rotazione di un generico angolo attorno a ciascuno dei tre assi X,Y,Z.

Applicando le semplici operazioni di calcolo delle righe (della matrice) per la colonna del vettore nella sua posizione iniziale, potremo scrivere la colonna del vettore nella sua posizione finale.

 

Applicazione all'esempio del "libro da riporre"

Torniamo allora al nostro libro.

La posizione di partenza è sempre la medesima. Chiamando con A l'altezza del volume, L la larghezza e S lo spessore, il vettore (che altro non è che la diagonale del parallelepipedo-libro) nella posizione iniziale ha questa rappresentazione:

Vettore OP

L

S

A

La prima mossa prevista dalla prima sequenza descritta è la rotazione di 90° in senso antiorario attorno all'asse Y il cui simbolo è Ryβ

Ecco la matrice di rotazione da utilizzare.

L'angolo è β = 90° positivo perché ruoto in senso antiorario

Matrice di rotazione Ryβ
cos β 0 sen β
0 1 0
- sen β 0 cos β

Eseguo il calcolo:

Matrice di rotazione Ry90° Vettore inizio Vettore fine
   0           0          1 L A
   0           1          0 S S
   -1          0         0  A -L

Passiamo alla seconda rotazione: 90 in senso orario (-90 in senso antiorario) attorno Z, ossia:

Matrice di rotazione Rz β
cos β - sen β
sen β cos β

Tenendo conto del valore dell'angolo e partendo con un vettore iniziale che è semplicemente il precedente vettore finale, procediamo al calcolo della seconda rotazione.

Matrice di rotazione Rz-90°

Vettore inizio Vettore fine
0           1          0 A S
-1         0           0 S -A
0          1           0 -L - L

Dopo la seconda rotazione lo spessore è sull'asse X, l'altezza sull'asse Y, la larghezza sull'asse Z.

Il libro è ora correttamente orientato per essere messo al suo posto.

Infine ripetiamo le operazioni invertendo le due rotazioni, sempre a partire dalla posizione di prima.

Prima rotazione

Matrice di rotazione Rz-90° Vettore inizio Vettore fine
0          1          0 L S
-1         0          0 S -L
0          1         0 A A

Seconda rotazione

Matrice di rotazione Ry90° Vettore inizio Vettore fine
0           0           1 S A
0           1           0 -L -L
-1         0            0 A -S

Il risultato finale è diverso da quello ottenuto prima e non consente di riporre il volume.

Infatti l'altezza è sull'asse X, la larghezza sull'asse Y, lo spessore sull'asse Z.

La conclusione rilevante è che l'operazione di prodotto di matrici non gode della proprietà commutativa.

Oltre alla coppia di rotazioni Ry90° , Rz-90° esistono però soluzioni alternative per ottenere lo stesso risultato con rotazioni differenti.

Nell'esempio del “libro da riporre” è possibile orientarlo come desiderato anche con una rotazione preliminare di 90° in senso orario attorno all'asse Z, seguita da una rotazione in senso antiorario di 90° attorno all'asse X, in forma sintetica: Rz-90° , Rx90° .

Oppure, in altro modo, con una rotazione preliminare di 90° in senso antiorario attorno all'asse X, seguita da una rotazione di 90° in senso antiorario attorno all'asse Y, in forma sintetica: Rx90° , Ry90° .

La sequenza utilizzabile non è unica ma, invertendo l'ordine di due rotazioni, il risultato è diverso. Solo nel caso (ovvio) di rotazioni consecutive attorno allo stesso asse si può invertire la sequenza.

L'utilità delle matrici di rotazione si rivela pienamente quando occorre trovare i coseni direttori di una retta nello spazio, partendo da una orientazione iniziale modificata con ripetute rotazioni.

Invitiamo i lettori a trovare possibili campi di applicazione per questo metodo.

 

QUI una possibile applicazione suggerita da quella peste di Oreste

6 commenti

  1. Alberto Salvagno

    Non mi pare difficile, ma solo un po' complicato. Insomma richiede parecchia attenzione.

    Se continui così andrà a finire che - dopo l'aiuto di Vincenzo sull'equazione di Scroedinger - prima di morire capirò qualcosa anche della meccanica delle matrici di Heisemberg :-)

  2. Maurizio Bernardi

    Giusta osservazione, Alberto. E' un metodo non difficile da capire, ma esige attenzione, precisione e pazienza nella esecuzione.  Data la ripetitività meccanica delle operazioni è particolarmente adatto ad essere automatizzato nella fase di calcolo, lasciando agli "umani"  il compito di impostare i passaggi della soluzione.

    Riguardo Heisemberg, sono certo che sarà molto contento per te. Conoscendolo so che ti inviterebbe ad aspettare di morire  perché restano tantissime  altre cose da scoprire/capire e, mentre si capiranno quelle, (perché alla fine si capiranno)  ne salteranno fuori altre.  Vorrai mica perdertele !

  3. Alberto Salvagno

    Come ci ricordasti qualche anno fa, sembra che Heisenberg dicesse che esistono cose talmente serie che ci si può solo scherzare

  4. Maurizio Bernardi

    Infatti, al punto che sul suo epitaffio è scritto "Giace qui, da qualche parte", con evidente allusione al principio di indeterminazione.

  5. Alberto Salvagno

    :-) :-) :-)

  6. Alberto Salvagno

    e da un po' di tempo...

Lascia un commento

*

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)

 

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.