1. 光的传播与折射定律:几何光学基本定律
各位好,欢迎来到《从公式到系统:近轴光学实战》。我是你们这门课的主讲。
做光学系统设计这些年,我越来越觉得,所有复杂镜头、精密光路,归根结底都建立在几条最基础的定律上。今天咱们就从几何光学的根儿聊起——光的传播与折射定律。
你想想看,光在均匀介质里怎么走?直线。遇到不同介质界面呢?一部分反射,一部分折射。就这么简单两句话,撑起了整个几何光学大厦。我当年刚入行时,总觉得这些基础太简单,结果在第一个项目里就吃了亏——一个棱镜分光系统的角度算错了,就是因为折射定律没吃透。嗯,从那以后,我再也不敢小看这些“基础”了。
1.1 几何光学的基本定律
几何光学有三大基本定律,说白了就是光传播的“交通规则”。
- 光的直线传播定律:在均匀介质中,光沿直线传播。这是所有光线追迹的基础。
- 光的独立传播定律:不同方向的光线相遇后,互不影响,各自继续传播。你想想看,要是没有这条,镜头里那么多光线早就乱套了。
- 反射定律与折射定律:光线在界面上发生方向改变,遵循反射和折射规则。
核心要点:这三条定律在近轴光学中全部成立。近轴近似只是简化了角度计算,并没有改变光的传播本质。
1.2 折射定律的向量形式
课本上常见的折射定律是斯涅尔形式:n₁ sinθ₁ = n₂ sinθ₂。但在实际工程中,尤其是做三维光路追迹时,我更习惯用向量形式。为什么呢?因为向量形式可以直接在计算机里跑,不用手动算角度。
折射定律的向量形式长这样:
n₁ (I × N) = n₂ (T × N)
其中:
- I:入射光线单位方向向量
- T:折射光线单位方向向量
- N:界面法线单位向量
- n₁、n₂:两种介质的折射率
这个公式的物理意义是:入射光线、折射光线和法线三者共面,且折射前后光线在切平面上的投影比例由折射率决定。
我个人习惯在实际代码中写成这样:
// 折射光线向量计算(C++风格伪代码)
Vector3 refract(Vector3 I, Vector3 N, double n1, double n2) {
double cosI = -dot(I, N);
double sin2I = 1.0 - cosI * cosI;
double k = n1 / n2;
double sin2T = k * k * sin2I;
if (sin2T > 1.0) {
// 全反射,返回零向量
return Vector3(0, 0, 0);
}
double cosT = sqrt(1.0 - sin2T);
return k * I + (k * cosI - cosT) * N;
}
实战技巧:我在做镜头设计时,经常用向量形式来验证光路是否正确。只要把入射向量和法线代入,算出来的折射向量方向不对,那一定是某个面的曲率或位置参数出了问题。
1.3 全反射现象与临界角
全反射是个很有意思的现象。光从光密介质射向光疏介质时,如果入射角大于某个值,折射光就消失了,所有能量都反射回来。
这个临界角由下式决定:
sinθc = n₂ / n₁
其中 n₁ > n₂。
举个例子:光从玻璃(n=1.5)射向空气(n=1.0),临界角大约是 41.8°。超过这个角度,光就“回不去了”。
| 介质组合 | n₁(光密) | n₂(光疏) | 临界角 θc |
|---|---|---|---|
| 玻璃→空气 | 1.5 | 1.0 | 41.8° |
| 水→空气 | 1.33 | 1.0 | 48.8° |
| 钻石→空气 | 2.42 | 1.0 | 24.4° |
避坑指南:我曾经在一个光纤耦合项目中,忽略了全反射条件,导致设计的光路在棱镜内部发生了全反射,能量根本出不来。后来检查才发现,入射角只比临界角大了不到2度。所以,做设计时一定要留出安全余量,别卡在临界角附近。
全反射在工程中应用很广:光纤通信、内窥镜、棱镜反射镜……说白了,就是利用这个现象把光“困”在介质里,让它沿着指定路径走。
1.4 本章知识结构
下面这张图把本章的核心逻辑串起来了。你可以把它当作一个思维导图来用。
这张图把本章的知识点串起来了。你可以看到,三大基本定律是根基,折射定律又分出标量和向量两种形式,全反射则是折射定律的一个特殊边界情况。工程应用在最底层,说明这些理论最终都要落到实际系统里。