行星的引力

Ste*_*org 7 flash gravity

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

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

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

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

Jim*_*wis 6

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

a = k m/r ^ 2,

其中k是某个常数,取决于您使用的单位.加速度将指向行星.沿x轴和y轴分解加速度可能很方便(假设你在2维工作).如果行星相对于船在xy平面中处于角度θ,

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

请参阅: 运动方程