Nell'algebra lineare, una matrice di rotazione è una matrice di trasformazione utilizzata per eseguire una rotazione nello spazio euclideo. Per esempio, utilizzando la seguente convenzione, la matrice

ruota i punti nel piano in senso antiorario di un angolo rispetto all'origine di un sistema di riferimento cartesiano bidimensionale. Per ruotare un punto nel piano con coordinate standard , si deve moltiplicare la matrice per il vettore colonna, ottenendo:

Se e sono le coordinate del punto finale di un vettore avente lunghezza e angolo rispetto all’asse possiamo scrivere le due uguaglianze:

Sostituendo nell'equazione di sopra:

Si tratta di due delle formule trigonometriche di addizione e sottrazione. Dunque la matrice di rotazione rappresenta la somma trigonometrica tra due angoli. Un modo per comprenderlo è ipotizzare di avere un vettore con un angolo di 30° rispetto all'asse e ruotarlo di altri 45°. Si ottengono le coordinate del punto finale del vettore a 75°.

Gli esempi riportati si applicano alle rotazioni attive di vettori in senso antiorario in un sistema di coordinate destrorso (con in senso antiorario rispetto a ) mediante pre-moltiplicazione (con la matrice sulla sinistra). Se uno di questi viene modificato (per esempio, ruotando gli assi in luogo dei vettori, si ha una trasformazione passiva), in quel caso si dovrebbe usare l'inversa della matrice di esempio, che coincide con la sua trasposta.

Una matrice quadrata è di rotazione se e solo se è ortogonale con numeri reali, (con e ).

