3D 多边形和立方体之间的交集算法



我需要一种快速算法来检查 3D 多边形(共面的 3D 坐标列表,给定逆时针或顺时针顺序的点列表,多边形可以是凸的或凹的,换句话说,它必须是自身不相交的简单多边形)和一个立方体(给定左下角和右上角的坐标,立方体边缘与 X/Y/Z 轴对齐)是否相交。

有什么快速的方法可以做到这一点吗?谢谢。.我已经谷歌了几页,但还没有找到完全相同的东西。

非常感谢..

编辑对不起,当我说"盒子"时,我的意思是"立方体"。立方体定义为两个角点。左下角和右上角(或另一对,没关系)。

    检查多边形
  1. 与框的每一侧之间的多边形-多边形相交。
  2. 检查框内是否有任何面的点。

以下是一些应该有效的测试

  1. 检查框中是否有一个或多个多边形点,但不是全部。
  2. 检查多边形的任何边是否与框的边缘相交。
  3. 检查多边形的任何面是否与框的面相交。

如果上述任何一项成立,则它们相交。列出的所有区域都值得麻烦地测试它们,因为提取面并计算它们是否相交可能在线性时间内无法做到。

最新更新