我最初尝试实现矩形相交,效果很好。但是,当我必须应用物理系统(例如速度,加速度和方向矢量)时,我将不得不找到一种方法来确定矩形的哪一侧发生碰撞。现在,在我的系统中,没有旋转的矩形,因此这简化了问题。但是,我找不到确定哪个矩形边发生碰撞的简便方法。我曾经处理过这个问题,但失败了。
我过去所做的是确定每个平行矩形边之间的距离,并检查该距离是否接近0(使用一些初始定义的距离范围)或为0。但是,对于浮点算法,这证明是不稳定的,因为未知时间的流逝。有时,这些矩形实际上会在满足定义范围之前相交。
另一方面,我正在考虑生成多个矩形,每个矩形各边。但是,再三考虑之后,将其与平行边进行距离范围检查是一样的,只是该距离范围就是每个微型矩形的宽度。
因此,对这个问题有什么建议吗?
您正在使用离散或连续位置更新吗?(您是通过每帧一次通过加速度来更新速度,然后计算位置,还是使用函数来推断位置)
—
Casey Kuball 2012年