与此极为有用question有关找到方位角&给定日期的太阳高度和坐标。我希望找到相反的:时间&约会太阳将在天空的位置。
因此,我想知道有人可能会帮助现有的公式或修改链接到的公式。
我目前的想法是采取两个范围,两者的变化为两度,一个用于方位角(120-123度)和高度(18-21度)。然后编写一个算法来遍历所有日期/时间,并检查当天是否存在给定范围。在这些日子里循环并使用附加的算法并不能完全保持Big O的小,而且也不是最佳的性能。
请提供任何帮助或提示。
感谢。
答案 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 = height - (90 degrees - your latitude)
要计算白天的时间,您需要查找
不要忘记这种方法不包括岁差,章动......