【问题标题】:speed increases after elastic collision in 2d?2d弹性碰撞后速度增加?
【发布时间】:2021-09-26 10:52:37
【问题描述】:

我总是听说弹性碰撞后动量保持不变,我从没听过人们谈论速度增加(前后速度的长度)。

当我看到这个例子时 https://en.wikipedia.org/wiki/Elastic_collision#Two-dimensional

最初的红色速度在碰撞后变成了 2 个蓝色速度。我只能看到组件方面的速度保持不变。但是:两个蓝色向量的长度总是大于红色,所以每次碰撞的总速度都会增加(正面除外)?为什么没有人谈论这个?

【问题讨论】:

  • 这能回答你的问题吗:stackoverflow.com/questions/21532581/…?
  • 这个答案意味着2个球的总速度实际上随着每次碰撞而增加?对我来说,这很奇怪。
  • 几个物体的速度之和没有物理意义。您必须从能量的角度来看这一点:总能量是守恒的。速度并不总是在每次碰撞时增加。在碰撞过程中交换了一些能量。最初移动的硬币(A)在碰撞后移动得更慢,而静止的硬币(B)现在获得了速度:A通过将其提供给B而损失了一些能量。这是一个直接实现公式的模拟维基百科:editor.p5js.org/krafpy/sketches/HHux3v4d
  • 嗯,速度大小的总和是所有物体的总速度,如果它有任何价值,可以争论。顺便说一句,在您的模拟中,球可以相互生成(这是第一次发生),这可能有点令人困惑:)

标签: collision-detection game-physics physics collision


【解决方案1】:

[第 1 部分,共 2 部分]

正文:

两个蓝色向量的长度总是大于红色的

应该是:

两个蓝色向量的总标量长度总是大于红色的标量长度

原因:

标量是没有方向的大小。 矢量是带方向的大小。

参考:speed vs velocity.

所以,当我们要加起来时:

lengthBlueTop + lengthBlueBottom = lengthRed

我们必须添加 magnitute 和方向。如果我们进行标量加法,我们只将幅度(行进的距离)相加,不考虑角度/方向。像这样(标量):

LHS = lengthBlueTop + lengthBlueBottom
RHS = lengthRed

LHS = 0.0239 m + 0.0122 m 

= 0.0361 m

RHS = 0.02845 m

0.0361 m > 0.02845 m 
or 
lengthBlueTop(scalar) + lengthBlueBottom(scalar) > lengthRed(scalar)

with difference of 0.0361-0.02845 = 0.00765 m (26.8892 %, roughly)

其中描述了原始语句。太好了。

现在我们做正确的向量(大小+方向)加法:

LHS = 0.0239∠-62° m + 0.0122∠28° m 

= ( 0.0239cos(-62°) + 0.0239sin(-62°) i ) + ( 0.0122cos(28°) + 0.0122sin(28°) i ) = (0.02199 - 0.01537 i)

= 0.026829∠-0.610024°

RHS = 0.02845∠0° m

0.026829∠-0.610024° ≈ 0.02845∠0° m 
or     
lengthBlueTop + lengthBlueBottom ≈ lengthRed

with difference of = 0.001621∠0.610024° m (5.697715 %, roughly)

考虑到基于人类(手动)像素的测量误差 + 来自 ref gif 动画帧的有限时间/像素数据精度,我认为这就足够了。

[第 2 部分,共 2 部分]

至于:

2d弹性碰撞后速度增加?

我想把所有速度都列出来看看..

LHS (before) RHS (after)
m1 displacement r [m] 0.02845 0.0122
deg from +x -62°
m2 displacement r [m] 0 0.239
deg from +x 28°
m1 velocity v1 [m/s] 0.01778125∠0° 0.007625∠-62°
m2 velocity v2 [m/s] 0∠0° 0.149375∠28°

如果我们可以观察到,最终 m2 速度高于初始 m1 速度。但正如我们在动量守恒计算(下图)中看到的那样,它被非常慢的 m1 最终速度偏移

