光的色散:与波长相关的折射
了解白光为何通过棱镜时会分离成不同颜色,以及与波长相关的折射率如何改变每一道光线的路径。
长方形玻璃窗和三角形玻璃棱镜可以由相同的材料制成。让白光穿过玻璃窗,你通常仍会看到白光;让白光穿过棱镜,却可以看到展开的一系列颜色。
那么,棱镜究竟做了甚么,是玻璃窗没有做的呢?
继续阅读之前,先作一个预测。如果每种颜色的光都穿过同一块玻璃,它们是否应该以相同角度折射?
并不是。玻璃对不同波长的折射率会有轻微差异。这种折射上的小差异就是色散,而棱镜的几何形状会把这种差异转化为明显的颜色分离。
01颜色实际上是如何分开的?
先从一般的折射说起。
想像一辆购物手推车斜著从光滑的混凝土地面驶上厚地毯。其中一个轮子会先接触地毯并先减速,因此手推车会转向。光在以一定角度跨越介面、速度发生改变时,在几何上也会出现类似的情况。
这个比喻有其限制。玻璃不是靠摩擦使光减速,而光波也没有轮子。真正有用的部分只是:波在介面上速度改变时,传播方向也可能改变。
现在再加入一个事实。不同波长的光在玻璃中的传播速度并不完全相同。
对可见光范围内的常见玻璃而言:
- 紫光的波长较短,折射率通常略大
- 红光的波长较长,折射率通常略小
- 折射率越大,代表光在该材料中的速度越低
- 当光以相同角度从空气进入玻璃时,折射率较大的颜色会更向法线偏折
因此,白光在玻璃中并不像单一光线那样传播。它的不同波长成分会沿著略有不同的路径前进。

