轨道力学:两个行星之间形成特定角度的估计时间

时间:2014-04-23 07:24:04

标签: physics angle orbit orbital-mechanics

我正在尝试提出一个公式来估算两个轨道行星将形成目标角度的重复发生时间。为简单起见,我做了一些非常重要的假设:

  1. 假装开普勒的法律不存在
  2. 假装速度不变
  3. 假装两个行星沿着同一条路轨道运行
  4. 假装此路径为圆形,而非椭圆形
  5. 以下图表有助于了解我的挑战(Google文档): https://docs.google.com/drawings/d/1Z6ziYEKLgc_tlhvJrC93C91w2R9_IGisf5Z3bw_Cxsg/edit?usp=sharing

    我在电子表格(Google Docs)中运行了模拟和存储数据: https://docs.google.com/spreadsheet/ccc?key=0AgPx8CZl3CNAdGRRTlBUUFpnbGhOdnAwYmtTZWVoVVE&usp=sharing

    使用模拟中存储的数据,我能够确定一种估算两个轨道行星形成特定角度的第一次出现的方法:


    初始状态

    Planet 1: position=0 degrees; speed=1 degree/day
    Planet 2: position=30 degrees; speed=6 degrees/day
    Target Angle: 90 degrees
    

    我执行了以下步骤:

    Speed Difference: s2 - s1 ; 6 - 1 = 5 degrees / day
    Angle Formed: p2 - p1 ; 30 - 0 = 30 degrees
    
    Find Days Required
    Target = Angle + (Speed Diff * Days)
    Days (d) = (Target - Angle) / Speed Diff
    
    90 = 30 + 5d
    60 = 5d
    d = 12 days
    
    Prove:
    Position of Planet 1: 0 + (1 * 12) = 12 degrees
    Position of Planet 2: 30 + (6 * 12) = 30 + 72 + 102 degrees
    Angle: 102 - 12 = 90 degrees
    

    利用这种逻辑,我回到了一个使用Astro的瑞士星历的天文学计划。估计的天数使我足够接近,以便在两个行星达到所需角度时舒适地确定日期和时间,而不会影响应用性能。

    这就是我的问题所在:根据我所知道的信息,我应采取什么方法来估计再次达到90度角时的重现次数?

    感谢您抽出宝贵时间提前阅读。

2 个答案:

答案 0 :(得分:0)

关于角度的有趣之处在于,有不同的方式来表示相同的角度。所以你现在设置

Target = 90

之后的一次革命,相同的角度可写为

Target = 90 + 360 = 450

或者通常,n之后的革命

Target = 90 + n * 360

如果您还想要相反方向的相同角度,可以设置

Target = -90 + n * 360

如果您使用求解每个目标角度的等式,您将找到您正在寻找的所有事件。

答案 1 :(得分:0)

没有一个简单的公式,但有一个算法可以编程来确定结果。 五角大楼也是正确的,因为你需要考虑到n * 360。你也是正确的,因为你停止了一个行星,并研究速度的差异。

在d天之后,行星之间的度差为30 + d * 5。

由于我们只对0到360度之间的度数感兴趣,因此行星之间角度的差异为(30 + d * 5)mod 360。

如果您不知道mod b在a除以b时给出余数,并且大多数编程语言都内置了此操作(就像电子表格一样)。

当差异为90度或270度

时,您已发现想要d的值

所以你需要在

时找到d的值

(30 + d * 5)mod 360 = 90或(30 + d * 5)mod 360 = 270

伪代码算法

FOR (d=0; d<11; d=d+5)
    IF((30 + d*5) MOD 360 = 90   OR   (30 + d*5) MOD 360 = 270)
        PRINT d
NEXT