Math 在3d中连接两个平面

Math 在3d中连接两个平面,math,3d,Math,3d,给定两个相互任意定位和旋转的平面,我试图确定应该连接哪些顶点。下图(黑色平面,红色连接边)举例说明了两个平面的外观: 比较顶点之间的距离将不起作用,因为平面(不一定)位于彼此的正上方,比较xyz组件也不起作用,因为它们(不一定)平行,因此可能会扭曲。我真的想不出任何其他的解决方案,所以我想知道我是否需要回去用另一种方法来解决这个问题?看起来你想做的是将一个平面的顶点投影到另一个平面上,然后根据一条规则将平面A的顶点与平面B的顶点匹配,这条规则对你的问题很有效。(您的图形使平面图形看起来不仅相

给定两个相互任意定位和旋转的平面,我试图确定应该连接哪些顶点。下图(黑色平面,红色连接边)举例说明了两个平面的外观:


比较顶点之间的距离将不起作用,因为平面(不一定)位于彼此的正上方,比较xyz组件也不起作用,因为它们(不一定)平行,因此可能会扭曲。我真的想不出任何其他的解决方案,所以我想知道我是否需要回去用另一种方法来解决这个问题?

看起来你想做的是将一个平面的顶点投影到另一个平面上,然后根据一条规则将平面A的顶点与平面B的顶点匹配,这条规则对你的问题很有效。(您的图形使平面图形看起来不仅相对于彼此平移和旋转,而且缩放。)

确保矩形不相交且不正交后,尝试最小化成对点之间的总距离。只有24种方法可以配对顶点,因此可能不需要聪明的解决方案。另一个明显的方法是确保通过连接顶点形成的4个新面不相交,即,您已经形成了一个拓扑简单的实体。

您是对的,它们也被缩放。很抱歉没有提到这一点。检查4个新面是否相交似乎是一个简单的好方法。只需要弄清楚如何进行交叉测试。。嗯。当然,这取决于你为什么要这样做,但是最小化总距离(或者总平方距离之类的)听起来像是一条路要走。我不会花太多时间考虑相交的面。如果我正确理解了第二张图片,那么包含红色边缘的“面”都不在一个平面内,因此没有一个平面可以合理地称为面;你要么使用一些复杂的曲面,要么把它分成几个三角形(有两种方法可以做到),我不太清楚这是怎么回事。是否建议运行所有24种方法来配对顶点,然后在每对顶点之间的总距离最小的位置采用解决方案?这是一个伪表示,非常感谢。谢谢,我可以看到最小化成对点之间的总距离是有效的。我仍然不知道为什么我可以肯定这一点。