在前文中,为了回答 太阳的方位角变化是否匀速,特别是 在日出和日中时相同时间内的方位角变化是否相同,我们根据天文观测数据,又通过立体几何(?)从原理的角度分析,得出结论 太阳的方位角变化不是匀速的。不是匀速的,这个结论可以更精细一些,方位角(以及高度角)的变化符合什么规律呢?
太阳的方位角变化,涉及天文学里的球面坐标系转换等知识。假设,我们已经理解了这些知识,因此得到了一些公式。这些公式在网上不少,一般地都是对的,并且彼此可以验证。所以,我随便找了一下。
1. 高度角,使用excel描述
之所以需要高度角的原因,一方面,既然方位角变化不是匀速的,对于高度角的变化,我们也很好奇;另一方面,方位角的公式里有高度角,先求出高度角再求方位角更容易一些。
参见 https://zhuanlan.zhihu.com/p/641045406
高位角的公式如下
sin hs =sinφ·sinδ+cosφcosδ·cosΩ
其中
(1)hs 是高度角,待求的值。
(2)φ 为地理纬度,我们保持与前文一致,北纬42度。
(3)δ-赤纬,可以通过公式求得
在这里,我偷懒了,按与前文一致的时间 2016年1月1日,
在这里查表 http://www.jisuanqiol.com/baike/jk/3575.html
得到-22.99度。
(4)Ω-时角,deg (时刻-12)小时*15度/小时。时刻是唯一的变量。
在excel中,时角的公式为
=(E17-12)*15
其中E17是时刻的单元格。
明确了以上几个量以后,我们就可以根据时刻这个唯一变量,求得 指定日期2016年1月1日,北纬42度 太阳的高度角变化。不需要经度的原因,是因为我们使用当地时间。
在excel中,高度角的公式为
=ASIN( SIN(42/180*3.14)*SIN(-22.9/180*3.14)+COS(42/180*3.14)*COS(-22.9/180*3.14)*COS(F17/180*3.14))/3.14*180
其中F17是时角的单元格。
从7:30日出时起,至16:30日落时止,每隔1小时计算一次,我们得到以下表格。
其中 时刻以小时为单位,例如7.5代表7:30分;
时角,是计算的中间过程;
高度角,为所求目标。
画图如下。
从图中我们可以看出,高度角从日出时0度,逐渐上升,在正午时25度左右。下午至日落,高度角逐渐降低。
细致观察我们也可以看出,高度角的变化不是匀速的,似乎日出时快,至日中时慢,与前文中的结论一致。
对高度角的变化,我们作进一步的定量分析,求每两次计算值之间(因为时间间隔一致,因此差分即斜率)。为了符合一般感觉,我们把对差值再取绝对值。这样,我们得到下述表格。
其中,diff为两次高度角之差,diff-abs为取绝对值的结果。绘图如下。
在上图中我们可以看出,高度角的变化/差分/斜率/导数,不仅早/晚和中午不同,而且还有更细致的变化规律。那可以由二次导求出。事实上,仅通过公式,我们也可以知道,其中有三角函数,变化一定不是线性的。
2. 方位角,使用excel描点
参见 https://zhuanlan.zhihu.com/p/526310019?utm_id=0
里面有个公式,我截图抄来如下。
可以得到以下方位角的公式。
cos 方位角 = (sin 赤纬 - sin 高度角 * sin 纬度 )/(cos 高度角 * cos 纬度)
有两点需要简单解读。
(1) 右式=cos 方位角,所以可以用对右侧式子取 acos,从而得到方位角;
(2) 要保持所角的都是角度制或者弧度制,并且符合所用工具excel的要求。
其中
赤纬查表 | -22.99 |
高度角 | 已求 |
纬度 | 42 |
这样,唯一的变量是时刻。与上文中高度角一样,我们从日出到日落,每隔1小时求一次方位角。
2016年1月1日,北纬42度。
在excel中公式为
=ACOS((SIN(-22.99/180*3.14)-SIN(42/180*3.14)*SIN(B14/180*3.14))/(COS(42/180*3.14)*COS(B14/180*3.14)))/3.14*180
其中B14是时刻的单元格。
过12点以后,上述方位角公式失效,角度开始回转。所以我稍作改动
=180-ACOS((SIN(-22.99/180*3.14)-SIN(42/180*3.14)*SIN(B19/180*3.14))/(COS(42/180*3.14)*COS(B19/180*3.14)))/3.14*180+180
其中B19是时刻的单元格。
根据上述表格绘图,结果如下图所示。
我们可以注意到,早晨和中午的方位角变化,有5度左右的差异。日出和日落时方位角变化慢,接近中午,方位角变化快。正午前后,方位角变化慢了?
上述使用 excel,比前文中天文数据或立体几何中取几个点,看起来更具有一般性。并且,对于扩充到更多的数据,我们仍有潜力。
我们还可以做得更好,使用 geogebra画函数曲线
3. 高度角,使用 geogebra画函数曲线
根据公式,我们得到 f(x),如下。
其中,lat是纬度,我们暂定42度; dec是赤纬,我们暂定-22.99度。
绘出函数图像如下。
求导,得到蓝色曲线如下。
比excel描点的方法,我们能得到更多更密集的数据。
不仅如此。我们可以容易地修改纬度和赤纬。
上图是 纬度为0、赤纬为0 的太阳高度角变化。早6点日出,晚6点日落。12小时白昼。作为对比,北纬42度的元旦,白昼只有9个小时。正午太阳高高角90度(90.01多出的部分,我猜测是计算误差)。
它的高度角变化,是均匀的。
很容易切换到北极圈以内,白夜,太阳永远不落到地平线以下。
4. 方位角,用geogebra画函数曲线
锁定纬度、赤纬,高度角由公式求出作为中间结果。
方位角公式如下。
叠加了高度角帮助判断日出和日落,绘出函数图像如下。
变化率,即求导的结果呢?下图中,绿色的曲线是对方位角曲线求导。
看来,正午12点左右,我修改过的公式有毛病,出现了间断点。其余的形状看起来都与excel描述的结果一致。哪位大侠知识正确的方位角公式,还请不吝赐教。
我们定位到北极圈接近北极点,赤纬接近0的那一天。
得到方位角持续不变。
这是超出了公式的有效范围,还是……方位角是南?如果方位角是南,那应该是180度吧。
后面的Geogebra函数曲线,我解释不了,超出我所了解的范围了。不过使用geogebra画曲线;改参数值,观察曲线立即变化,以及曲线导数的变化,很有意思。
5. 结论
在多数时间和地区,太阳的高度角和方位角的变化,不是匀速的。变化的速度持续改变,需要用公式或图像才能定量描述。
疑似,有些地区,有些时间,高度角或方位角的变化是匀速的。