计算日期&给定太阳位置(方位角和仰角)以及纬度和经度的时间

时间:2013-01-08 16:43:34

标签: math astronomy azimuth

与此极为有用question有关找到方位角&给定日期的太阳高度和坐标。我希望找到相反的:时间&约会太阳将在天空的位置。

因此,我想知道有人可能会帮助现有的公式或修改链接到的公式。

我目前的想法是采取两个范围,两者的变化为两度,一个用于方位角(120-123度)和高度(18-21度)。然后编写一个算法来遍历所有日期/时间,并检查当天是否存在给定范围。在这些日子里循环并使用附加的算法并不能完全保持Big O的小,而且也不是最佳的性能。

请提供任何帮助或提示。

感谢。

2 个答案:

答案 0 :(得分:1)

这里有一些有用的东西(参见链接 - 特别是[12] - [15])

https://en.wikipedia.org/wiki/Position_of_the_Sun

一个问题是,如果你用这个来确定诸如“太阳直接在公元前一千万公顷的巨石阵的'石碑'上”的事情,那么除了岁差之外会有很多错误来源和/或章动(地震改变地球的旋转周期,当太阳接近地平线时,你会得到一些显着的折射)。还有http://www.stargazing.net/kepler/sun.html。然而,由于太阳处于特定位置的日子和时间很多,猜测日期和时间窗口然后迭代地进行牛顿式近似的方法可能是最好的。也许如果你能提供更多关于你为什么要找到答案的信息(即“橡树的影子什么时候落在埋藏的宝藏上......”),我们可能会更有帮助吗?

答案 1 :(得分:0)

经过一番思考,你可以得到这样的日期:

if (ang>=0.0) date = (21.March)    +ang*(21.June    -21.March    )/(23.4 degrees);
else          date = (21.September)-ang*(21.December-21.September)/(23.4 degrees);
  • 日期非常简单
  • ang是黄道面与地球赤道面之间的当前角度
  • 必须在白天测量!!!
  • 如果你在天文中午测量太阳高度(在你的纬度),那么:

    ang = height - (90 degrees - your latitude)
    
  • 转换在您需要应用矢量数学的任何时候测量的高度
  • 见两个平面之间的角度计算
  • 查看图片以获得更清晰

Ecliptic during the year 要计算白天的时间,您需要查找

  • 标准(UTC)时间和恒星时间之间的转换
  • 另一个好主意是寻找太阳能时钟设计,其中包括几何方式的所有计算。

不要忘记这种方法不包括岁差,章动......

  • 如果你考虑到那个,那么这项任务就变得无法解决了,因为太阳天空 - 圆顶路径穿越导致任何给定太阳位置的多种解决方案
  • 幸运的是,岁差太慢了,我们可以跳过它几千年
  • 和章动的半径小(仅影响精度)