rotation matrix between two coordinate systems matlab
44 views (last 30 days)
Show older comments
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 Comments
Güinther SAIBRO
on 14 Sep 2017
Edited: Güinther SAIBRO
on 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.
Accepted Answer
Jan
on 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 Comment
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!