rotation matrix between two coordinate systems matlab

33 Ansichten (letzte 30 Tage)
ha ha
ha ha am 14 Sep. 2017
Bearbeitet: ha ha am 20 Sep. 2017
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 Kommentare
Güinther SAIBRO
Güinther SAIBRO am 14 Sep. 2017
Bearbeitet: Güinther SAIBRO am 14 Sep. 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 am 16 Sep. 2017
sorry. Please see "edit question"

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Jan
Jan am 16 Sep. 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 Kommentar
ha ha
ha ha am 20 Sep. 2017
Bearbeitet: ha ha am 20 Sep. 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu 線形代数 finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!