rotation matrix between two coordinate systems matlab

43 visualizzazioni (ultimi 30 giorni)
I have a coordinate system A
Example: 3 principal vector direction of system A are:
e0= [0.3898 -0.0910 0.9164]
e1= [0.6392 0.7431 -0.1981]
e2= [-0.6629 0.6630 0.3478]
And, I have a cartesian coordinate system B with three unit vector
nx=[1 0 0]
ny=[0 1 0]
nz=[0 0 1]
How can i find transformation matrix between two coordinate systems A & B ?
  2 Commenti
Güinther SAIBRO
Güinther SAIBRO il 14 Set 2017
Modificato: Güinther SAIBRO il 14 Set 2017
I didn't understand why do you need the last space vectors with you already have the transformation matrix.
If you are trying to do a space transformation from R^n to R^m you just need a m x n matrix and to multiply this matrix to a column vector in R^n.
In your case, you can write:
A= [0.3898 -0.0910 0.9164; 0.6392 0.7431 -0.1981; -0.6629 0.6630 0.3478];
P = [ [x'1;y'1;z'1] [x'2;y'2;z'2] ... ] % The idea is that you need column vectors of x,y and z.
and just P_R3 = A*P;
I believe that this can solve your problem.
ha ha
ha ha il 16 Set 2017
sorry. Please see "edit question"

Accedi per commentare.

Risposta accettata

Jan
Jan il 16 Set 2017
E = [e0; e1; e2]
is the transformation matrix already for the rotation. There seems to be a translation of the origin in addition, such that you need to add this vector afterwards also.
  1 Commento
ha ha
ha ha il 20 Set 2017
Modificato: ha ha il 20 Set 2017
i think my question is not clear. Please see my new question:
https://jp.mathworks.com/matlabcentral/answers/357494-how-to-find-rotation-matrix-from-vector-to-another

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su 線形代数 in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!