1
圆线碰撞检测问题
我目前正在开发一个突破克隆,我遇到了障碍,无法正确检测球(圆)和砖(凸多边形)之间的碰撞。我正在使用“圆线碰撞检测”测试,其中每条线代表凸多边形砖上的边缘。 在大多数情况下,Circle-Line测试可以正常工作,并且可以正确解决碰撞点。 碰撞检测正常工作。 但是,有时候我的碰撞检测代码由于球实际上与砖相交时的负判别而返回false。 碰撞检测失败。 我知道这种方法的效率低下,并且使用了轴对齐的边界框来减少测试砖的数量。我主要关心的是下面的代码中是否存在任何数学错误。 /* * from and to are points at the start and end of the convex polygons edge. * This function is called for every edge in the convex polygon until a * collision is detected. */ bool circleLineCollision(Vec2f from, Vec2f to) { Vec2f lFrom, …