Poiché la moltiplicazione di matrici non ha effetto sul vettore nullo (le coordinate dell'origine), le matrici di rotazione descrivono le rotazioni attorno all'origine, fornendo una descrizione algebrica di tali rotazioni e sono ampiamente utilizzate per calcoli in geometria, fisica e computer grafica. In alcuni testi, il termine "rotazione" viene generalizzato includendo le rotazioni improprie, con determinante (invece di ). Questi combinano rotazioni "proprie" con "riflessioni" (che invertono l'orientamento). In altri casi, dove le riflessioni vengono trascurate, la dicitura vera e propria può essere omessa. Qui verrà fatta quest'ipotesi.

L'insieme di tutte le matrici ortogonali di dimensione con determinante è una rappresentazione di un gruppo noto come gruppo ortogonale speciale , un esempio è il gruppo di rotazione tridimensionale . L'insieme di tutte le matrici ortogonali di dimensione con determinante o è una rappresentazione del gruppo ortogonale (generale) .

In due dimensioni Nel piano, la matrice di rotazione standard ha la seguente forma:

Ruota i vettori colonna mediante il seguente prodotto matriciale:

Pertanto, le nuove coordinate di un punto , dopo la rotazione, sono

Esempi Quando il vettore

viene ruotato di un angolo , le sue coordinate diventano

e quando il vettore

viene ruotato di un angolo , le sue coordinate diventano

Direzione La direzione di rotazione del vettore è antioraria se è positivo (per esempio 90°), oraria se è negativo (per esempio −90°) per . Pertanto, la matrice di rotazione in senso orario si ottiene con

Il caso bidimensionale è l'unico non banale (non unidimensionale) dove il gruppo di matrici di rotazione è commutativo: non ha importanza l'ordine con cui eseguite rotazioni multiple. Una convenzione alternativa prevede l'uso di assi rotanti, dove le matrici di cui sopra rappresentano una rotazione degli assi in senso orario di un angolo .

Orientamento non standard del sistema di coordinate Se si utilizza un sistema di riferimento destrorso, con l'asse a destra e l'asse in alto, la rotazione avviene in senso antiorario. Viceversa, con un sistema di coordinate cartesiane sinistrorso, dove l'asse è sempre orientato verso destra ma l'asse è rivolto verso il basso, produce una rotazione in senso orario. Questi orientamenti sono utilizzati raramente in matematica, ma sono tipici della computer grafica bidimensionale, dove sovente si fissa l'origine degli assi in alto a sinistra con l'asse rivolto verso il basso dello schermo o della pagina.

Di seguito sono riportate altre convenzioni che possono alterare il senso di rotazione prodotto da una matrice di rotazione.

Rotazioni bidimensionali tipiche Particolarmente utili sono le matrici

le quali rappresentano, rispettivamente, le rotazioni in senso antiorario di 90°, 180° e 270°.

Relazione con il piano complesso Da

le matrici della forma

generano un anello isomorfo al campo dei numeri complessi . Sotto questo isomorfismo, le matrici di rotazione equivalgono al gruppo circolare della circonferenza unitaria dei numeri complessi di modulo unitario.

Identificando con attraverso la trasformazione lineare l'azione di una matrice di rotazione sui vettori di corrisponde alla moltiplicazione per il numero complesso , e le rotazioni corrispondono alla moltiplicazione per numeri complessi di modulo 1.

Poiché ogni matrice di rotazione può essere scritta come

la corrispondenza di cui sopra associa tale matrice al numero complesso

Quest'ultima identità è nota come formula di Eulero.

In tre dimensioni

Rotazioni tridimensionali di base Una rotazione tridimensionale di base (detta anche rotazione elementare) è una rotazione attorno a uno degli assi del sistema di coordinate. Le tre matrici di rotazione seguenti ruotano i vettori di un angolo attorno all'asse , o , nelle tre dimensioni, utilizzando la regola della mano destra, la quale codifica i loro segni alternati. Si noti che la regola della mano destra funziona solo quando si moltiplica . (Le stesse matrici possono anche rappresentare una rotazione oraria degli assi.Si noti che se, invece di ruotare i vettori, è il quadro di riferimento a essere ruotato, i segni dei termini verranno invertiti. Se il quadro di riferimento A viene ruotato in senso antiorario attorno all'origine di un angolo per creare il quadro di riferimento B, allora (con i segni invertiti) trasformerà un vettore descritto in coordinate del quadro di riferimento A in coordinate del quadro di riferimento B. Nella robotica e in altri campi del settore aerospaziale, le trasformazioni dei quadri di coordinate vengono spesso eseguite utilizzando questa interpretazione della matrice di rotazione.)

Per vettori colonna, ciascuna di queste rotazioni di base avviene in senso antiorario quando l'asse, attorno al quale si verifica, punta verso l'osservatore. Il sistema di coordinate è destrorso e l'angolo è positivo. , per esempio, ruoterebbe un vettore allineato all'asse verso l'asse , come si può verificare operando con sul vettore :

Ciò è simile alla rotazione prodotta dalla matrice di rotazione bidimensionale sopra menzionata. Di seguito sono riportate convenzioni alternative che potrebbero apparentemente o realmente invertire il senso della rotazione prodotta da queste matrici.

Rotazioni tridimensionali generalizzate

Da queste tre rotazioni di base si possono ottenere altre matrici di rotazione tridimensionali, utilizzando la moltiplicazione di matrici. Per esempio, il prodotto

rappresenta una rotazione i cui angoli di imbardata, beccheggio e rollio sono rispettivamente , e . Più formalmente, si tratta di una rotazione intrinseca i cui angoli di Eulero sono , e , rispetto agli assi , e . Similmente, il prodotto

rappresenta una rotazione estrinseca i cui angoli di Eulero (impropri) sono , e , attorno agli assi , e .

Queste matrici producono l'effetto desiderato solo se vengono utilizzate per moltiplicare vettori colonna e (poiché in generale il prodotto tra matrici non gode della proprietà commutativa) solo se vengono applicate nell'ordine specificato (si veda Ambiguità per maggiori dettagli). L'ordine delle operazioni di rotazione è da destra a sinistra; la matrice adiacente al vettore colonna è la prima a essere applicata, poi quella a sinistra.

Conversione da matrice di rotazione ad asse-angolo Ogni rotazione in tre dimensioni è definita dal suo asse (un vettore lungo quest'asse non cambia con la rotazione) e dal suo angolo, la quantità di rotazione attorno all'asse (teorema di Eulero sulla rotazione).

Esistono diversi metodi per calcolare l'asse e l'angolo di una matrice di rotazione (si veda anche la rappresentazione asse-angolo). Qui si descrive solo il metodo basato sul calcolo degli autovettori e autovalori della matrice di rotazione. È anche possibile utilizzare la traccia della matrice di rotazione.

Determinazione dell'asse

Data una matrice di rotazione di ordine 3, un vettore parallelo all'asse di rotazione deve soddisfare

affinché la rotazione di attorno all'asse di rotazione risulti in . L'equazione precedente può essere risolta per che è unica a meno di un fattore di scala .

Inoltre, l'equazione può essere riscritta

la quale mostra che giace nello spazio nullo .

Osservato da un altro punto di vista, è un autovettore di corrispondente all'autovalore . Ogni matrice di rotazione deve avere questo autovalore, mentre gli altri due autovalori sono complessi coniugati l'uno dell'altro. Ne consegue che una matrice di rotazione in tre dimensioni ha, a meno di una costante moltiplicativa, un solo autovettore reale.

Un modo per determinare l'asse di rotazione è dimostrare che:

Poiché è una matrice antisimmetrica, si può scegliere tale che

Il prodotto matrice-vettore diventa un prodotto vettoriale di un vettore con se stesso, assicurando il risultato nullo:

Pertanto, se

si ha

Il modulo di così calcolato è , dove è l'angolo di rotazione.

Questo non funziona se è simmetrica. Soprattutto, se è nulla, in questo caso tutti i passaggi successivi non sono validi ed è necessario diagonalizzare e trovare l'autovettore corrispondente all'autovalore 1.

Determinazione dell'angolo Per trovare l'angolo di rotazione, una volta noto l'asse di rotazione, si considera un vettore perpendicolare all'asse. Pertanto, l'angolo di rotazione è l'angolo tra e .

Un metodo più diretto, tuttavia, consiste semplicemente nel calcolare la traccia: la somma degli elementi diagonali della matrice di rotazione. Occorre fare attenzione nel selezionare il segno giusto affinché l'angolo corrisponda all'asse scelto:

da cui segue che il valore assoluto dell'angolo è

Per l'asse di rotazione , si può ottenere l'angolazione corretta da

dove

Matrice di rotazione da asse e angolo La matrice di una rotazione propria di un angolo attorno all'asse , avente vettore unitario , è data da:

Una derivazione di questa matrice dai primi principi può essere trovata qui. L'idea di base per ricavare questa matrice è quella di suddividere il problema in pochi semplici passaggi noti.

Si ruota l'asse dato e il punto così che l'asse si trovi in uno dei piani coordinati (, o ). Si ruota l'asse dato e il punto allineando l'asse con uno dei due assi coordinati per quel particolare piano coordinato (, o ). Si utilizza una delle matrici di rotazione fondamentali per ruotare il punto in base all'asse delle coordinate con cui è allineato l'asse di rotazione. Si ruota in senso inverso la coppia asse-punto così da raggiungere la configurazione finale come nel passaggio 2 (annullamento del passaggio 2). Si inverte la rotazione della coppia asse-punto eseguita nel passaggio 1 (annullando il passaggio 1).

Il tutto può essere scritto in modo più conciso come

dove è la matrice del prodotto vettoriale di ; l'espressione è il prodotto diadico e è la matrice identità. In alternativa, le voci della matrice sono:

dove è il simbolo di Levi-Civita con . Questa è una forma matriciale della formula di Rodrigues conSi noti che

il quale, nella notazione di Rodrigues, equivale a

In la rotazione di un vettore attorno all'asse di un angolo può essere scritta come:

o, equivalentemente:

Questo può anche essere scritto in notazione tensoriale come:

Se lo spazio tridimensionale è destrorso e , questa rotazione avverrà in senso antiorario quando punta verso l'osservatore (regola della mano destra). In modo esplicito, con una base ortonormale destrorsa,