太阳高度角是什么?从影长看懂太阳的位置

你脚下的影子,其实是太阳位置的一把尺子。影子越长,太阳越低;影子缩成一个点,太阳就快到头了。把影子长度和物体高度一除,得到的是同一个量的正切——太阳高度角。这个角决定了光线的强弱、影子的走向,也决定了你所在的那一天到底有多长。

古人立一根杆子看影子,靠一根杆子就做出了历法。这件事听起来不可思议,但原理只有一条:太阳越高,影子越短,而且这个比例是严格的三角函数关系。 今天我们有天文算法和手机 App,但"立杆测影"仍然是理解太阳最直观的方式——它把一个天球上的角度,翻译成了地上可以拿尺子量出的长度。

🧭 一、高度角、方位角、天顶角三个坐标的含义

要描述太阳在天空中的位置,最少需要两个角。天文学上最常用的一套是高度角(Altitude)和方位角(Azimuth),它们把当地的地平线当作基准面。

📐 三个角,各管一件事

  • 高度角(h):太阳光线与地平面之间的夹角。太阳在地平线上是 0°,正当头顶是 90°。它决定光线有多"陡"、影子有多长、光穿过大气有多厚。
  • 方位角(A):从正北方向开始,顺时针量到太阳所在方向的角度。正东是 90°,正南是 180°,正西是 270°。它决定影子朝哪个方向偏。
  • 天顶角(z):太阳方向与头顶铅垂线之间的夹角。它和高度角互为余角:z + h = 90°。算日出日落和大气质量时,用天顶角往往比用高度角更方便。

还有三个和高度角直接相关、但含义不同的角度,很容易搞混:

太阳赤纬(δ)描述的是太阳在南北方向上的位置,等于太阳直射点的纬度。夏至时约为 +23.44°,冬至约为 -23.44°,春分秋分是 0°。观测者纬度(φ)是当地的地理纬度。时角(H)是从当地正午算起、太阳转过了多少度,每小时 15°。

这三个量和高度角之间有一条基本关系,下一节会用到:

sin(h) = sin(φ)·sin(δ) + cos(φ)·cos(δ)·cos(H)

看起来复杂,但它其实只是球面三角里的一行公式。真正好用的是它在正午的特例——那时候时角 H 等于 0,公式会塌缩成一行非常简洁的加减法。

📏 二、高度角与影子长度的三角函数关系

这是整篇文章最实用的一节。假设地面上立一根垂直于地面的杆子,高度为 H,影长为 L,太阳高度角为 h,那么:

tan(h) = H ÷ L  即  L = H ÷ tan(h)

这个式子说明了一件很直观的事:影长和物体高度成正比,与高度角的正切成反比。杆子越高,影子越长;太阳越低,影子也越长,而且是非线性的——高度角越小,影长的增长越剧烈。

45°

影长等于物体高度

高度角 45° 时 tan(45°) = 1,影子长度刚好等于杆子高度。这是一个很好记的基准点——只要看到影子比物体本身长,太阳就低于 45°。

30°

影长是高度的 1.73 倍

tan(30°) ≈ 0.577,影长约为物体高度的 1.73 倍。一根 2 米的杆子会投出接近 3.5 米的影子。

15°

影长是高度的 3.73 倍

tan(15°) ≈ 0.268,影长拉到了高度的 3.73 倍。这是黄昏时分的典型情况,光线极弱,影子拖得极长。

60°

影长只有高度的 0.58 倍

tan(60°) ≈ 1.732,影子明显短于物体。太阳高悬,光线接近垂直,几乎不留过渡阴影。

反过来用也成立:量出影子长度和物体高度,就能算出太阳高度角:

h = arctan(H ÷ L)

这根杆子的思路,就是日晷的工作原理。一根晷针投下影子,影子的方向和长度随太阳移动而变化,人只需要读影子的位置就知道大概几点。想直观看看这种影子随太阳转动的过程,可以用 在线日晷模拟器 拖动时间轴,影子会跟着太阳一起走。

🧮 三、正午太阳高度角的计算公式与推导

一天当中太阳最高的时刻是正午,此时时角 H = 0。把 H = 0 代入上一节的公式:

cos(H) = cos(0) = 1

于是 sin(h) = sin(φ)·sin(δ) + cos(φ)·cos(δ)。右边正是两角差的余弦公式展开式,可以收成:

sin(h) = cos(φ - δ)

而 cos(φ - δ) 等于 sin(90° - |φ - δ|),所以:

h₀ = 90° - |φ - δ|

这就是正午太阳高度角的标准公式。它是整篇文章最值得记住的一行。含义非常直白:正午太阳高度角等于 90° 减去观测点纬度与太阳赤纬之差的绝对值。

下面用两个例子验证一下。北京纬度约 39.9°N,夏至日太阳赤纬 +23.44°,代入得 h₀ = 90° - |39.9° - 23.44°| = 90° - 16.46° ≈ 73.5°。冬至日赤纬 -23.44°,h₀ = 90° - |39.9° + 23.44°| = 90° - 63.34° ≈ 26.7°。夏冬两季差出将近 47°,这正是影子长短差别如此悬殊的原因。

如果算出来 h₀ 是负数,说明正午太阳也在地平线以下——那是极夜。如果 h₀ 超过 90°,说明太阳越过了天顶,正午实际高度是 180° 减去这个值。这两种情况分别出现在高纬度地区的冬季和热带地区。

