我正在尝试编写一个模拟,其中两个圆圈将碰撞,然后在弹性碰撞中弹跳分开。每个圆都有位置、速度、质量和半径。我已经有了碰撞检测,但我不知道如何确保得到的速度是真实的。
我知道作用在两个物体上的力是相同的,并且已经算出了作用力的角度,但是我需要找出作用力的大小。给定速度和速度,如何求解速度
我使用force是因为它很适合程序的其余部分,如果有更简单的方法请告诉我
首先,弄清楚球是如何从任意角度的墙上反弹的。如果v是速度矢量,a是法向量(垂直于墙并指向墙外的单位矢量),则v' = v - 2 (v。A ) A 给出反弹后的速度。
第二,考虑两个动量相等但相反的球的碰撞,就像两个相同的球,速度相等但相反,彼此擦肩而过。每个球都像撞到墙上一样,即两个球的切线。
第三,为了处理一般情况,我们使用质心系。质心速度为
CM v <子>子> = (m <子>子> v <子>子> + m b <子>子> v b <子>子>)/(m <子>子> + m b <子> ) 子>
这是一个观察者的速度,对他来说两个球的动量相等且相反。观察者所在坐标系中的速度为:
v <子>子>的 = v <子>子> - v <子>厘米子>
b v <子>子>的 = v b <子>子> - CM v <子>子>
v <子>子> " = v <子>子> " + v <子>厘米子>
v b <子>子> " = v b <子>子> " + v <子>厘米子>
利用动量守恒定律和能量守恒定律。你必须为每个圆假定一些虚构的质量,这样你才能解出碰撞后的最终速度。
设m1和m2分别为圆c1和c2的质量,速度分别为v1和v2。然后,
m1。V1 + m2。V2(碰撞前)= m1。V1 + m2。V2(碰撞后)(动量控制)上面的eqn是一个向量方程。
应用能量守恒:势能+动能(冷却前)=锅能+动能(碰撞后)