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 本章知识结构

下面这张图把本章的核心逻辑串起来了。你可以把它当作一个思维导图来用。

光的传播与折射定律知识结构图 几何光学基本定律 光的直线传播定律 光的独立传播定律 反射定律与折射定律 斯涅尔形式 向量形式 全反射现象 临界角计算 工程应用 光纤通信 · 内窥镜 · 棱镜设计 近轴光学中所有定律均成立 仅对角度做小角度近似

这张图把本章的知识点串起来了。你可以看到,三大基本定律是根基,折射定律又分出标量和向量两种形式,全反射则是折射定律的一个特殊边界情况。工程应用在最底层,说明这些理论最终都要落到实际系统里。