行星的引力

时间:2011-08-12 17:02:12

标签: flash gravity

你如何模拟不同质量的行星对船的影响?

我正在写一个类似于小行星的Flash游戏,它有一艘小型船在一个行星场中航行。行星不会相互施加力量,而只会在船上施力。

像这样的Java模拟,但有更大的行星:

http://dan-ball.jp/en/javagame/planet/

1 个答案:

答案 0 :(得分:6)

对于质量 m 的行星,距船舶 r 的距离,船舶将体验 加速度:

a = k m / r ^ 2,

其中k是某个常数,取决于您使用的单位。加速会 被引向地球。打破加速可能很方便 沿x轴和y轴进入其组件(假设您在2维中工作)。 如果行星相对于船舶在x-y平面上的角度 theta

a x = a cos( theta

a y = a 罪( theta

对于多个行星,您可以按组件方式添加加速度。

如果船舶在 t 时的初始速度 v x ,则速度为 下一步 t + delta_t 将是:

v x + a x * delta_t

如果此船在时间t处于初始位置 p x ,则位置 在 t + delta_t 将是:

p x + v x delta_t + a < / strong> x delta_t ^ 2/2

请参阅:Equations of motion