我需要检查两个轴对齐框之间的碰撞。其中一个盒子被一架飞机“切开”,它应该只在这架飞机的一侧发生碰撞。我如何检测这两个盒子之间的碰撞是否发生在这个区域?平面可以有任意的旋转和位置。被平面切割时将被丢弃的盒子部分将始终位于平面的同一侧。
最佳答案
- 将盒子相交,要么产生一个盒子,要么什么都不产生。
- 如果交点不为空,则将其 4 个(或 8 个,如果是 3D)点中的每一个插入平面方程;当且仅当它们中的任何一个为正时,飞机的正“侧”才会发生碰撞。 (如果相交的任何部分在平面的这一侧,那么盒子的至少一个角必须是,因为盒子是凸的。)
关于algorithm - 仅在平面一侧的两个轴对齐框之间的碰撞检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26150734/