关键预测
假设红光和紫光以相同角度射到玻璃表面。玻璃对紫光的折射率比对红光的折射率大。
哪一条光线在玻璃内会更接近法线?
紫光。
它的速度降低得更多,也就是说它在材料中的波速较低,因此根据斯涅尔定律,它的折射角较小。这表示它更大幅度地向法线偏折。
这就是色散的基本机制。
02从图像到方程式
材料的折射率 \(n\) 与光在该材料中的速度有以下关系:
\[ n = \frac{c}{v} \]
其中:
- \(n\) 是折射率,没有单位
- \(c\) 是真空中的光速,约为 \(3.00 \times 10^8\ \text{m s}^{-1}\)
- \(v\) 是光在材料中的速度,单位为 \(\text{m s}^{-1}\)
如果两种颜色的光在同一块玻璃中具有不同的折射率,那么它们在该玻璃中的速度也会不同。
折射可以用斯涅尔定律描述:
\[ n_1\sin\theta_1 = n_2\sin\theta_2 \]
这里,\(n_1\) 和 \(n_2\) 是介面两侧的折射率,而 \(\theta_1\) 和 \(\theta_2\) 都是从法线量起,而不是从表面量起。
讨论色散时,把折射率对波长的依赖明确写出来很有用:
\[ n_1\sin\theta_1 = n_2(\lambda)\sin\theta_2 \]
符号 \(n_2(\lambda)\) 表示折射率取决于波长。
在入射角相同的情况下,\(n_2\) 越大,\(\theta_2\) 越小。因此,光线会更向法线偏折。
计算例题:红光和紫光的折射方向相差多少?
在空气中传播的白光以相对法线 \(50.0^\circ\) 的角度射到玻璃表面。玻璃对红光的折射率为 \(1.510\),对紫光的折射率为 \(1.530\)。计算每种颜色的折射角,以及它们在玻璃内的角度差。取空气的折射率为 \(1.000\)。
步骤 1
对红光:
\[ n_{\text{air}}\sin\theta_i = n_{\text{red}}\sin\theta_{\text{red}} \]
因此
\[ \sin\theta_{\text{red}} = \frac{1.000\sin50.0^\circ}{1.510} \]
步骤 2
\[ \theta_{\text{red}} = \sin^{-1}\left(\frac{\sin50.0^\circ}{1.510}\right) = 30.5^\circ \]
步骤 3
\[ \sin\theta_{\text{violet}} = \frac{1.000\sin50.0^\circ}{1.530} \]
\[ \theta_{\text{violet}} = \sin^{-1}\left(\frac{\sin50.0^\circ}{1.530}\right) = 30.0^\circ \]
步骤 4
\[ \Delta\theta = 30.5^\circ - 30.0^\circ = 0.5^\circ \]
更精确地说,两者相差约 \(0.44^\circ\)。
紫光更接近法线,因此它的折射更强。这个角度差看起来很小,但当光线传播一段距离后,这个细微的角度差就可能造成可见的分离。
03频率和波长会发生甚么变化?
这里很容易出现一个常见误解。
学生可能会这样推理:
「如果光在玻璃中的波长改变了,那么它的颜色一定也改变了。」
这听起来似乎合理,因为我们常用波长来辨认颜色。但当光从空气进入玻璃时,它的频率保持不变。
波动方程式为
\[ v = f\lambda \]
其中 \(v\) 是波速,\(f\) 是频率,而 \(\lambda\) 是波长。
在介面上,频率由光源决定。如果速度降低,波长也必须随之缩短。
利用 \(v=c/n\):
\[ \lambda_{\text{material}} = \frac{\lambda_0}{n} \]
其中 \(\lambda_0\) 是真空中的波长。
所以,蓝光在玻璃内的波长可能比在空气中短,但它的频率并没有突然变成另一种可见光颜色的频率。当它再次回到空气时,它的速度和波长也会恢复到在空气中的数值。
一个实用的规则是:
| 物理量 | 从空气进入玻璃时 |
|---|---|
| 频率 \(f\) | 不变 |
| 速度 \(v\) | 减小 |
| 波长 \(\lambda\) | 减小 |
| 方向 | 如果不是垂直入射,通常会改变 |
| 折射率 \(n\) | 会随波长略有不同 |
04为甚么折射率会取决于波长?
说「不同颜色的光以不同速度传播」描述了会发生甚么,但还没有解释原因。
光是一种电磁波。它的电场会与材料中的带电粒子相互作用,尤其是受束缚的电子。这些电荷会对振荡电场作出反应,而它们的反应会影响整体电磁波在材料中的传播方式。
这种反应取决于频率。由于不同颜色具有不同频率,因此产生的波速也可能不同。
这便造成了与频率有关,或等效地说与波长有关的折射率。
对许多透明材料而言,在可见光谱范围内,较短的波长具有较大的折射率。这种行为称为正常色散。这就是为甚么在普通玻璃棱镜中,紫光通常比红光折射得更强。
不要把这解释成光子被每一个原子反复吸收、停住,再重新发射。这种图像可能会令人产生关于随机延迟和方向改变的错误理解。折射更适合被理解为电磁波与整个材料相互作用时所呈现的行为。
05为甚么棱镜会产生光谱,而玻璃窗通常不会?
现在可以回到开头的问题。
长方形玻璃板有两个互相平行的表面。棱镜则没有。
这个几何差异非常重要。
穿过平行面的玻璃板
假设白光斜著射入一块玻璃板。
在第一个表面,紫光比红光更向法线偏折。不同颜色的光在玻璃内开始分开。
在第二个表面,每种颜色都从玻璃再次进入空气。它们会偏离法线折射。
因为两个表面互相平行,根据斯涅尔定律,每种颜色射出后的方向都会与原来入射时的方向平行。
对某一特定波长:
\[ n_{\text{air}}\sin i = n_{\text{glass}}\sin r \]
而在第二个表面:
\[ n_{\text{glass}}\sin r = n_{\text{air}}\sin e \]
因此,
\[ \sin i = \sin e \]
而在这里涉及的一般角度范围内,
\[ e=i \]
所以,理想的平行面玻璃板不会使射出的不同颜色形成以不同角度展开的扇形光谱。不同波长可能有略微不同的横向位移,但它们射出的方向都与原来的入射光束平行。
穿过棱镜
棱镜的第二个表面相对于第一个表面是倾斜的。
因此,在第二个表面的偏折并不会简单地抵消第一个表面的角度变化。相反,与波长有关的差异会累积,形成不同的总偏向角。
对普通玻璃而言,紫光的偏向比红光更大。
这就是为甚么玻璃的形状,与它的折射率会随波长改变这个事实同样重要。
计算例题:求红光与紫光穿过棱镜后的角度差
一个棱镜的顶角为 \(60.0^\circ\)。白光从空气入射,在第一个表面相对法线的入射角为 \(50.0^\circ\)。红光的折射率为 \(1.510\),紫光的折射率为 \(1.530\)。计算每种颜色的总偏向角,并求出它们离开棱镜后的角度差。
对一个棱镜而言,如果内部相对法线的角分别为 \(r_1\) 和 \(r_2\),则
\[ r_1+r_2=A \]
其中 \(A\) 是棱镜的顶角。
总偏向角为
\[ \delta=i+e-A \]
其中 \(i\) 是第一个表面的入射角,而 \(e\) 是最后的出射角。
步骤 1
利用斯涅尔定律:
\[ 1.000\sin50.0^\circ = 1.510\sin r_{1,\text{red}} \]
\[ r_{1,\text{red}} = \sin^{-1}\left(\frac{\sin50.0^\circ}{1.510}\right) = 30.49^\circ \]
步骤 2
\[ r_{2,\text{red}} =60.0^\circ-30.49^\circ =29.51^\circ \]
步骤 3
在玻璃-空气介面:
\[ 1.510\sin29.51^\circ =1.000\sin e_{\text{red}} \]
因此
\[ e_{\text{red}} =\sin^{-1}(1.510\sin29.51^\circ) =48.06^\circ \]
所以,红光的总偏向角为
\[ \delta_{\text{red}} =50.0^\circ+48.06^\circ-60.0^\circ =38.06^\circ \]
步骤 4
在第一个表面:
\[ r_{1,\text{violet}} =\sin^{-1}\left(\frac{\sin50.0^\circ}{1.530}\right) =30.05^\circ \]
在第二个表面:
\[ r_{2,\text{violet}} =60.0^\circ-30.05^\circ =29.95^\circ \]
出射时:
\[ e_{\text{violet}} =\sin^{-1}(1.530\sin29.95^\circ) =49.81^\circ \]
因此,
\[ \delta_{\text{violet}} =50.0^\circ+49.81^\circ-60.0^\circ =39.81^\circ \]
步骤 5
\[ \Delta\delta =39.81^\circ-38.06^\circ =1.75^\circ \]
紫光离开棱镜时的偏向角比红光约大 \(1.75^\circ\)。
留意棱镜所造成的效果。在前面的例子中,第一个表面产生的红光与紫光角度差不到半度。经过两个不平行表面的折射后,它们整体方向的差异就明显得多。
06色散中最容易犯的错误
几个简短的判断规则可以避免大多数错误。
| 容易产生的想法 | 更好的规则 |
|---|---|
| 「紫光折射得更多,因为紫光一向就是比较特别。」 | 比较折射率。对普通玻璃而言,\(n_{\text{violet}}>n_{\text{red}}\),所以紫光折射得更多。 |
| 「折射角越大,代表偏折越多。」 | 角度是从法线量起。进入较高 \(n\) 的材料时,更向法线偏折代表折射角更小。 |
| 「因为波长在玻璃中改变,所以颜色也改变了。」 | 频率在介面上保持不变。速度和波长会改变。 |
| 「任何一块玻璃都应该能产生彩虹。」 | 必须有与波长有关的折射,但几何形状也必须使不同颜色最后沿不同方向传播。 |
| 「如果光垂直入射,色散就不存在了。」 | 垂直入射时该表面不会造成角度偏折,但材料对不同波长仍然可以具有不同折射率和不同传播速度。 |
| 「在任何材料中,红光的折射一定都比较弱。」 | 应使用实际给出的 \(n(\lambda)\) 关系。熟悉的排列方式只是正常色散的典型情况,不能凌驾于实际数据之上。 |
一个尤其重要的习惯,是把两个问题分开考虑:
- 材料的折射率是否随波长而改变?
- 几何形状是否会把这种差异转化为角度上的分离?
对棱镜而言,两个答案都是「是」。对平行面玻璃板而言,第一个答案是「是」,但理想情况下,若看最后射出的方向,第二个答案是「否」。
07问题与解答
问题 1
红光和紫光以相同且非零的入射角,从空气进入一块普通玻璃。玻璃的 \(n_{\text{red}}=1.50\),而 \(n_{\text{violet}}=1.53\)。
哪一种颜色的光在玻璃内更接近法线?请在不作完整计算的情况下解释。
解答 1
紫光在玻璃内更接近法线。
斯涅尔定律为
\[ n_1\sin\theta_1=n_2\sin\theta_2 \]
两种颜色具有相同的入射角,而且都是从同一种介质出发。紫光在玻璃中的折射率较大,为 \(1.53\),因此它的 \(\sin\theta_2\) 必须较小。
所以它的折射角较小,也就是紫光更接近法线。
常见的陷阱是认为偏折得越多,角度就一定越大。这里的角度是从法线量起,因此越强烈地向法线偏折,反而会产生更小的角度。
问题 2
蓝光的真空波长为 \(470\ \text{nm}\),并进入折射率为 \(1.60\) 的玻璃。
计算:
a. 它在玻璃中的速度
b. 它在玻璃中的波长
c. 它的频率是增加、减少,还是保持不变
使用 \(c=3.00\times10^8\ \text{m s}^{-1}\)。
解答 2
光的速度为 \(1.88\times10^8\ \text{m s}^{-1}\),波长变为约 \(294\ \text{nm}\),而频率保持不变。
先计算速度:
\[ n=\frac{c}{v} \]
因此
\[ v=\frac{c}{n} =\frac{3.00\times10^8}{1.60} =1.875\times10^8\ \text{m s}^{-1} \]
所以,
\[ v\approx1.88\times10^8\ \text{m s}^{-1} \]
再计算波长:
\[ \lambda_{\text{glass}} =\frac{\lambda_0}{n} =\frac{470\ \text{nm}}{1.60} =293.75\ \text{nm} \]
因此
\[ \lambda_{\text{glass}}\approx294\ \text{nm} \]
频率保持不变,因为频率由光源决定,而振荡在介面两侧必须保持连续。
这个结果不代表蓝光只是因为在玻璃中的波长变成 \(294\ \text{nm}\),就转变成了另一种新颜色。它的速度和波长一起改变,但频率保持固定。
问题 3
一束狭窄的白光以斜角射入一块平行面玻璃板,之后再射回空气。
一名学生预测,射出的光必定会形成扇形光谱,因为红光和紫光在玻璃内的折射角不同。
对理想的平行面玻璃板而言,这个预测正确吗?请解释。
解答 3
不正确。在理想的平行面玻璃板中,每个波长的光射出后都与原来的入射方向平行,因此玻璃板不会像棱镜那样产生角度展开的光谱。
在第一个表面,不同的折射率确实会使红光和紫光在玻璃内以略有不同的角度传播。
然而,第二个表面与第一个表面平行。对每个波长而言,在进入玻璃时,
\[ n_{\text{air}}\sin i=n_{\text{glass}}\sin r \]
而在离开玻璃时,
\[ n_{\text{glass}}\sin r=n_{\text{air}}\sin e \]
把两个方程式结合可得
\[ \sin i=\sin e \]
因此对相关的光线几何关系而言,\(e=i\)。
不同颜色可能有不同的横向位移,但它们最后的传播方向是平行的。
这名学生的推理正确注意到第一个介面上的色散,却忽略了第二个平行介面的作用。
问题 4
白光沿著三角形玻璃棱镜第一个表面的法线方向准确入射。
一名学生说:「第一个表面没有发生折射,所以棱镜不可能把不同颜色分开。」
评价这个说法。
解答 4
这个说法不正确。第一个表面不会造成角度分离,但第二个表面仍然可以使光发生色散。
在垂直入射时,
\[ \theta_i=0^\circ \]
因此,斯涅尔定律给出
\[ n_1\sin0^\circ=n_2\sin\theta_r \]
所以
\[ \theta_r=0^\circ \]
对所有波长都成立。没有任何颜色在第一个介面改变方向。
然而,棱镜的两个表面并不平行。光沿直线进入棱镜后,会以非零入射角到达第二个表面。
在那个介面上,折射率会随波长而变,所以红光和紫光可以以不同角度离开。
隐藏的错误在于,学生假设只要其中一个介面没有产生角度色散,整个棱镜就不能产生色散。第二个表面的方向会改变整个情况。
问题 5
某种透明材料量得以下折射率:
\[ n_{450\text{ nm}}=1.48 \]
以及
\[ n_{650\text{ nm}}=1.52 \]
一束包含这两种波长的光从空气斜著射入该材料。
一名学生说,\(450\ \text{nm}\) 的光一定会偏折得更多,因为波长较短的光总是折射得更强。
实际上哪个波长会更向法线偏折?请解释这名学生的规则错在哪里。
解答 5
\(650\ \text{nm}\) 的光更向法线偏折,因为它在该材料中的折射率较大。
对相同的入射角,斯涅尔定律给出
\[ \sin\theta_2=\frac{n_1\sin\theta_1}{n_2} \]
\(650\ \text{nm}\) 成分的 \(n=1.52\),而 \(450\ \text{nm}\) 成分的 \(n=1.48\)。
较大的分母使 \(650\ \text{nm}\) 光具有较小的折射角,因此它更向法线偏折。
这名学生的错误,是把一个常见的规律当成绝对定律。在普通玻璃的可见光范围内,较短的波长通常具有较大的折射率。但如果测量数据显示不同的波长依赖关系,斯涅尔定律会依照实际折射率,而不是依照背诵下来的红光-紫光排列。
这就是色散背后更深一层的概念:颜色分离来自 \(n(\lambda)\) 的差异,而不是来自颜色名称本身。
08色散可以帮助你进一步理解甚么?
当你能把与波长有关的折射率和不同光线路径连系起来后,其他几种光学现象也会更容易理解。
镜片可以把不同波长的光聚焦在略有不同的位置,因为它的折射具有色散性。这会产生色差。分光镜会刻意利用色散把不同波长分开,使光谱可以被分析。彩虹也涉及色散,不过其中的折射还会与水滴内部的反射结合。
值得记住的因果链是:
\[ \text{波长} \rightarrow \text{折射率} \rightarrow \text{波速} \rightarrow \text{折射角} \rightarrow \text{颜色分离} \]
如果你能解释这条因果链中的每一个箭头,就表示你真正理解了色散的物理原理,而不只是记住「紫光偏折得更多」。