假设有两个球,其中一个在笛卡尔坐标平面内移动,而另一个则静止不动。在某个时刻,移动的球与惰性球发生碰撞。假设移动的球沿直线行进,根据以下信息,如何得出移动的球将被推进的新角度:
移动球的中心坐标(X0,Y0)、半径(R0)和撞击前的行进角度(A0)
静止球的中心坐标(X1,Y1)和半径(R1)
如果你的第二个球有无限质量:
其中 phi(经过长时间计算)是:
phi= -ArcTan[
( 2 R^2 Sin[A0] + 2 (YD Cos[A0] - XD Sin[A0]) (2 H Cos[A0] +
2 XD Sin[A0]^2 - YD Sin[2 A0])) /
((2 R^2 - XD^2 - 3 YD^2) Cos[A0] + (XD^2 - YD^2) Cos[3 A0] +
8 XD YD Cos[A0]^2 Sin[A0] + 4 H Sin[A0] (-YD Cos[A0] + XD Sin[A0]))
]
Where:
H = (R0 + R1)^2 - ((Y0 - Y1) Cos[A0] + (X0 - X1) Sin[A0])^2
R^2 = (R0 + R1)^2
XD = X1 - X0
YD = Y1 - Y0
Edit
要确定整个轨迹,您还需要撞击时移动球的中心坐标。他们是:
{X,Y}= {X1+Sin[A0] ((Y1-Y0) Cos[A0]+ (X0-X1) Sin[A0])-Cos[A0] Sqrt[H],
Y1+Cos[A0] ((Y0-Y1) Cos[A0]+(-X0+X1) Sin[A0])-Sin[A0] Sqrt[H]}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)