0

我有一系列坐标,所有坐标都与具有特定法线向量的同一平面共面。我还定义了两个垂直于法线向量的向量,它们描述了该 3D 平面内的“上/下”和“左/右”。应该围绕其进行转换的平面的中心也是已知的。

假设我有一个新的法线向量,我将如何将所有这些 3D 坐标转换为仍在该平面中?那么它们与新法线的平面中心的相对位置是否仍然相同?

我以前读过关于旋转矩阵的内容,但问题是我有一个要转换的向量,而不是描述旋转的角度,尽管平面本质上确实会旋转。我想知道是否没有任何方法可以使这种转换变得快速而简单。

4

1 回答 1

0

因此,我对旋转矩阵进行了更多研究,发现您不一定需要知道旋转到新位置的角度。

实际上,您需要做的就是将旋转矩阵乘以相对于前一个旋转矩阵的坐标。之后,您添加您正在旋转的点的坐标,然后您就拥有了它。

我需要在 python 中执行此操作,并为此使用了 numpy 的 matmul 方法。旋转矩阵是使用我已经可用的向量制作的:

[[right.x up.x, forward.x],
[right.y, up.y, forward.y],
[right.z, up.z, forward.z]]

对,向上和向前是 3 个相互垂直的大小为 1 的向量。

于 2020-03-07T16:25:18.847 回答