矩形上的碰撞检测,如何知道哪一侧被击中

时间:2010-10-28 16:44:29

标签: collision-detection

我想为一个矩形做一个碰撞检测系统来使用一些物理,所以每个边都会有一个法线。如何确定方块的哪一侧被对象击中。另一个对象是圆圈。

谢谢。;

2 个答案:

答案 0 :(得分:0)

如果不知道你正在使用的库(或者看到你的代码,如果你自己编写的话),很难确切地知道,但可能你只是想在两个对象的主体中寻找重叠。

算法必须进行某种数学运算,以确定在另一个对象的边界内是否存在一个对象的坐标。假设您只是在x-y平面上工作,您可以将一个对象的中心与重叠区域进行比较。正delta x,右;负delta x,左。 y轴将以相同的方式工作。如果角落相撞,这不一定能给出有保证的答案。

答案 1 :(得分:0)

我知道这已经晚了但是可以将点碰撞到矩形中,从它碰撞的矩形的中心减去它。从减法中获取新的向量,并将其与矩形的四个法线进行比较,无论哪个最接近是被击中的一侧。一个快速的方法,当你只有几个方面,但当你有很多方面与你比较它会减慢。我同意这个问题与代码无关,他没有要求我们为他编码。他要求算法。