将局部坐标系转换为全局坐标系,反之亦然

问题描述 投票:0回答:1

我正在尝试将局部坐标系转换为全局坐标系,反之亦然。
我有 3 个位置坐标和 3 个旋转角度,所以我的输入是

(X, Y, Z, RX, RY, RZ)

我试图理解这个过程的理论,但我在数学科学方面没有足够的经验来有效地从数学文档中提取信息(我只是不理解它们,但我正在尝试)。

那么,有人可以简单地解释一下坐标系转换过程吗?我只是觉得缺乏例子。

我已经读过有关旋转和移位矩阵的内容,但我不明白如何使用它们来获得新的

X, Y, Z
以及最后的
rotating angles
...只是在我的脑子里乱七八糟。

此外,我将非常感谢您提供研究此问题的提示。

python math matrix linear-algebra coordinate-systems
1个回答
0
投票

坐标之间转换的过程可以看作是一个两步过程。

想象一下你有这些

要将任何点或矢量从 UV 系统转换到 XY 系统,您会做什么?您首先要旋转一定量,以使 UV 与 XY 的方向匹配,然后将 UV 平移回 XY 所在的位置,对吗?例如,我在 XY 系统中有一些点 (1,2)。 XY 系统中的实际表示是 P = O + 1X + 2Y,其有效表示,其中 XY 是沿轴的单位向量。为什么?因为您在 X 方向移动 1,在 Y 方向移动 2,加上距原点 O 的距离。

您可以用矩阵形式表示:[[1,0],[0,1]] @ [6,4] + O。

同样的想法也适用。为了表示新 UV 中的点,您可以使用 P' = I + aU + bV。其中 (a,b) 是您的新坐标。

非常有效,您正在计算一个矩阵 [[ux, uy],[vx,vy]],当乘以您的 [a,b] 时,返回 [6,4]。或者某个矩阵乘以 [6,4],返回 [a,b]。

为了找到这个矩阵,您需要查看 UV 和 XY 之间的关系。看起来您实际上将其旋转了一定量,并将其移动了一定量吗?这就是 (X, Y, Z, RX, RY, RZ) 的用武之地。它们代表平移 (x,y,z) 和旋转 (RX,RY,RZ) 的量。剩下的就是如何将它们放入单个矩阵中,您可以在其中搜索同质变换。

© www.soinside.com 2019 - 2024. All rights reserved.