mybreathtaking

文章 › 身边的物理

天空为什么是蓝的,夕阳为什么是红的?

· Read in English

上一篇《阳光是什么颜色?》里,有这样一段话:「太阳越接近地平线,光要穿过的空气越厚,被弹走的蓝光越多,太阳就越黄、越红。那些被弹走的蓝光,散布在整片天空里。」

那一篇讲的是太阳本身。这一篇,就沿着这段话往下走:空气为什么偏偏把蓝光弹走?被弹走的光,又是怎样变成一整片蓝天的?

先猜一猜

常见的说法有几种。有人说,天空是大海映出来的颜色;也有人说,空气本身就是蓝色的,就像蓝色的玻璃。

其实,第一种说法正好反了:海面看起来蓝,有一部分正是映着天空。第二种也不对:空气几乎是透明的,它并不「吃掉」哪种颜色的光。天空的蓝,来自另一件事:空气会把光弹开,而且对不同颜色的光,弹开的本领很不一样。

空气最爱弹开蓝光

光是一种波。空气分子非常小,比可见光的波长还要小一千多倍。光遇到这么小的东西,有一部分会被弹向四面八方,这叫散射。英国物理学家瑞利在 1871 年算出:波长越短,被弹开得越厉害,强弱和波长的四次方成反比。

空气把各种颜色的光弹开的强弱,以 700 纳米的红光为 1。

和 700 纳米的红光相比,450 纳米的蓝光被弹开的强度大约是它的 6 倍,400 纳米的紫光更是接近 10 倍。

一束阳光穿过空气

把阳光想象成一个个小小的光子,看看它们穿过空气时发生了什么。下面的模拟里,每种颜色各放出 40 个光子,用的是空气对这三种颜色真实的散射强度:

120 个光子穿过空气(模拟)。上:正午,太阳高 60 度。下:夕阳,太阳高 5 度。浅蓝色的长条是光要穿过的空气,长短按真实比例;淡淡的小点,是光子被弹开的地方。右边是最后到达眼睛的光子数,以及看到的太阳和被弹走的光的颜色。

把太阳在头顶时光要穿过的空气算作 1 份。正午太阳高 60 度,阳光斜着穿过大气,要走 1.2 份。蓝光大约有四分之一被弹走,红光只被弹走 6% 左右。直射过来的阳光少了一点蓝,太阳就是白里透一点点暖色;被弹走的那部分光以蓝色为主,从四面八方照向我们,这就是蓝天。

天空为什么不是紫色的

既然紫光比蓝光更容易被弹开,天空为什么不是紫色的?用前面几篇的方法,直接算一算头顶天空的光和眼睛收到的三个数:

上:太阳高 30 度时,头顶天空散射下来的光。下:一束纯紫光。右边是三种视锥的信号,以及看到的颜色(色块只表示色调;屏幕也显示不出真正的单色紫光,下面的紫色只是近似)。

有两点值得注意。

第一,阳光里本来就是紫光少、蓝光多(见上一篇的阳光光谱)。紫光虽然更容易被弹开,可「本钱」少,两者一抵消,天空散射下来的光里,紫光和蓝光差不多一样多,紫光并没有占上风。而且,眼睛对紫光很不敏感:负责看蓝的 S 视锥,对 410 纳米紫光的敏感度,只有对 450 纳米蓝光的四分之一左右。算下来,S 视锥的信号大约八成来自蓝光,只有两成来自紫光。

第二,天空的光并不只有蓝光。它的光谱很宽,绿光、黄光、红光也都被弹开了一些,只是比蓝光少。三种视锥的信号是 0.69 : 0.74 : 1,S 视锥最兴奋,另外两种也不弱,所以天空是一种偏白的淡蓝,而不是纯净的深蓝或紫色。真正的紫光,只会让 S 视锥兴奋,另外两种几乎没有反应,那是完全不同的颜色。

天空的蓝也不是处处一样。空气越干净、看的地方离太阳越远,蓝就越深;雾霾越多,天空就越白。

夕阳为什么是红的

太阳越低,光要穿过的空气就越厚:太阳在头顶时算 1 份,30 度时是 2 份,10 度时约 5.6 份,5 度时约 10 份,贴着地平线时将近 38 份。

在 5 度的时候,蓝光只剩大约十分之一能直射过来,红光还剩六成,太阳就变成了黄橙色;再低一些,蓝光几乎被弹光,太阳就红了。

太阳从头顶慢慢落到地平线,直射阳光的颜色怎样变化(考虑了空气分子和少量雾霾)。

如果空气质量很糟糕,飘着更多的小颗粒,比如烟和霾,蓝光会被挡掉得更多。有些地方发生山火的时候,烟雾很重,太阳在白天就可能是橙红色的,也是这个道理。

