0

正交投影 1

正交投影 2

我有一个单位立方体的正交投影,其顶点之一位于原点,如上所示。我有投影的 x,y(无 z)坐标。我想计算平面的旋转角度以从第一个正交投影(可能是欧拉角??)

有没有其他简单的方法来计算这个?

更新:

旋转矩阵

我可以使用这个旋转矩阵来获得 cos、sin 角和 x,y 和 x',y' 的方程组并轻松求解它们吗?或者有没有更简单的方法来恢复角度?(我是否在正确的方向来解决这个问题?)

4

1 回答 1

1

第一种方法

使用这个想法来生成方程:

在此处输入图像描述

a1、a2 和 a3 是原始系统中的坐标,xy 是您从最终结果中获得的坐标,z 是您不知道的坐标。这会为立方体的每个点生成 2 个方程。例如,对于坐标为 (-1, -1, 1) 的点 0,这些是:

在此处输入图像描述

对立方体的 4 个前端执行此操作,您将得到 8 个方程。现在加上这是一个旋转矩阵的事实 -> 行列式是 1 并且你有 9 个方程。使用任何用于求解方程组的常用算法来解决这些问题,您就有了变换矩阵。通过谷歌很容易获得轴和角度:http ://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToAngle/

第二种方法

分别命名你的点 0、1、2、3 a、b、c、d,你可以b-a用这个想法得到它们之间的向量的 z 坐标(例如):

在此处输入图像描述

b3-a3不过,如果是肯定的,你仍然需要弄清楚。一种方法是使用最中心点作为 b (计算所有点到中心的距离,使用距离最小的点)。然后你肯定知道这b3-a3是积极的(如果 z 对你是积极的)。

现在假设a在您的转换空间中是 (0,0,0),您可以通过向其中添加适当的向量来计算所有点位置。

要获得旋转,您可以使用您知道b-a原点空间中的位置(例如(1,0,0))的事实。b-a您可以通过和的点积获得旋转角度,通过(1,0,0)这些向量之间的叉积获得旋转轴。

于 2013-09-01T22:23:55.037 回答