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

我正在写一个类似于小行星的Flash游戏,它有一艘飞船驶过行星 Realm 。行星不会在彼此上施加力,而只会在船上。

类似于以下Java模拟,但行星较大:

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

最佳答案

对于质量为 m 的行星,在距船 r 的距离处,船将经历
加速:

a = k m / r ^ 2,

其中k是一个常数,取决于您使用的单位。加速度将
指向地球。分解加速度可能很方便
沿x和y轴插入其组件(假设您在二维中工作)。
如果行星相对于飞船在x-y平面上的 Angular 为 theta

a x = a cos( theta )

a y = a sin( 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 x delta_t ^ 2/2

另请:Equations of motion

07-26 09:30