在 3d 中连接两个 12 多边形 space

Connect two 12-polygons in 3d space

假设我有两个位于两个不同平面的具有 12 个顶点的多边形(只显示顶点,不显示边)。

我需要取左侧多边形(多边形 A)的成对顶点 (i, j),并通过边将这些顶点连接到右侧多边形(多边形 B)的顶点 (k,l)。 (四个点 i、j、k、l 将组成一个四边形)。我有额外的限制,即四边形不会彼此相交。

到目前为止我尝试了什么: I) 将多边形 B 的所有顶点投影到多边形 A 的平面上。然后取最近的顶点对。这在一般情况下不起作用。 II) 将多边形 B 的所有顶点投影到多边形 A 的平面上。然后确定多边形 A 和 B 的顶点之间的最小角度。这在一般情况下不起作用。

任何人都可以想出一个策略来实现这个目标吗?

(不,这不是作业!:)我很尴尬,我不得不在这里揭露这个问题,我似乎无法单独解决这个看似微不足道的问题)

可能的解决方案:

计算多边形A和B的质心,调用C_A和C_B。 然后将多边形A或B的点沿d = C_A - C_B或d = C_B - C_A的方向向多边形A或B移动,将这些移动的点称为A'或 B'.

接下来,找到移动多边形(A' 或 B')和原始多边形之一(A 或 B)的最近邻顶点 (u, v)。从这对 (u, v) 开始,迭代地对顶点进行 CCW 或 CW 排序。