Dalla matrice di rotazione trovare l'asse di rotazione

Bucky1

NOTA andate a leggere diretamente il mio ultimo messaggio, in fondo



-----------------------------------------------------------------------------------



idee su cume si possa fare?

autovettori? spazio nullo?

Risposte
ViciousGoblin
Sono di nuovo qui ... con altre domande e senza risposte. Se hai gia' risolto i tuoi problemi non darti pena di continuare la discussione.

- Dunque immagino che tu abbia $N$ sensori che ad ogni intervallo di tempo ti danno una posizione
mediante tre coordinate (che io chiamerei $x_{i},y_{i},z_{i}$, per $i=1,...,N$) - giusto?

- Allora, se i tempi sono $T_0$, $T_1$, $T_2$ e cosi' via, (immagino con $\Delta T_n:=T_{n+1}-T_n$ costante), e se aggiungiamo un altro indice per indicare il tempo,
indicando con $P_{i,n}=(x_{i,n},y_{i,n},z_{i,n})$ la posizione del sensore $i$-esimo ($i$ tra $1$ e $N$) al tempo $T_n$, tu vuoi intepretare il movimento che muove ogni $P_i$ in $P_{i+1}$ come una rotazione rispetto a un qualche asse (per la verita' mi aspetterei anche una translazione in mezzo). E' questo che vuoi fare ?

- Riguardo al punto precedente i sensori sono solo in un pezzo di braccio - cioe' i punti $P_{i,n}$ sono fissi tra loro ? (stiamo studiando i movimenti di un corpo ridigo ?)

- Premesso tutto questo come hai trovato la matrice di cui parlavi all'inizio (con che tipo di calcoli) ?

Bucky1
non voglio trovare il movimento di ogni punto in ogni istante, ma del totale dei punti per ogni istante, supponendo che questi siano su un corpo rigido.
poi naturalmente il corpo rigido è il mio braccio, e quindi mi aspetto errori... ma in prima approssimazione dovrebbero essere solidali, essendo tutti sullo stesso segmento corporeo.

tutto il resto che hai detto è corretto.

la matrice di rotazione l'ho ricavata come ho scritto sul post sopra.

se qualcuno ha matlab posso postare il codice!

Bucky1
sono ancora in alto mare!

mi servono solo gli angoli, non le traslazioni.

la questione e' questa:

ho A e B, due matrici.
qual'e' la formula per trovare il versore n che porta A in B con solo 1 rotazione? come si calcola quest'angolo?

ViciousGoblin
"Bucky":
sono ancora in alto mare!

mi servono solo gli angoli, non le traslazioni.

la questione e' questa:

ho A e B, due matrici.
qual'e' la formula per trovare il versore n che porta A in B con solo 1 rotazione? come si calcola quest'angolo?


Purtroppo non capisco cosa intendi con "porta $A$ in $B$" io avrei detto che per andare da $A$ in $B$ ci vuole la matrice $B\cdot A^{-1}$, applicata a sinistra
(oppure la matrice $A^{-1}\cdot B$ applicata destra).
Forse $A$ e $B$ sono ortogonali ? - in questo caso $M=B\cdot A^{-1}$ e' una matrice ortogonale $3\times 3$ e tu vuoi trovarne l' asse di rotazione e l'angolo di rotazione ?

Qualora fosse cosi' devi trovare
1) gli autovalori di $M$ che devono venire $\lambda_1=1$ e $\lambda_{2,3}=e^{\pm \omega i}$, con $\omega\geq 0$;
2) gli autovettori di $M$ di cui quello che corrisponde a $\lambda=1$ e' un vettore reale $v_1$, mentre gli altri due, $v_2$ e $v_3$ hanno componenti complesse coniugate.

Allora la matrice $M$ opera una rotazione di asse $v_1$ e di angolo $\omega$ - mi sfugge in questo momento come sistemare i versi (credo dipenda da $v_2$ e $v_3$); ci penso un momento.

Bucky1
si, hai ragione, mi sono espresso male. la matrice è già l'operatore che descrive la rotazione, quindi non viene portata da nessuna parte, se ma i è lei che porta.
intendevo dire: se alla matrice A corrisponde una rotazione, non è possibile trovare l'asse di questa rotazione? un asse unico!
senza dire: prima ruoti attorno ad x di tot, ad y di tot..
quello che vorrei è che si trovasse un asse n=[nx ny nz] per cui si possa dire: la rotazione introdotta da A corrisponde a ruotare di theta gradi attorno n

orazioster
Penso si debban trovare gli autovettori della matrice.
i vettori paralleli all'asse di rotazione saranno autovettori relativi
all'autovalore $(+1)$ (essi hanno le stesse coordinate nel "vecchio" e nel "nuovo" riferimento).

Questo per quanto riguarda l'asse.
Circa l'angolo...
trova il complemento ortogonale all'autospazio relativo all'autovalore $(+1)$ della
matrice di rotazione. Ovvero: il piano ortogonale
al vettore che individua l'asse.

E vedi l'angolo tra le proiezioni (non eventualmente nulle) su questo sottospazio di un versore
della terna che avevi, "prima" e "dopo" la rotazione.

Insomma: "vedi" quanto ha 'ruotato' la proiezione di un vettore sul piano ortogonale all'asse di rotazione.

Devo dire che mi è venuto in mente tost'è, mentre ci pensavo. Mi scuso per la formulazione forse "rozza".

ViciousGoblin
"Bucky":
si, hai ragione, mi sono espresso male. la matrice è già l'operatore che descrive la rotazione, quindi non viene portata da nessuna parte, se ma i è lei che porta.
intendevo dire: se alla matrice A corrisponde una rotazione, non è possibile trovare l'asse di questa rotazione? un asse unico!
senza dire: prima ruoti attorno ad x di tot, ad y di tot..
quello che vorrei è che si trovasse un asse n=[nx ny nz] per cui si possa dire: la rotazione introdotta da A corrisponde a ruotare di theta gradi attorno n


Detta cosi' la risposta e' quella che era stata data all'inizio ed e' quella del mio ultimo post (in cui la matrice si chiamava $M$) in sostanza l'asse e' individuato dall'autovettore relativo all'autovalore uno
e l'angolo e' l'omega corrrispondente alla coppia di autovalori complessi $e^{\pm\omega}$. E' chiaro che il vettore che ti da' l'asse lo puoi normalizzare - non ho ancora capito come devo scegliere il verso
(in modo che sul piano ortogonale la rotazione avvenga in senso antiorario), quando ho tempo ci rifletto un attimo.

orazioster
-per quanto mi riguarda m'ero accorto sì che VG aveva risposto già! volevo
ribadire, cercando di formulare quello che m'era venuto in mente. E la
parte sull'engolo non l'avevo letta, sorry.

ViciousGoblin
"orazioster":
-per quanto mi riguarda m'ero accorto sì che VG aveva risposto già! volevo
ribadire, cercando di formulare quello che m'era venuto in mente. E la
parte sull'engolo non l'avevo letta, sorry.


Non vorrei tu avessi pensato che avevo qualche obiezione sul tuo messaggio, o che accampavo qualche priorita' - non ci pensavo minimamente, ho scritto il mio ultimo post in contemporanea al tuo, che ho letto dopo.

Ciao

orazioster
Nohooo, mi scusavo di non aver letto bene il tuo post; chè seguvo
in me il ragionamento circo gli autovettori. Ammiro la cortesia :-) .
Voglio mettermi ora a pensare com'è che l'angolo negli autovalori complessi sia l'angolo di rotazione.

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