为此,您应该计算沿x的速度和y轴(x +已经正确的,Y +已经高达)
关于符号的一些注意事项:
u
代表初始速度
v
代表最终速度
theta
是角度
m
为质量
所以uxa
是初始速度,沿x轴,对象A的
使用三角学:
ux = u * cos(theta)
uy = u * sin(theta)
所以对于A:
uxa = 5 * cos(30) = 4.33 (2dp)
uya = -5 * sin(30) = -2.50 (negative because it is moving down, not up)
对于B:
uxb = 13 * cos(60) = 6.50
uyb = 13 * sin(60) = 11.26 (2dp)
这个问题没有提到coefficient of restitution,所以我们假设它是1并直接去elastic collision。
va = (ua * (ma - mb) + 2 * mb * ub)/(ma + mb)
vb = (ub * (mb - ma) + 2 * ma * ua)/(ma + mb)
假设船A和B型船具有相同的质量,ma = mb = 1
,我们得到:
vxa = (uxa * 0 + 2 * 1 * uxb)/2
= uxb
= 6.50
vya = uyb = 11.26
现在你有了新的值uxa
& uya
以同样的方式对怪物C使用。
这不是一个编程问题,而是一个运动学(力学)问题。 –