Come derivare le matrici di rotazione

Migliore risposta

Questa non è rotazione per 45 ^ o. Quella è la trasformazione per ruotare un vettore in \ mathbb {R} ^ 2 di un angolo \ theta. Puoi derivare la formula in questo modo:

Lascia che il vettore \ mathbf {V} venga ruotato di un angolo \ theta sotto qualche trasformazione per ottenere il nuovo vettore \ mathbf {V “}.

Sia r = | \ mathbf {V} |. Quindi, abbiamo le relazioni:

v\_x = r \ cos \ alpha

v\_x “= r \ cos (\ alpha + \ theta)

v\_y = r \ sin \ alpha

v\_y” = r \ sin (\ alpha + \ theta)

Da cui hai le relazioni:

v\_x “= v\_x \ cos \ theta – v\_y \ sin \ theta

v\_y “= v\_x \ cos \ theta + v\_y \ sin \ theta

Questo è rappresentato in forma di matrice come

\ begin {pmatrix} v\_x” \\ v\_y “\ end {pmatrix} = \ begin {pmatrix} \ cos \ theta && – \ sin \ theta \\ \ sin \ theta && \ cos \ theta \ end {pmatrix} \ begin {pmatrix} v\_x \\ v\_y \ end {pmatrix}

Risposta

Ci sono diversi modi per affrontare questo problema.

Il primo è semplicemente invocare la rotazione di Eulero teorema, che afferma che qualsiasi numero finito di rotazioni attorno a un singolo punto fisso (ma attorno ad assi arbitrari in nd imensions) può essere espresso come una singola rotazione dellangolo \ theta attorno a un asse \ hat {n}.

Se accettiamo che ogni rotazione è rappresentata da una matrice, e che il metodo di rotazione di un vettore è moltiplicazione di matrici, quindi ne consegue immediatamente che il prodotto delle matrici di rotazione A\_1 A\_2 … A\_n deve anche essere una matrice di rotazione, altrimenti abbiamo violato il teorema di rotazione di Eulero.

La domanda è, ovviamente, come provi questo teorema.

Il lavoro originale di Eulero è … grossolano. Coinvolge molti, molti triangoli disegnati sulla superficie delle sfere (cioè triangoli non euclidei).

Se hai voglia di seguire la prova fino alla fine, la pagina di wikipedia collegata in precedenza sembra fare un lavoro decente.

Un metodo alternativo (o, equivalentemente, un modo secondario per dimostrare il teorema di Eulero, immagino), è direttamente utilizzare le proprietà delle matrici di rotazione, con una piccola escursione nella Teoria dei gruppi.

Una rotazione, matematicamente parlando, è qualsiasi operazione in cui le distanze tra tutti i punti nello spazio rimangono costanti, e che lascia un punto, o insieme di punti, fissi (supponendo che ci troviamo su un semplice spazio euclideo), oltre a preservare la struttura di orientamento delloggetto.

Nel linguaggio della teoria dei gruppi, chiamiamo queste operazioni (sullo spazio euclideo ) il “Gruppo ortogonale speciale in n dimensioni”, abbreviato in SO (n).

Le matrici A che sono membri di SO (n) sono definite dalle seguenti due proprietà:

  • A ^ TA = 1\_n (il bit “ortogonale”)
  • \ text {det} (A) = 1 (il bit “speciale”)

Cioè le matrici di rotazione sono matrici ortogonali con determinante. Qui 1\_n è la matrice identità in n dimensioni.

La condizione di “ortogonalità” è la condizione che assicura che le distanze siano preservate, poiché nello spazio euclideo abbiamo la lunghezza d di un vettore \ mathbf {v} che è:

\ displaystyle d ^ 2 = \ mathbf {v} \ cdot \ mathbf {v} \ tag * {}

Se ruotiamo questo vettore, in modo tale che \ mathbf {v} ^ \ prime = A \ mathbf {v}, con A un vettore ortogonale, quindi, in base alle proprietà della moltiplicazione di matrici:

\ displaystyle \ mathbf {v} ^ \ prime \ cdot \ mathbf {v} ^ \ prime = \ mathbf {v} ^ TA ^ TA \ mathbf {v} = \ mathbf {v} ^ T \ mathbf {v} = d ^ 2 \ tag * {}

Quindi, il la distanza d non è stata influenzata dalla rotazione.

Tutte le matrici ortogonali hanno determinante \ pm 1, ma quelle con determinante negativo includono anche una riflessione speculare attorno ad un asse. Dato che vogliamo rotazioni pure, non riflessi, al fine di preservare lorientamento degli oggetti nel nostro spazio, ci limitiamo quindi a quelli con determinanti positive – da cui proviene il bit “speciale”.

Il fatto che ho menzionato che queste strutture formano un Gruppo (con loperazione associata essendo la moltiplicazione di matrici) è infatti sufficiente per concludere che il prodotto di più matrici di rotazione è in realtà anche una rotazione, poiché i gruppi sono definiti come c perso durante loperazione di gruppo .

Ciò significa che due elementi qualsiasi g\_1 e g\_2 in un gruppo G, con operazione di gruppo g\_1 \ bullet g\_2 deve restituire un terzo elemento, g\_3, che è anche un membro del gruppo G. Quindi se A e B sono matrici di rotazione, dalla definizione di gruppo, segue che A \ bullet B = AB è anche una matrice di rotazione.

Ovviamente … questa è una soluzione imbrogliata. Per affermare che SO (n) era un gruppo, devo dimostrare che era vero! Può anche essere mostrato esplicitamente dalle seguenti proprietà generali della trasposizione e del determinante:

  • (AB) ^ T = B ^ TA ^ T
  • \ text {det} (AB) = \ text {det} (A) \ text {det} (B)

Costruiamo quindi una matrice C = AB, dove A e Bare membri di SO (n) .

Consideriamo quindi:

  • C ^ TC = (B ^ TA ^ T) (AB) = B ^ T (A ^ TA) B = B ^ TB = {1\_n}
  • Poiché A ^ TA = 1\_n e B ^ TB = 1\_n e lassociatività della moltiplicazione di matrici.
  • \ text {det} (C) = \ text {det } (AB) = \ text {det} (A) \ text {det} (B) = 1 \ times 1 = 1

Vediamo quindi che C è una matrice ortogonale, con determinante – cioè è un membro di SO (n), e quindi è una matrice di rotazione.

Abbiamo quindi dimostrato che SO (n) (e in effetti O (n)) forma un gruppo che è chiuso sotto la moltiplicazione di matrici, e quindi, per definizione, la concatenazione di più rotazioni è di per sé una rotazione.

Abbiamo quindi dimostrato il Teorema della rotazione di Eulero.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *