rotation matrix between two coordinate systems matlab
조회 수: 14 (최근 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
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
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.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!