【问题标题】:How to calculate dawn / dusk times如何计算黎明/黄昏时间
【发布时间】:2010-04-09 17:27:21
【问题描述】:

我目前正在使用this code 来计算日出/日落时间。 (更准确地说,我正在寻找民用黎明/民用黄昏时间,它们被定义为太阳在 0° 和 -6° 高度之间的时间)。作为下一步,我想计算黎明开始和黄昏结束的时间。我相信计算结果一定非常相似。

我的想法是,如果我想计算某个地方的黎明开始(黄昏结束)时间,我只需计算东(西)6° 的地方的日出(日落)时间。

有人可以证实这个假设,还是我想错了?

感谢您的回答!

--Ry

编辑:再想一想,得出的结论是我的假设是错误的。向东移动 6° 是错误的,垂直于光/影边界移动 6° 是正确的。 (如果您想象地轴不是倾斜 23.xx° 而是 90°,就会变得很明显 - 向东移动不会改变任何事情)。

【问题讨论】:

标签: c


【解决方案1】:

您链接到的代码在 calcHourAngle* 方法中使用了一个常量 (90.833)。如果您查看日出/日落的these definitions,您会在技术定义和计算详细信息下注意到相同的 90.833 常量。再往下一点,在民间暮光下,使用了类似的常数 96。也许改变这个常数会得到你想要的?

【讨论】:

  • 谢谢!这正是我想要的!
【解决方案2】:

我对您的代码没有评论,但您可以使用以下站点来验证程序的输出:http://aa.usno.navy.mil/data/docs/RS_OneYear.php

【讨论】:

    【解决方案3】:

    这可行,但前提是可以假设海拔无关紧要。根据您需要的精确程度,高山顶上的某个人会在海平面上的某个人之前(或之后)经历日出(或日落)。例如,如果您站在珠穆朗玛峰上,日出和日落相对于海平面相差约 16 分钟(来源:信封背面数学)。

    请注意,您所在的纬度越极端,夏季越长,冬夜越长。地球上的一些地方在夏季全天 24 小时都接受阳光照射,并且整夜 24 小时都笼罩在黑暗中。这些地方没有每天的“黎明”或“黄昏”,尽管您可以选择天空中太阳最低和最高之间的中间时间。

    【讨论】:

    • 好吧,无论如何,用于计算太阳位置的算法在北极圈以上的地方非常不准确,所以我在我的程序中排除了所有这些地方。目前也不支持高程。但是您认为该算法适用于像纽约市这样的地方(即没有极端的地方)?
    • 回复:纽约,这可能取决于你在哪层楼。.. ;-)
    【解决方案4】:

    这不起作用。向自己证明这一点的一个简单方法是,在两极,太阳的高度不会随着您的身体旋转而改变,因此向东或向西移动 6 度不会影响您的时间。

    如果你离赤道更近,这个计算可能会更准确,但我认为它永远不会完美。

    【讨论】:

    • @clahey:我认为你的断言是错误的。在两极,有一个奇点。你不能从北极向“东”移动 N 度,因为没有其他地方可以去。我们也不是在谈论原地旋转,我们谈论的是在平行线上移动一个角距离,这是一种不同的平移。
    • 好的,离北极走10步。你以东 6 度是向左一步。您会注意到日落时间发生了微小的变化。然而,民间黄昏的开始和结束仍然相距几天(几周,几个月?)。
    猜你喜欢
    • 2015-01-17
    • 2011-02-07
    • 1970-01-01
    • 2021-05-31
    • 2018-02-23
    • 2023-04-01
    • 2017-02-26
    • 1970-01-01
    相关资源
    最近更新 更多