rotation matrix between two coordinate systems matlab

42 次查看(过去 30 天)
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 个评论
Güinther SAIBRO
Güinther SAIBRO 2017-9-14
编辑:Güinther SAIBRO 2017-9-14
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.

请先登录,再进行评论。

采纳的回答

Jan
Jan 2017-9-16
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 个评论
ha ha
ha ha 2017-9-20
编辑:ha ha 2017-9-20
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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 線形代数 的更多信息

Community Treasure Hunt

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

Start Hunting!