晴天的时候,天空是蓝的。到了傍晚,它变成了红的。这两个颜色,其实来自同一套机制。有个说法流传很广:说天空的蓝,是反射了海水。这个说法是错的。
先搞清一件事,太阳光不是单一颜色。它是所有可见光的混合。从波长短的紫光,到波长长的红光,全都在里面。它们唯一的区别,就是波长。
地球大气里充满了氮气和氧气的分子。这些分子,比可见光的波长小得多。光撞上这么小的颗粒,会发生瑞利散射。光被弹向四面八方。
关键在于,波长越短的光,散射得越厉害。蓝光大约 450 纳米。红光大约 650 纳米。散射强度和波长的四次方成反比。
把 650 除以 450,再取四次方。结果大约是 4.4。也就是说,同样穿过一层大气,蓝光被散射掉的比例,是红光的四倍多。正午,太阳在头顶。
阳光穿过的大气层最薄。蓝光被散射到各个方向。其中一部分,正好散射进你的眼睛。你抬头看到的,就是这些散射的蓝光。
天空本身没有颜色。是大气把蓝色洒给了你。到了傍晚,太阳落到地平线附近。阳光要斜着穿过厚得多的大气。
日落时穿过的大气质量,是正午的几十倍。路径一长,蓝光被散射掉的越来越多。最后几乎剩不下。能一路直穿到你眼睛的,只有红光和橙光。
它们的波长最长,最不容易被散射。所以夕阳是红的。还是同一套机制。走的距离不同,给出的颜色就完全不同。
这里有个问题:紫光散射得更厉害。那天空为什么不是紫的?有两个原因:第一,太阳辐射在紫光波段的能量本来就低。第二,人眼对紫光不敏感:视网膜上的视锥细胞,对紫光的响应很差。
所以紫光虽然散射得更多,我们感知到的,仍然是蓝色。再说那个流传很广的错误说法:天空的蓝是反射了海水。逻辑上就不成立。离海几千公里的内陆,天空照样是蓝的。
事实上因果关系是反过来的。海水本身是蓝的。而它的原因,和天空毫无关系。顺便说一句,这取决于大气的成分。
换个大气成分,天空就是另一个颜色。想看的话,评论区告诉我。