Rotazioni spaziali

st3fan0r
Buon giorno a tutti,

è da un pò che non rimetto "mano" al tema delle rotazioni spaziali per cui perdonatemi se la domanda può essere banale.

Il quesito è il seguente:

conoscendo due vettori $v$ e $v'$ dove $v'=Rv$ posso risalire alla definizione della matrice di rotazione?

Nello specifico devo calcolare l'orientamento nello spazio di un piano rispetto ad un riferimento fisso, dunque conosco le equazioni dei due piani, i versori ecc ecc..

grazie per l'aiuto e buon lavoro a tutti.

Risposte
Bokonon
Posta così, la domanda ha poco senso. In che spazio spazio ti trovi?
Una trasformazione lineare cambia la base iniziale...è quella canonica?
Se conosci solo una trasformazione e sai associarla ad un solo vettore della base di partenza allora non puoi costruire la trasformazione, a meno che tu non sia in $R$ ma alllora parlare di rotazione sarebbe assurdo.
Infine la trasformazione è una rotazione se lascia inalterato tutto (lunghezze e orientamenti "relativi" dei vettori), quindi la domanda è "come fai ad essere certo che si tratti di una rotazione?".
Dovresti specificare decisamente meglio il problema

st3fan0r
Ciao Bokonon e grazie per l'intervento.

Pongo il quesito in questo modo:

supponiamo che io abba un vettore $v=[0 0 1]$ al quale viene applicata una rotazione nello spazio $R$ ottenendo come risultatne il vettore $v'$, è possibile risalire alla matrice di rotazione? siamo nello spazio $R^3$

In "$R^2$" il problema è risolvibile banalmente, so calcolare l'angolo tra i due vettori (ad esempio attraverso la formula del prodotto scalare) e di conseguenza anche la matrice di rotazione.

anto_zoolander
Ciao!

Se i due vettori, che chiamo $v,w$, sono noti allora; $cos(theta)=(v*w)/(norm(v)*norm(w))$, ricavi anche $sin(theta)$ e imposti la matrice.

st3fan0r
"anto_zoolander":
Ciao!

Se i due vettori, che chiamo $v,w$, sono noti allora; $cos(theta)=(v*w)/(norm(v)*norm(w))$, ricavi anche $sin(theta)$ e imposti la matrice.


Sì ok, questo è quello che ho suggerito anche io nel mio post. Io vorrei capire quali sono i passi per ricostruire la matrice di rotazione nello spazio $R^3$.

Con semplici due vettori mi sembra un pò assurdo poter ricavare 9 parametri (quelli della matrice di rotazione) e proprio per questo sto chiedendo sul forum.

Grazie a tutti

dissonance
Lo puoi fare se v è diverso da v', nel qual caso hai esattamente due rotazioni che verificano la condizione, altrimenti sei in un caso degenere e hai una infinità di rotazioni. È vero che una matrice ha 9 parametri, ma le matrici di rotazione sono individuate da 3 soli parametri (per esempio, gli angoli di Eulero).

Come farlo esattamente è quello che qua nessuno ti vuole dire perché siamo pigri e non abbiamo voglia di fare conti. :-) Cerca "Rodrigues formula".

dissonance
Questa è la formula di cui parlavo:


https://en.m.wikipedia.org/wiki/Rodrigu ... on_formula

st3fan0r
@dissonance

Grazie mille ed evviva la sincerità. Sì in effetti dopo aver scritto mi sono reso conto della cavolata (relativamente ai 9 parametri).

Saranno 10 anni che non vedevo più queste cose e Rodigues lo avevo completamente rimosso.

Saluti

dissonance
Mi fa piacere essere stato di aiuto. In effetti la soluzione non è difficile. Ricapitolando, tu hai assegnato due vettori \(\mathbf{v}, \mathbf{v}'\) di uguale lunghezza e vuoi trovare una matrice \(R\) di rotazione tale che \(R\mathbf{v}=\mathbf{v}'\). Come dice la pagina di Wikipedia sulla formula di Rodrigues, tale matrice è individuata da un asse \(\mathbf{k}\) e da un angolo \(\theta\). Ragionando graficamente, si vede che l'asse è dato dalla formula
\[
\mathbf{k}=\frac{ \mathbf{v}\times \mathbf{v}'}{|\mathbf{v}\times\mathbf{v}'|}, \]
mentre l'angolo è dato dalla formula
\[
\cos \theta = \frac{ \mathbf{v}\cdot\mathbf{v}'}{|\mathbf{v}||\mathbf{v}'|}.\]
Qua chiaramente deve essere \(\mathbf{v}\ne \pm\mathbf{v}'\) altrimenti la formula per \(\mathbf{k}\) perde di significato.

Una volta che asse e angolo sono stati trovati, la matrice \(R\) è data dalla formula di Rodrigues che si trova nella pagina di Wikipedia, sezione "Matrix notation".

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.