理解向量操作的关键..是将其分解为其组件(x,y 轴)。然后(我花了几年时间..)我们实际上可以看穿它。一辆时速 70 公里的汽车(约 1600 公斤)撞到一个 50 公斤的人/物会以更快的速度扔掉它。看到了吗?

希望这是可以理解/可以接受的。请分享你的想法。 (^_^)\

--

**此行下方的所有内容都是上面使用的数字的额外信息。我只是把它作为参考/额外阅读。


额外

OP 提到:

弹性碰撞后动量保持不变

是的。你是正确的:TotalMomentumBefore = TotalMomentumAfter(假设完美的弹性碰撞)。

由于 momentum = mass*velocity ,(OP已经知道这一点,我只是为了清楚起见..)上面的系统动量关系定义为:

m1*v1i + m2*v2i = m1*v1f + m2*v2f    ('f' denote 'final/after')

观察:

m1  = m2 = some kg

v1i = some m/s, at +x direction.       <--- The red arrow
v2i = 0 m/s

v1f = some m/s, at +x & +y direction.  <--- The top blue arrow
v2f = some m/s, at +x & -y direction.  <--- The bottom blue arrow

详情:

Arrow length angle period
Red 1.12"(0.02845 m) +90 deg from +y axis & 0 deg from +x axis (parrallel) 20 x 8 x (1/100) s = 1.6 s
Blue,Top 0.48"(0.0122 m) +28 deg from +y axis & -62 deg from +x axis 1.6 s
Blue,Bottom 0.94"(0.0239 m) +152 deg from +y axis & +28 deg from +x axis 1.6 s

m1 = m2 = 13.20 g = 0.0132 公斤

reconfirm(重新计算,验证精度):

m1*v1i + m2*v2i = m1*v1f + m2*v2f

LHSx = (0.0132 kg)*(0.02845∠0° m / 1.6 s) + (0.0132 kg)*(0 m/ 1.6 s) 
    = (0.0132 kg)*(0.02845*cos(0°) m / 1.6 s) + (0.0132 kg)*(0 m/ 1.6 s) 

= 2.35×10^-4 kg m/s

在 LHS 时,y 轴速度为 0 m 。 bcoz 0.02845*sin(0°)0 。所以我写: LHSy = (0.0132 kg)(0.02845sin(0°) m / 1.6 s) + (0.0132 kg)*(0 m/ 1.6 s) = 0 kg m/s

与此同时,

RHS = (0.0132 kg)*(0.0122∠-62° m / 1.6 s) + (0.0132 kg)*(0.0239∠28° m/ 1.6 s) 

在这里,0.0122∠-62° 和 0.0239∠28° 同时具有 x 和 y 分量。我们为 x 轴 1 做。 :

RHSx = (0.0132 kg)*(0.0122*cos(-62°) m / 1.6 s) + (0.0132 kg)*(0.0239*cos(28°) m/ 1.6 s) 

= 2.213×10^-4 kg m/s

关于y轴:

RHSy = (0.0132 kg)*(0.0122*sin(-62°) m/ 1.6 s) + (0.0132 kg)*(0.0239*sin(28°) m / 1.6 s)

= 3.699×10^-6 kg m/s

LHS (before) RHS (after)
m1 displacement r [m] 0.02845 0.0122
deg from +x -62°
x [m] 0.02845 0.005727553
y [m] 0 -0.010771961
m2 displacement r [m] 0 0.239
deg from +x 28°
x [m] 0 0.112203704
y [m] 0 0.112203704
momentum x [kg m/s] 0.00023500 0.00022100
y 0.00000000 0.00000369
Total 0.00023500 0.00022469

动量前后有 4.38 % (0.00001031) 的差异。在我们之前接受的公差范围内。在这种情况下,动量守恒是有效的。 ( :

【讨论】:

  • 感谢您为此付出的精力(眨眼眨眼)!我的模拟正确地进行了这些计算(显然),这让我感到困惑,因为总速度确实增加了(但动量保持不变)。我认为实际的标量速度应该保持不变,但它是每个分量(基于矢量),这仍然有些不清楚,但它会随着时间变得更加清晰。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-14
  • 2013-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-27
  • 1970-01-01
相关资源
最近更新 更多