低帧率的碰撞检测
Collision detection with slow frame rate
我不了解碰撞检测算法,但出于教育目的,我正尝试在 Python 中尝试处理粒子系统中的碰撞。
我现在检测碰撞的方式似乎很低效。可能是目前最慢的算法:
- 遍历我的粒子列表中的所有粒子(由半径定义的圆)(通过for循环),调用当前粒子
p
- 在每次迭代中,将
p
与每个其他粒子(另一个 for 循环)进行比较
- 检测碰撞
使用上述方法,当粒子计数高且 FPS 低时,我的一些粒子甚至没有检测到碰撞。有没有办法在我当前的方法中防止这种情况,或者我是否必须实施另一种更有效的方法(这可能是可行的方法)?
我不了解碰撞检测算法,但出于教育目的,我正尝试在 Python 中尝试处理粒子系统中的碰撞。
我现在检测碰撞的方式似乎很低效。可能是目前最慢的算法:
- 遍历我的粒子列表中的所有粒子(由半径定义的圆)(通过for循环),调用当前粒子
p
- 在每次迭代中,将
p
与每个其他粒子(另一个 for 循环)进行比较 - 检测碰撞
使用上述方法,当粒子计数高且 FPS 低时,我的一些粒子甚至没有检测到碰撞。有没有办法在我当前的方法中防止这种情况,或者我是否必须实施另一种更有效的方法(这可能是可行的方法)?