首页 > 编程知识 正文

点和向量在坐标系间的变换规律,向量与点坐标的关系

时间:2023-05-04 16:09:14 阅读:191913 作者:3161

记录一下对"点和向量在不同坐标系间变换"的理解。

问题1:点在不同坐标系间变换

已知坐标系A以及坐标系中一点C(x,y,z),另一个坐标系B在A中的零点B0(Xo,Yo,Zo)以及坐标系B在A中的x,y,z三方向(Axx,Axy,Axz)、(Ayx,Ayy,Ayz)、(Azx,Azy,Azz)。

求点C在B中的坐标D(Xb,Yb,Zb)?

C(x,y,z)代表的意思是 向量 (C(x,y,z)-(0,0,0)) 在X轴(1,0,0),y轴(0,1,0),Z轴(0,0,1)上的投影。

而投影就是向量的点乘

Dot(E(X1,Y1,Z1),F(X2,Y2,Z2)) =( X1X2+Y1Y2+Z1Z2) =|E|*|F|*Cos(夹角)

也就是

x = Dot(C,X)  y = Dot(C,y) z =Dot(C,z)
以此类推求C在B中的坐标就变成了 向量(C-B0)在B的三个坐标轴上的投影。

(Dot((C-B0),(Axx,Axy,Axz),Dot((C-Bo),(Ayx,Ayy,Ayz)),Dot((C-B0),(Azx,Azy,Azz)))

进一步也就变成了

(Acbx*Axx+Acby*Axy+Acbz*Axz,Acbx*Ayx+Acby*Ayy+Acbz*Ayz,Acbx*Azx+Acby*Azy+Acbz*Azz)

着就是C在B中的坐标(Xb,Yb,Zb)

此结果正好与下面矩阵乘法结果相同。

所以矩阵就和坐标变换挂钩。

而 是一个正交矩阵,正好由B的三轴组成。

所以点C在坐标系B中的坐标只需要使用上面的矩阵和向量(C-B0)所代表的3X1矩阵即可。

由于这个矩阵是一个正交矩阵,正交矩阵的转置矩阵==正交矩阵的逆矩阵。

逆矩阵Ax矩阵AX矩阵B = 矩阵B  也就变成了

转置矩阵AX矩阵AX矩阵B = 矩阵B

上面正交矩阵的转置矩阵为,同时也是逆矩阵。

已知C通过矩阵得到D,那么如果已知D求C 跟据矩阵的特性只需要逆矩阵*D即可。

逆矩阵AX矩阵AX矩阵cb = 矩阵cb

矩阵AX矩阵cb =D

那么 逆矩阵AXD = 矩阵cb.

矩阵cb 和 (C-B0)相对应。

所以如果已知D在坐标系B中的坐标,求D在坐标系A中的坐标。只需要

然后将结果矩阵转成向量再加上B0 即可得到 C。

问题2:向量在不同坐标系间的变化。

已知坐标系A,向量C,坐标系B以及三轴在A中的向量,求C在坐标系B中的值。

向量只跟方向有关,所以可以将A,B的0点重合。也就变成了问题1的简化版,B的0点与A的0点重合。

那么求向量C在B中的向量就很简单了。

延申一下,如果已知向量D在坐标系B中的值,求向量D在A中的值那么就用

即可。

 

 

 

 

 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。