物理学 - 弹丸获得发射角度以达到所需位置?

时间:2013-01-07 10:22:56

标签: physics projectile

我在游戏中编写一个简单的球类弹丸。 这个更新看起来很像:

velocity += gravity;
velocity *=0.9;
pos += vel;

有没有办法设置发射的角度和功率,以达到用鼠标指定的点? 像peggle,http://youtu.be/4KbNiWsgJck?t=45s

我知道有几年前我用过的解决方案,但我找不到它。 我相信它将我的更新变成了二次方程式,或者是它或者某种东西。 它有两个用二次方程求解的解。

ps-希望这可能是3D,但我也可以使用2D解决方案因为我的曲线是2D

任何帮助? 谢谢, 丹

1 个答案:

答案 0 :(得分:1)

是的,你可以这样做。如果你可以改变角度和速度,你可以获得比你需要的更多的可变性,所以你必须找到一组合理的参数,这并不难。基本方程是:

x = x 0 + t * v 0x
y = y 0 + v 0y t +(1/2)a y t 2

在这里,x和y将是你想要击中的点,而t将是你击中它们的时间。 t 不会出现在最终解决方案中,但您可以在中间使用它来计算您想要的值。

然后,基本上,为v 0x 选择合理的值。使用x方程式,找到目标被击中时 t 的内容。然后将此值插入y方程,并求解v 0y 。然后,这将为您提供一对v 0x 和v 0y 的值,这些值将用于击中目标。