对日出时间和方位的简单计算

标签:
科技 |
第一次想起这个计算,大概是11年在黄山看日出,太阳将在哪个时刻哪个方位出现,除了官方的预报,我们自己能计算出来么。同样的场景还有天安门升旗等。
(一)
1题目
题目:根据观测地点的经度、纬度和观测日期,计算日出的时间和方位。
例如:太原东经112.5°、北纬38°,今天日期为11月6日,计算日出的时间为北京时间7:22,方位为东偏南20.91°。
2分析和算法
看上去,这题稍有点难度,实际上,是对太阳轨迹的计算。解题的关键,一是了解地球公转和自转的原理,二是了解太阳每天在天上的运动轨迹。建立相应的几何模型后,通过三角运算,得到期望的解答。
算法:①根据纬度和日期,计算正午太阳角度,②根据正午太阳角度,计算日出时间和方位,③根据经度,计算时区时间。
3计算的局限
着重说明一句,这个题目只对日出时间和方位进行简单计算,不涉及地球椭圆轨道、均时差等复杂情况,所以计算仅停留在理论层面,与真实日出时间和方位存在比较大的误差,计算本身没有什么实际意义。
这个计算的实质,是天文常识与立体几何的综合,偏巧自己对这两个都感兴趣。关键的几何模型的建立,挺有意思。由于只对地球公转自转和太阳轨道进行简单计算,只需要初级的天文知识,几何模型的建立和相应的三角运算,也都比较简单。
另外,不同于前面的地球月球太阳的大小和距离计算,日出时间角度计算完全是一道数学题,基于确定的地日宇宙模型,以及立体几何和三角计算,与测量无关。
(二)
1步骤一、由日期和纬度,计算正午太阳角度
http://s7/mw690/006zIaelzy7gqohNON8b6&690
一年中不同日期,正午太阳在天上的角度不同,这是由地球公转、自转,以及公转自转轴的夹角造成的。绘图能力有限,上图描述得不是很清晰。
计算中,日期通过冬至后地球相应的公转角度α表现,与黄赤交角ε、观测地纬度φ,组成一个立体模型。其中,每天正午观测地与赤道的太阳角度差,为该地纬度。http://s1/mw690/006zIaelzy7gqolGvS010&690
将地球公转简化为上图所示的立体模型,经过几何和三角运算,可得到图中显示的公式。根据观测地纬度φ、公转角度α、黄赤交角ε,计算得到正午太阳角度γ。
2步骤二、由正午太阳角度,计算日出方位和时间
上图显示一天中太阳在天上的轨迹。不考虑太阳一天中在南北方向的细微变动,这个轨迹是一个平面内的正圆。该平面与北极星垂直,夹角为本地纬度φ。该平面的相对位置,由当日正午太阳角度γ决定。该平面与地平面的交点,即日出和日落。
由正午太阳角度γ,可计算得到日出时的轨道角度μ和地面角度δ。δ即为日出时的东偏南方位。由于太阳一天内在正圆轨道上是匀速运动的,因此μ对应日出时间与清晨6点的时间差。
根据上图的几何模型,经过几何和三角运算,可得到图中显示的公式。根据观测地纬度φ和正午太阳角度γ,得到日出时的轨道角度μ和地面角度δ,由μ折算出日出时间。
3步骤三、由经度和日出本地时间,计算时区时间
上一步骤计算的日出时间,为观测地本地时间(正午太阳最高时为12:00,即日晷时间)。由观测地经度λ与所在时区的经度差,得到本地时间与时区时间的相差,计算日出时区时间。
例如,太原东经112.5°,与北京时间东八区所在时区经度120°相差0.5小时,上面计算的日出时间,加上0.5小时,即为日出的时区时间(东八区北京时间)。
4计算结果
下表为对太原日出时间的简单计算,经度λ=112.5°(东经),纬度φ=38°(北纬),黄赤交角ε=23.44°。日出时间为北京时间,太原本地时间与北京标准时间相差0.5小时。
|
冬至后角度 |
正午太阳角度 |
日出时区时间 |
日出实际值 |
日出地面角度(东偏南方位) |
||
α |
日期 |
γ |
|
时间 |
误差 |
δ |
|
冬至 |
0 |
12.22 |
28.56 |
7:49:12 |
7:42:46 |
0:06:26 |
30.32 |
立春 |
45 |
02.05 |
35.66 |
7:22:57 |
7:30:46 |
-0:07:49 |
20.91 |
春分 |
90 |
03.23 |
52.00 |
6:30:00 |
6:28:59 |
0:01:01 |
0.00 |
立夏 |
135 |
05.07 |
68.34 |
5:37:03 |
5:27:12 |
0:09:51 |
-20.91 |
夏至 |
180 |
06.22 |
75.44 |
5:10:48 |
5:07:48 |
0:03:00 |
-30.32 |
立秋 |
225 |
08.07 |
68.34 |
5:37:03 |
5:38:03 |
-0:01:00 |
-20.91 |
秋分 |
270 |
09.21 |
52.00 |
6:30:00 |
6:16:44 |
0:13:16 |
0.00 |
立冬 |
315 |
11.06 |
35.66 |
7:22:57 |
7:00:48 |
0:22:09 |
20.91 |
表中日期根据角度计算(一年365.24天),日出实际值来自互联网。
如果纬度为0°(即赤道),则日出时间永远为6:00。如果纬度高于北极圈66.56°(即黄赤交角23.44°的余角),冬至前后会出现极夜、夏至前后会出现极昼,日出时间和方位都不能计算。
(三)
1大规律和小变数
“天行健”,宇宙万物的运动,严格遵循各自的规律,太阳不会在西边升起,一个月经历29.53个昼夜,冬天过后一定是春天。对这些规律的观测和解释,应该就是天文学;对其内在原因的公式拟合,应该就是物理学定律。
同时,天地运转又是彼此相关、非常复杂的,地球公转轨道不是正圆,地球本身不是正圆球体,地球自转不匀速,甚至自转轴也在时刻发生极细微的偏转,等等。不过,第一,这些天文现象,都是在严格遵循前述整体规律的前提下,发生的少许变数,地球公转轨道是个离心率很小的椭圆、地球自转基本匀速等;第二,这些变数本身也是规律,也是“天行健”的组成。
本文的简单计算,即基于地球公转与自转的基本规律。为简化计算,当然也是基于自己的能力和兴趣,没有考虑对日出时间和方位产生细小影响的其他因素。因此,上面计算结果表中的计算值与实际值,出现最多22分钟和-8分钟的误差。
2地球公转轨道不是正圆、地球围绕太阳公转不匀速
地球公转的椭圆轨道和不匀速,产生的均时差天文现象,是前述计算误差的最主要来源。其他因素造成的影响,或者很细微,或者为可调整的固定值,因此均时差可以视为计算误差的唯一原因。一年内每一个自然日的经历时间,长短偏差累计竟然有30分钟,天地运转的这个变数,基本上可以视为一个经验值,这个理论上的理想计算,不大情愿予以妥协。
上表中春分秋分的计算日期与实际日期的2到3天的误差,应来自均时差的日积月累。
3地球不是正圆球体、地球自转不匀速、每天太阳在天上的轨道不是一个平面,等
这几个因素,对日出时间和方位的计算,都造成一定的误差,但影响相对很小,估计即使超过秒级,也不会太多吧。
太阳每天在天上的轨迹,一年之内在南北之间往复(两倍黄赤交角范围),造成冷暖四季。严格说来,太阳每天的轨迹即使能大致构成一个平面,与北极星地球自转轴也不绝对垂直。但在一天之中,这个偏移相当细微,对三角计算的影响应当更小。
4冬至日0点地球不在冬至点上
地球自转轴与公转黄道面的垂直平面,每年与太阳重合两次,即冬至和夏至点(北半球)。上述计算的起点,当年冬至日时区时间00:00点地球所在的位置,当然不可能在严格的冬至和夏至点上。但每年的这个差异,是可以确定和调整的。
小结:计算的几个前提,地球公转轨道是正圆、公转匀速、地球是正圆、自转匀速、太阳轨道与天球自转轴垂直、冬至从0时开始等,这些都不绝对,但都接近,除公转椭圆轨道造成的均时差,其他因素对计算结果的影响很小。
(四)
自己的算法,即使具体的几何或三角计算有误,正午太阳角度的思路,应该问题不大。
天文学家用什么算法计算日出时间,不知道。自己估计,有可能是在正午太阳高度的理想算法之上,结合其他因素,不大容易加入计算的以经验值方式表现。不懂瞎猜。
(五)
1计算的基础
这个题目,没有地球球体概念的中国古人算不了;拥有完善地心说的古希腊人,计算起来恐怕也难度很大;掌握日心说宇宙模型后,计算很简单。
2计算的意义
这个计算只是一个题目,练练脑子,智力体操。区别于动物直觉和古人记忆,通过数学计算,提前预知每一天太阳升起的具体时间和位置,感觉意义远大于计算本身。这是解释和计算宇宙的最简单的数学模型,矫情说,体现的是科学的魅力。
看看天文观测计算的历史。著名的六分仪,原理由牛顿提出,通过测量天体所在位置,结合时间,精确确定观测者所在位置、具体的经纬度数,是远航及航空最基本的定位工具。171年前的1846年,法英两位天文学家,完全利用计算而不是观测,用数学发现海王星,创造天体力学神话。未来的哪个年月日将发生日食,在哪个时分秒开始和结束,在地球上的哪些区域能观测到哪种食分,这一切,天文学家早已经为我们算得清清楚楚。
如果觉得这些没什么,那也真的没什么。不过,今天的人类文明,就建立在这些计算之上。现在有些人牛逼得不行,觉得人类智慧不过尔尔,甚至把文明成就归功于神明或外星人,我觉得他们是聪明过头了。
2017.11.