2D弹性球碰撞物理

0WJ*_*FMN 8 physics 2d collision

我正在制作一个涉及弹性球物理的程序.我已经计算出所有与墙壁和静止物体发生碰撞的数学计算,但我无法弄清楚当两个移动的球碰撞时会发生什么.我有质量和速度(x和y速度准确,但每个球的速度和它们的方向都会这样做)并且想要那些公式.记住 - 这是一个完全弹性的碰撞 - 所以没有旋转球等.

cro*_*mod 15

这篇维基百科文章提供了计算两个粒子碰撞后速度的公式:

使用此公式有很多原因:

  • 你只需要在碰撞前你的球的速度矢量,它们的质量和它们的位置,
  • 你不需要定义偏差角度,
  • 操作很简单(只需要点产品),
  • 矢量可以在任何坐标系中表示.

维基百科文章中没有证据,所以我在下面提供.


问题的定义

在此输入图像描述

对于每个球,我们定义:

  • 弥撒
  • vi碰撞前的速度矢量
  • v'i碰撞后的速度矢量
  • Oi是中心点
  • xi Oi位置的向量

单位矢量n垂直于接触点处的球的表面.

单位矢量t与接触点处的球表面相切.


物理法使用

总动量的守恒表示为:

总动能守恒表示为:

由于在切线方向上没有施加力,碰撞后速度的切向分量不变:


证明

速度的切向分量不变.所以我们可以用正常的组件重写守恒定律,现在我们有一个问题:

动能守恒可以分解,然后通过动量守恒简化:

我们将这最后一个表达式与动量守恒结合起来,得到v'1的正常分量 :

最后,我们找到viki的维基百科文章的公式:

v'2的公式是对称的.