在 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 排序。
假设我有两个位于两个不同平面的具有 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 排序。