【发布时间】:2021-03-29 03:22:45
【问题描述】:
我有几个平面多边形,它们是由它们在 3D 空间中的顶点定义的。这些多边形在 3 个维度上随机旋转。
现在我想在它们自己的本地 2D 空间中使用这些多边形顶点中的每一个。我真的不在乎这个本地空间的中心在哪里。我只需要 x & y 轴与多边形法线正交。
例如,如果我有一个多边形,它是一个宽度和高度为 1 的矩形,那么顶点可能如下所示:
v1 = [-0.558013, -0.0334937, -0.433013]
v2 = [0.308013, 0.466506, -0.433013]
v3 = [-0.308013, -0.466506, 0.433013]
v4 = [0.558013, 0.0334937, 0.433013]
但我希望它们看起来像这样:
v1 = [0, 0]
v2 = [0, 1]
v3 = [1, 1]
v4 = [1, 0]
所以我的问题是,如何将每个顶点的 3D 坐标转换为局部 2D 坐标?
【问题讨论】:
-
似乎在示例情况下,您还希望局部 x 和 y 轴与多边形的某些边缘平行。否则,根据多边形相对于所选 2D 坐标系原点的旋转,可能有许多等效的 2D 坐标集。
-
@martineau 你是对的,但在我的情况下,围绕局部 z 轴的旋转并不重要。