我得到了一个由平面列表表示的多面体。由这些平面限定的体积就是实际的多面体。
我有一个三角形列表,我需要删除所有相交或包含在这个多面体中的三角形。我的想法是检查每个平面是否与三角形相交。如果它确实与三角形相交,则检查表示相交的线段是否包含位于所有其他平面同一侧的点。
为了捕捉三角形完全包含的情况,我们可以检查多面体中是否包含三角形的任何角(通过检查点是否位于所有平面的同一侧)。
然而,我不确定这个解决方案是否适用于所有情况,或者是否有更优雅的解决方案。我也不知道如何计算出交点的线段是否包含所有其他平面同一侧的点。
我也想过分离轴定理,但这需要我将多面体转换成一些不同的表示(因为平面是无限的),我不知道如何做到这一点。
任何帮助都将不胜感激!
正如@NicoSchertler在一条评论中建议的那样,解决方案是取每个三角形并将其夹在所有平面上。如果没有剩下的点(或者在3点以下,所以它不是三角形),则三角形与多面体相交。这似乎很有效。