⚠️ 两个使用前提

  • 用的是“真太阳时”的正午:也就是太阳正好在当地子午线上的时刻,不是钟表上的 12:00。两者常有一小时甚至更长的偏差,取决于时区和夏令时。
  • 赤纬在一年里连续变化:从 -23.44° 到 +23.44° 再回来,一年走一圈。所以同一天的正午高度角,南北半球会差出很大一截。

🌍 四、不同纬度、不同季节的正午高度角差异

正午高度角公式里,纬度 φ 和赤纬 δ 是两个独立的变量。纬度决定你在哪儿,赤纬决定太阳在南北方向的哪个位置。两者相减,差值越小,太阳越高。

📊 几个典型纬度的正午高度角

  • 赤道(0°):春分和秋分时太阳正过头顶,h₀ = 90°;夏至和冬至时太阳偏向南北各 23.44°,h₀ 降到 66.6°。全年高度角都很高。
  • 北回归线(23.44°N):夏至日太阳正好在天顶,h₀ = 90°。这是太阳唯一一次能直射到这里的日子。冬季正午则降到 43° 左右。
  • 北京(约 39.9°N):夏至 73.5°,冬至 26.7°,差出将近 47°。四季分明,影子长度也随之大幅摆动。
  • 北极圈(约 66.56°N):夏至当天太阳整夜不落,午夜高度角刚好为 0°;冬至则整天不升,正午高度角为负值,进入极夜。

从这几个例子能看出一条规律:纬度越高,正午高度角的季节摆幅越大。赤道附近全年太阳都在头顶附近晃,高度角变来变去也就二十几度;而到了高纬度,夏至冬至可以差出四十多度甚至更多。

这也解释了为什么北欧的夏天那么亮、冬天那么暗——不是日照时间单方面变短,而是太阳即使在正午也只能爬到很低的位置,光线要穿过厚厚的大气,既弱又偏黄。反过来,赤道地区的正午阳光几乎垂直落下,穿过的大气最少,这也是热带阳光那么"硬"的原因。

顺带说,高度角还决定了太阳什么时候升起、什么时候落下。太阳升到 0° 时的高度角就是日出日落的临界点,公式 sin(h) = 0 结合时角可以解出白昼长度。想查某个地点具体的日出日落时刻,用 日出时间查询 和 日落时间查询 直接按坐标就能得到,不需要自己解方程。

🔄 五、用高度角反推时间与季节

前面的内容都是从时间和地点推高度角,现在反过来:如果知道高度角,能不能推出现在几点、是什么季节?答案是能,但要满足一定条件。

反推时间用的一般是高度角与时角的关系。知道当地的纬度 φ 和太阳赤纬 δ,测出某一时刻的太阳高度角 h,代入基本公式反解 cos(H),就得到了时角:

cos(H) = [sin(h) - sin(φ)·sin(δ)] ÷ [cos(φ)·cos(δ)]

时角每 15° 对应一小时,正午时角为 0,上午为负、下午为正。有了时角再加上当地经度的修正,就能换算出钟表时间。这个方法的精度相当高,古代航海定位用的就是它的近亲——六分仪测高度角,再结合已知纬度定经度。

反推季节的思路稍有不同。如果在同一个地点、同一时刻(比如每天正午)连续测高度角,会得到一条平滑起伏的曲线:夏至附近最高,冬至附近最低。曲线的相位告诉你现在是四季中的哪一段,曲线的峰值和谷值之差则可以用来校验纬度。

🧭 一根杆子能干的三件事

  • 定正午:影子最短的那一刻就是当地正午,据此可以校准日晷。
  • 定纬度:在春分或秋分那天,太阳赤纬为 0,正午高度角 h₀ 与纬度满足 h₀ = 90° - φ,量出高度角直接反算出纬度。
  • 定节气:连续记录正午影长,影长最短的那天是夏至,最长的是冬至,长度居中的两次是春分和秋分。这就是"立杆测影"最古老也最本质的用法。

实际使用时有几点要注意。第一,必须知道自己所在位置的准确经纬度,纬度的误差会直接传导到高度角上。第二,真太阳时和钟表时间不是一回事,前者以太阳过子午线为正午,后者还要叠加时区、经度差和夏令时修正。第三,大气折射会让太阳看起来比实际位置略高,在地平线附近可以差出半度左右,精确计算时需要考虑。

🌞 六、把太阳的位置变成一个可以量的数

高度角、方位角、天顶角,这三个角把太阳在天空中的位置完整地描述了出来。而其中高度角最实用,因为它和影子长度之间只隔着一个正切函数——你不需要任何仪器,只要一根杆子和一把卷尺,就能量出太阳的高度。

下次看到地上拉得长长的影子,可以试着在心里估一下:这根杆子如果高 1.5 米,影子看起来有 2.5 米,那高度角就是 arctan(1.5 ÷ 2.5) ≈ 31°,太阳已经不低了,但还远没有到正午。

☀️ 查你所在位置的太阳数据:用日出时间查询 和日落时间查询 可以看到当天的日出、日落时刻以及太阳最高点时间;想直观观察太阳高度角随时间变化、影子如何转动,打开在线日晷模拟器,拖动时间就能看到晷针影子的实时位置。