盒子的3D实现相互重叠

时间:2015-07-08 18:00:40

标签: algorithm computational-geometry

如何确定两个盒子是否相互重叠? 我需要有关3D实现的帮助。

考虑

  • 盒子有随机长度,宽度
  • 这些框可以有一些相同的端点。 (所以基本上,他们必须在彼此之间重叠)。
  • 以统筹线为导向

1 个答案:

答案 0 :(得分:2)

沿坐标轴定向的N维框是[l_i;h_i]的N段i=1..N的乘积。

两个这样的框重叠iff(当且仅当)相应的段在每个维度中重叠。

两个线段[a;b][c;d] ifj a>d || c>b不相交,IOW,它们与if a<=b && c<=b相交。

如果您对开箱(a;b)而不是[a;b]感兴趣,请将>替换为>=,将<=替换为<