Geometry 计算两个六面体是否相交

Geometry 计算两个六面体是否相交,geometry,Geometry,我可以通过编程轻松地计算这个值吗 当两个六面体是凸的时,我可以很容易地计算它, 但是它们可以是凹的 只有一种方法可以计算线段和半平面的交点吗?因为你写的是“线段的交点”,我假设你问的是六边形,而不是六面体: 您应该使用与普通多边形相同的方法,因此基本上检查线段交点。朴素的实现是O(n*n),但在您的例子中,如果固定n=6,这甚至可能不是问题 您可能还想检查其中一个六边形是否完全位于另一个六边形内。如果已经发现没有交点,只需检查多边形的一个点是否在另一个点内。同样,你应该使用一般多边形的方法。我不

我可以通过编程轻松地计算这个值吗

当两个六面体是凸的时,我可以很容易地计算它, 但是它们可以是凹的

只有一种方法可以计算线段和半平面的交点吗?

因为你写的是“线段的交点”,我假设你问的是六边形,而不是六面体:

您应该使用与普通多边形相同的方法,因此基本上检查线段交点。朴素的实现是O(n*n),但在您的例子中,如果固定n=6,这甚至可能不是问题


您可能还想检查其中一个六边形是否完全位于另一个六边形内。如果已经发现没有交点,只需检查多边形的一个点是否在另一个点内。同样,你应该使用一般多边形的方法。

我不确定这是问这样的问题的正确地方。你是说六边形而不是六面体?OP问的不是六边形(3d对象)而不是六边形(2d对象)?@MarkDickinson:谢谢,可能他把这两个术语混淆了,就像我一样。我修改了我的答案。