第4章 光学基础回顾:几何光学三大定律、光线追迹原理、斯涅尔定律的矢量形式、光程与费马原理

说实话,很多刚接触自由曲面的朋友,一上来就盯着复杂的数学公式和优化算法。但我个人的经验是——光学基础不牢,后面全是空中楼阁。自由曲面设计本质上是在解决一个“光线如何走”的问题,而几何光学三大定律就是回答这个问题的底层规则。

这一章,我们就把这些“老规矩”重新捋一遍。别觉得简单,很多坑恰恰就藏在最基础的地方。

4.1 几何光学三大定律:光线的“交通规则”

几何光学把光看作一条条射线。它不关心光的波动性,只关心光线怎么走。三大定律就是它的交通规则:

  1. 直线传播定律:在均匀介质中,光沿直线传播。
  2. 独立传播定律:不同方向的光线相遇后,互不影响,各自继续走。
  3. 反射与折射定律:光线遇到两种介质的分界面时,一部分反射,一部分折射。

我的经验: 独立传播定律看似简单,但在自由曲面设计中容易被忽略。我曾经在优化一个多通道系统时,忽略了不同视场光线之间的“串扰”,结果仿真结果和实测差了十万八千里。记住,光线之间不打架,但你的设计得管好它们。

4.2 斯涅尔定律的矢量形式:自由曲面的“数学武器”

斯涅尔定律大家都熟:n₁ sinθ₁ = n₂ sinθ₂。但在自由曲面设计中,我们面对的不是平面,而是任意形状的曲面。这时候,标量形式就不够用了。

我们需要矢量形式:

n₁ (I × N) = n₂ (T × N)

或者更常用的形式:

T = (n₁/n₂) I + [ (n₁/n₂) cosθ₁ - cosθ₂ ] N

其中:

  • I:入射光线单位矢量
  • T:折射光线单位矢量
  • N:曲面法线单位矢量
  • θ₁、θ₂:入射角和折射角

你想想看,这个公式告诉我们什么?只要知道入射光方向和曲面法线,就能算出折射光方向。反过来,如果我们想要某个出射光方向,也能反推出曲面法线——这就是自由曲面设计的核心思路之一。

避坑指南: 我曾经在写代码时,直接把法线方向搞反了。结果优化出来的曲面形状完全不对,浪费了两周时间。记住:法线方向必须指向光线入射的一侧,否则符号全乱套。

4.3 光线追迹原理:从“一根光线”到“一个系统”

光线追迹,说白了就是模拟光线在光学系统中的传播路径。我们从一个点出发,沿着光线方向,依次计算它经过每个面时的反射或折射,直到它到达像面。

基本流程如下:

  1. 初始化:确定光源位置和初始光线方向
  2. 求交:计算光线与下一个光学面的交点
  3. 计算法线:在交点处计算曲面法线
  4. 应用斯涅尔定律:计算反射或折射后的新方向
  5. 更新光线:以新方向继续追迹,直到所有面都处理完
  6. 输出结果:记录光线在像面上的落点位置

嗯,这里要注意:自由曲面的求交和法线计算比球面复杂得多。球面有解析解,自由曲面通常需要数值迭代。这也是为什么自由曲面设计对计算资源要求更高的原因。

4.4 光程与费马原理:设计优化的“上帝视角”

费马原理说:光从一点到另一点,走的是光程取极值的路径。光程就是几何路径长度乘以介质折射率:

OPL = n · L

为什么说这是“上帝视角”?因为它不关心光线具体怎么反射折射,而是从全局角度告诉你:真实的光线路径,一定是光程的极值路径。

在自由曲面设计中,费马原理非常有用。比如:

  • 等光程条件:如果我们要设计一个理想成像系统,所有光线从物点到像点的光程必须相等
  • 优化目标:我们可以把光程差作为评价函数,通过最小化光程差来优化曲面形状

注意: 费马原理说的是“极值”,不一定是“最小值”。也可能是最大值或鞍点。但在大多数光学系统中,我们关心的是最小值路径。我见过有人把鞍点路径当成真实路径来优化,结果系统性能怎么也上不去。

4.5 知识体系总览

下面这张图,把本章的核心知识点串起来了。你可以把它当作一个“思维导图”来用:

几何光学基础 - 知识体系总览 几何光学基础 三大定律 直线传播 独立传播 反射与折射 斯涅尔定律 标量形式 矢量形式 法线反推 光线追迹 初始化 求交与法线 迭代追迹 费马原理 光程极值 等光程条件 优化目标 自由曲面应用 曲面法线计算 数值求交 光程差优化 核心逻辑:三大定律 → 斯涅尔矢量形式 → 光线追迹 → 费马原理 → 自由曲面设计 每一步都是下一步的基础,缺一不可

4.6 本章小结

知识点 核心内容 在自由曲面中的用途
三大定律 直线、独立、反射折射 光线行为的基本规则
斯涅尔矢量形式 T = (n₁/n₂)I + [ ... ]N 由入射光和法线求折射光,或反推法线
光线追迹 初始化→求交→法线→折射→迭代 模拟光线在系统中的传播路径
费马原理 光程取极值 等光程条件、优化评价函数

我个人觉得,这一章的内容虽然基础,但值得反复咀嚼。尤其是斯涅尔定律的矢量形式和费马原理,它们是自由曲面设计的“左膀右臂”。后面几章我们会频繁用到它们,到时候你就知道今天打下的基础有多重要了。