同样的道理,还能解释一个常见的现象:越靠近地平线,天空越发白。贴着地平线看出去,视线要穿过很厚的空气,各种颜色的光都被弹进视线里,蓝光同时又被沿途弹走,混在一起就接近白色了。

一句话:天空的蓝,是被空气弹开的阳光;夕阳的红,是蓝光被一路弹走以后剩下的阳光。

我们怎么知道

  • 在家做一个小天空:一杯清水里滴几滴牛奶,搅匀,关灯后用手电筒从杯子侧面照进去。从旁边看,杯子里微微发蓝;从对面透过杯子看手电筒,光变成了橙黄色。牛奶里的小颗粒比空气分子大,效果没有天空那么纯,但道理是一样的。
  • 戴偏光太阳镜看天空:在和太阳大约成直角的方向看天空,转动偏光镜,天空会明显地一亮一暗。阳光本来不是偏振的;被空气弹开以后,光就带上了「偏振」,在和太阳成直角的方向上最明显,这正是散射理论预言的。
  • 从实验到理论:1869 年,丁达尔在实验室里让光穿过含有细小颗粒的气体,看到了侧面的蓝光;两年后,瑞利给出了散射的理论。后来,爱因斯坦等人又从空气分子不停运动、疏密起伏的角度,把这个解释补充完整。
  • 火星上的日落:美国的好奇号火星车拍到过火星上的日落,太阳周围是蓝色的。火星空气稀薄,飘着大量尘埃,尘埃颗粒和光的波长差不多大,散射的规律就和地球上不同了。

还不知道什么

天空为什么是蓝的,物理上已经很清楚了。可是空气里那些细小的颗粒,也就是让夕阳更红的烟、尘、霾,对地球气候到底有多大影响,至今仍然是气候研究里不确定性最大的问题之一。它们一边把阳光挡回太空,让地面变凉;一边又改变云的形成,作用错综复杂。

到这里,从一片秋叶开始的这几篇,把颜色从哪里来走了一遍:叶子吸收一部分光,眼睛把光谱数成三个数,太阳的温度决定了阳光的颜色,空气把阳光弹向四面八方。下次抬头看天,看到的那一片蓝,就是被弹开的阳光。

进阶:公式、模拟和这个模型没有算进去的东西

为什么是波长的四次方。光的电场让空气分子里的电荷跟着振动,振动的电荷又向四面八方发出光。一个振动的小「天线」发出的功率,和振动频率的四次方成正比;频率和波长成反比,所以散射强度和波长的四次方成反比。这只对比波长小得多的颗粒成立,比如空气分子;烟、尘、水滴这些大颗粒,规律就不同了。

空气的散射有多强。整层大气在竖直方向上的瑞利光学厚度,用 Hansen 和 Travis(1974)的公式计算:在 550 纳米约为 0.097,450 纳米约为 0.22。斜着穿过大气时,要乘以「大气质量」,太阳越低这个数越大,用 Kasten 和 Young(1989)的公式计算,地平线附近也适用。光直射穿过大气后剩下的比例,是 e 的「负光学厚度乘以大气质量」次方。

光子动画。每个光子在哪里被弹开,按指数分布随机抽取,平均的「自由程」由这种颜色的光学厚度和大气质量决定。动画里只算了空气分子,没有雾霾;蓝、绿、红三种颜色分别取 450、550、650 纳米;为了让到达眼睛的光子数和计算的比例一致,随机数做了分层抽样。被弹开后的方向只是示意。

天空的光谱(图三)。用「单次散射」近似计算:假设阳光在空气中只被弹一次就进入眼睛,大气看作平的一层,空气分子的散射按瑞利的角度分布,雾霾的光学厚度在 550 纳米取 0.1,随波长按埃格斯特朗定律变化。图中是太阳高 30 度时,头顶天空的光。色块只表示色调,亮度是选定的:真实的天空比阳光下的白纸暗得多。

没有算进去的东西。光被弹不止一次的情况(多次散射),以及臭氧对橙红光的吸收,都没有算进去。所以这个简单模型不适合计算黄昏时的天空:太阳落下以后,头顶的天空之所以还是很蓝,主要靠臭氧吸收掉一部分橙红光。图四里太阳的颜色只用到直射光,和多次散射无关;不过太阳贴近地平线时,臭氧和水汽的吸收也会让它的颜色有些不同,图四最右端只是近似。

偏振。阳光是非偏振光。按瑞利散射,在和太阳成 90 度的方向上,被弹开的光几乎是完全偏振的;实际的天空因为多次散射、雾霾和地面的反光,偏振度最高通常在六到八成。

数据。太阳光谱:ASTM G173-03 大气层外的光谱(美国国家可再生能源实验室)。视锥信号:Stockman & Sharpe(2000)。颜色的计算方法和前几篇相同。