两辆小车弹性碰撞后为什么不能只交换速度:独立演算第05例

  • 2026-11-08
  • 1

在理想的一维小车游戏里,质量相等时交换速度是一个很方便的特例;质量不同就需要同时考虑动量与动能,直接互换通常不再满足条件。

假设左车确实追上右车,没有外力冲量,碰撞完全弹性。质量分别为m和n,碰前速度为u和v,则左车新速度为((m-n)u+2nv)/(m+n),右车为(2mu+(n-m)v)/(m+n)。正方向统一向右。

这一例的完整输入

八组互相独立的小车实验,左车在左、右车在右,只处理一次碰撞。

逐项计算记录

组 | 左质量/右质量 | 碰前左/右速度 | 碰后左/右速度 | 总动量 | 两倍动能 1 | 3/4 | 7/-6 | -55/7/36/7 | -3 | 291 2 | 4/3 | 2/-3 | -16/7/19/7 | -1 | 43 3 | 3/5 | 2/-6 | -8/0 | -24 | 192 4 | 2/6 | 4/-3 | -13/2/1/2 | -10 | 86 5 | 1/5 | 5/-6 | -40/3/-7/3 | -25 | 205 6 | 7/4 | 4/-4 | -20/11/68/11 | 12 | 176 7 | 1/7 | 8/-5 | -59/4/-7/4 | -27 | 239 8 | 4/2 | 5/-6 | -7/3/26/3 | 8 | 172

读表时先把输入与计算后的结果分开。空值表示这一步没有适用对象或没有可用结果,不应自动换成零。编号只负责识别本例中的元素,同一个数字出现在不同字段时,要先确认它代表位置、对象还是数值。

怎样复核和使用

逐行核对碰前后的总动量,以及质量乘速度平方之和;后者是总动能的两倍,比较时可以省去共同的一半。碰后的相对速度应与碰前相反,这也提供另一条独立检查。

这是用来理解理想规则的模型,不适用于任意游戏引擎的刚体接触。摩擦、旋转、非弹性损失和多物体同时接触都会改变处理方式,表中分数速度不必取整成整数。

可以先遮住记录表,只按上述规则重算前两步,再选择一个边界条件重新试算。若结果不一致,应逐项检查输入顺序、端点是否包含以及状态在哪一步更新;不要只看最终合计相同就认为中间处理也完全正确。