rotation matrix between two coordinate systems matlab
44 次查看(过去 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!