问题
模拟N个运动的小球,小球之间可以发生弹性碰撞
建模
硬碟模型
- N个运动的质点,它们之间能发生弹性碰撞,也可以和墙壁发生弹性碰撞
- 每个质点有明确的位置、速度、质量、半径
- 没有其他外力
模型应用范围
麦克斯韦:物体的温度和微粒速度分布的关系
爱因斯坦:解释花粉的布朗运动
基本思想
基本思想就是预测小球的碰撞时间,然后将碰撞时间作为优先级队列的关键字进行排序,每次从优先级队列中取出最小的元素,进行碰撞计算,然后重新预测碰撞时间。
这里面涉及到很多物理知识,代码就不演示了。
普林斯顿公开课 算法4-4:优先级队列的应用
时间: 2024-10-26 17:06:40