Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 三维多边形链求交算法_Algorithm_Geometry_Computational Geometry - Fatal编程技术网

Algorithm 三维多边形链求交算法

Algorithm 三维多边形链求交算法,algorithm,geometry,computational-geometry,Algorithm,Geometry,Computational Geometry,我有两个3D,我想知道它们是否相交。这个问题称为多边形链交点。好的算法存在于,但我没有看到任何适用于3D的算法 有人可以帮忙吗?好的,也许这是一个愚蠢的算法,但是为什么不选择一个平面(在一般位置,或一个坐标平面),将两个3D链正交投影到平面上,并使用其中一个有效的算法解决2D问题,这将允许您定位投影之间的所有交点以及两个三维链中的所有线段对,其投影在交点处相交。然后,从每个相交二维点,绘制穿过该点的直线,与平面垂直,并检查该直线与两个三维线段(一个来自第一个三维链,另一个来自第二个三维链,其投影

我有两个3D,我想知道它们是否相交。这个问题称为多边形链交点。好的算法存在于,但我没有看到任何适用于3D的算法


有人可以帮忙吗?

好的,也许这是一个愚蠢的算法,但是为什么不选择一个平面(在一般位置,或一个坐标平面),将两个3D链正交投影到平面上,并使用其中一个有效的算法解决2D问题,这将允许您定位投影之间的所有交点以及两个三维链中的所有线段对,其投影在交点处相交。然后,从每个相交二维点,绘制穿过该点的直线,与平面垂直,并检查该直线与两个三维线段(一个来自第一个三维链,另一个来自第二个三维链,其投影在二维相交点处相交)相交的位置。如果结果点不同,则二维投影交点不是真实的三维交点。否则,您将获得3D链的交点。

谢谢,这可能会起作用。即便如此,我还是想看看3D案例是否有明确的想法。这个问题可能没有得到解决,因为一般来说,3D链不相交。(如果你的链确实相交,你可能会有一个伪装的2D问题。)我正在处理一个与之相关的3D问题。我不认为这里面有一个变相的2D问题,3D案例解决了2D问题,所以你可以安全地使用@futurologist的解决方案。