2014-10-07 23 views
0

我正在程序化地生成2D太阳系,我希望行星具有不同的持续轨道。我一直在试图弄清楚,我可以如何计算当前相对于它在任何特定时间轨道运行的物体的角度,无论当地时间如何,每个人都应该是相同的。如果我使用种子Math.random来计算这些生成的变量,那么这可能会怎样呢?根据开普勒定律如何执行持续的,变化的时间周期

回答

1
  1. 实现太阳能系统的仿真

    ,很容易在3D甚至2D(无倾向)更容易看这里

    只是使用一些全局同步时间作为参数。我的意思是这个所有玩家/观察员应具有

  2. 为轨道要素使用播种伪随机量参数

    一样粗的添加一些范围为它们例如相互之间同步的时间):

    • 一个 - 主要半轴应在范围<0.01,200> [AU]所以

      a=(0.01+(200.0-0.01)*Random())*AU;` 
      

      其中AU是天文单位常数,Random给出伪随机数<0.0,1.0>

    • Ë偏心应在范围<0.00,1.00> [-]

    • I,O,O-是角度如此<0,2.0*PI> [rad]

    同样你可以加al l支持旋转周期。请注意,围绕中心物体的平均轨道周期取决于它与它的距离和质量比(对于游戏,您可以忽略它)。还有从太阳系观测到的行星质量/尺寸/距离比的经验公式。

[注释]


2D是没有倾斜,从而可以省略倾斜和节点角度所以只有periaxis角度保持。
所有旋转周期也在一些定义的时间段中起始角度,称为时期
所有参数都可以及时更改(但对于游戏而言,除非要测量其中的内容,否则这不相关...)

相关问题