2014-10-07 52 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角度保持。
所有旋轉週期也在一些定義的時間段中起始角度,稱爲時期
所有參數都可以及時更改(但對於遊戲而言,除非要測量其中的內容,否則這不相關...)