SIMULATION / 时间与事件

两次检查之间,碰撞会被错过吗?

让相同的两组硬球沿两种时间规则前进。先预测,再用碰撞时刻和速度读数核对。浏览器实际计算 · 开放空间中的弹性硬球。

相同物理时刻,两条轨迹

上:每步末检查重叠 下:提前求解接触时刻

t = 0.000

箭头表示速度。球 A 为紫色、B 为橙色、C 为蓝色;标号同时区分粒子。轨迹采用相同坐标范围。

碰撞次数 · 固定步 / 事件0 / 0固定步 0 次
两轨道最大位置差0同一物理时刻,逐球比较
事件轨道动能 K1总动量 (0, 0)

拆开一次碰撞

待预报
1 相对运动2 接触方程3 合法时间4 到达接触5 法向冲量6 更新速度

时间轴:检查时刻与碰撞时刻

上排刻线是固定步检查时刻,下排圆点是有效的碰撞事件,竖线是当前物理时间。检查很密时仅抽稀显示刻线,不减少实际计算。

未来事件队列

点击一行查看预报。版本号记录粒子经历碰撞的次数;预报保存的版本与当前不一致,就不能再执行。

事件时间参与粒子保存版本当前判定

两球正碰只需一个事件。选择“三球接力”,观察旧预报被划去。

守恒量与逐球读数
方法 / 粒子x, yvx, vyK

先预测,再解释:动能没变,轨迹就一定算对了吗?

高速穿越的固定步轨道即使漏掉碰撞,粒子的速度仍未改变,因此动能也可能“完美守恒”。守恒量是必要的诊断证据,但不能替代碰撞时刻和轨迹的核对。

本页固定步方法仅在每步末检查重叠,是有意保留的简化基线。结合连续碰撞检测的固定步算法也能避免穿越。事件法要求碰撞之间匀速;连续分子间力需要数值积分。

所有位置、时间和质量均为无量纲教学单位;没有墙面与外力。两条轨道用同一初态,显示帧不参与物理计算。