2. 光的传播定律:直线传播、反射、折射与全反射

光线追迹这玩意儿,说白了就是模拟光怎么走。而光怎么走,几千年前人们就总结出了几条铁律。我个人习惯把这几条定律叫做“光学的三根柱子”——直线传播、反射、折射。搞不懂它们,后面所有的仿真都是空中楼阁。

咱们一条一条掰开聊。

2.1 光的直线传播

光在均匀介质里走直线。这个听起来像废话,但它是整个几何光学的基础。你想想看,如果光会自己拐弯,那透镜设计就没法做了。

核心条件:介质必须均匀。一旦介质密度变化,光就会偏折——这就是后面要讲的折射。

工程应用场景:

  • 针孔成像:小孔直径越小,像越清晰(但亮度也越低)
  • 日食/月食:影子就是直线传播的直接证据
  • 激光准直:激光笔打出去,几百米外还是一个点

我的经验:我在做投影光机设计时,曾经忽略过空气温度梯度导致的“伪直线传播”。夏天设备内部温度高,空气密度不均匀,光线其实在微弯着走。结果成像位置偏了0.3个像素。嗯,从那以后我所有高精度系统都会算一下空气折射率梯度。

2.2 反射定律

光打到镜面上,怎么弹回来?两条规则:

  1. 入射角等于反射角(θi = θr)
  2. 入射光线、反射光线、法线在同一平面内

就这么简单。但实际工程里,镜面不可能是完美的。我记得有一次做激光雷达的反射镜,供应商说表面粗糙度0.1μm,结果实测散射光多了5%。为什么?因为反射定律只适用于“光滑表面”——粗糙表面会变成漫反射。

反射类型 表面条件 典型场景
镜面反射 粗糙度 < λ/10 光学镜片、抛光金属
漫反射 粗糙度 >> λ 白墙、纸张、布料
混合反射 介于两者之间 磨砂金属、塑料表面

避坑指南:我曾经在仿真里把反射面全设为理想镜面,结果系统能量分布完全不对。后来才意识到,真实世界几乎没有完美镜面。建议在光线追迹软件里,至少给反射面加一个0.5°~1°的散射锥角,仿真结果才贴近实测。

2.3 折射定律(斯涅尔定律)

光从一种介质进入另一种介质,速度变了,方向也变了。这就是折射。公式长这样:

n₁ · sin(θ₁) = n₂ · sin(θ₂)

其中 n 是折射率,θ 是光线与法线的夹角。

为什么会这样?费马原理说:光总是走时间最短的路径。从空气到水里,光在空气中跑得快,在水里跑得慢,为了“省时间”,它会在空气里多走一段,在水里少走一段——于是拐弯了。

折射率是个关键参数:

  • 真空:n = 1.0(基准)
  • 空气:n ≈ 1.0003(通常近似为1)
  • 水:n ≈ 1.33
  • 普通玻璃:n ≈ 1.5
  • 高折射率玻璃:n ≈ 1.7~2.0

工程要点:折射率不是常数,它随波长变化——这就是色散。蓝光比红光偏折得更厉害。做镜头设计时,如果不考虑色散,拍出来的照片边缘会有彩色条纹(色差)。

2.4 全反射与临界角

光从光密介质(n大)射向光疏介质(n小)时,如果入射角大于某个值,光就不会跑出去,全部被反射回来。这个“某个值”就是临界角。

sin(θ_c) = n₂ / n₁

举个例子:光从玻璃(n=1.5)射向空气(n=1.0):

sin(θ_c) = 1.0 / 1.5 = 0.6667
θ_c = arcsin(0.6667) ≈ 41.8°

也就是说,只要入射角大于41.8°,光就全反射了。

我的经验:全反射是光纤通信的命根子。光纤芯的折射率比包层高一点,光在芯里不断全反射,就能传几公里不跑出来。我做光纤耦合器时,曾经把芯径算错0.5μm,结果耦合效率掉了15%。嗯,全反射的条件非常敏感,边界条件差一点都不行。

2.5 知识体系总览

下面这张图把本章的核心逻辑串起来了。你可以把它当作光线追迹的“交通规则”:

光的传播定律 · 知识结构 光的传播定律 直线传播 反射定律 折射定律 全反射与临界角 关键关系 • 直线传播是基础,反射和折射是边界行为 • 全反射是折射的特殊情况(光密→光疏,入射角 > 临界角) • 所有定律都可由费马原理统一推导

2.6 工程中的综合应用

实际光学系统里,这四条定律往往是同时起作用的。比如一个简单的棱镜:

  • 光从空气进入玻璃:折射
  • 光在玻璃内传播:直线传播
  • 光打到棱镜斜面:如果角度合适,发生全反射
  • 光从玻璃回到空气:再次折射

避坑指南:我曾经设计一个直角棱镜,想让它做全反射转折光路。结果仿真时发现有一部分能量漏出去了。查了半天,原来是入射角只比临界角大了0.2°,但棱镜加工公差导致实际角度偏了0.5°——全反射条件失效了。从那以后,我设计时都会留至少3°的余量。

好了,这四条定律是光线追迹的“交通规则”。后面所有章节——透镜、棱镜、光纤、成像系统——都建立在它们之上。搞懂了今天的内容,你就算正式入门了。