几何光学基础回顾:光线追迹、近轴近似、球面折射与反射

各位好,欢迎来到第二章。在正式啃彗差这个硬骨头之前,咱们得先把工具箱里的老伙计们擦亮。几何光学就是那个工具箱,光线追迹、近轴近似、球面折射反射——这些是每个光学工程师吃饭的家伙。我做了这么多年设计,发现很多新人一上来就扎进高级像差理论,结果连最基本的追迹都算错,最后返工改结构,那叫一个痛苦。

所以这一章,咱们把地基夯实。别嫌基础,你想想看,彗差本质上就是光线追迹在非近轴区域“跑偏”的结果。不懂追迹,你怎么理解彗差?

1. 光线追迹:光学设计的“算盘”

光线追迹,说白了就是模拟一束光怎么穿过你的镜头。从物点出发,经过每个面折射或反射,最后到达像面。每一步都遵循斯涅尔定律(折射定律)和反射定律。

核心思想: 把连续的光波前离散成一条条光线,用几何方法算出每条光线的路径。精度取决于你追了多少条光线——追100条叫粗算,追10万条叫工程。

我在项目中遇到过最典型的坑:用近轴公式去算大孔径系统,结果像差一大把,还死活找不到原因。后来才意识到,近轴公式只适用于小角度近似,大孔径必须用精确的三角追迹。

光线追迹的基本步骤其实很简单:

  1. 输入参数: 曲率半径 r、折射率 n、厚度 t、入射光线坐标 (y, u)。
  2. 计算入射角: 根据光线与球面的几何关系,算出光线在面上的入射角 I。
  3. 应用折射定律: n·sin(I) = n'·sin(I'),求出折射角 I'。
  4. 计算出射光线: 根据 I' 和面型,算出光线离开该面后的方向与位置。
  5. 传递到下一面: 用厚度 t 和新的方向余弦,算出光线在下一面上的坐标。

嗯,这里要注意:实际工程中,我们通常用 Y-U 追迹法(也叫光线矢量追迹),把光线表示为 (y, u) 的列向量,用 2×2 的矩阵来传递。这样写代码特别方便。

// 伪代码:单个球面的折射追迹
// 输入:光线高度 y,光线角度 u(弧度),曲率 c = 1/r
// 输入:入射介质折射率 n,出射介质折射率 n'

// 1. 计算光线在面上的入射角正弦
sin_I = y * c + u * sqrt(1 - (y*c)^2)  // 近似版,精确版需用三角

// 2. 应用斯涅尔定律
sin_I_prime = (n / n_prime) * sin_I

// 3. 计算折射后的光线角度
u_prime = u + sin_I_prime - sin_I  // 小角度近似

// 4. 传递到下一个面(假设厚度为 t)
y_next = y + t * u_prime

我的经验: 写追迹代码时,一定要先做“零度光线”测试——让光线沿光轴入射,看输出是不是还是沿光轴。很多新手写的代码,光线一过球面就偏了,就是因为符号约定没统一。我建议你统一用“光线向右为正,向上为正”的右手系。

2. 近轴近似:小角度下的“线性世界”

近轴近似,也叫一阶光学或高斯光学。它的核心假设是:光线与光轴的夹角非常小,以至于 sin(θ) ≈ θ,tan(θ) ≈ θ,cos(θ) ≈ 1。

为什么要做这个近似?因为一旦用了这个近似,整个光学系统就变成了线性系统。你可以用矩阵乘法来追迹,可以用组合公式算焦距,可以用牛顿公式算成像位置——所有计算都变得简单、快速、可解析。

但代价是什么?代价就是精度。近轴近似只对 孔径很小、视场很小 的系统有效。一旦光线偏离光轴超过 5°~10°,误差就开始显著。彗差、球差、像散——这些“高级像差”本质上就是实际光线偏离近轴近似的结果。

参数 近轴近似 精确追迹
sin(θ) θ θ - θ³/6 + θ⁵/120 - ...
tan(θ) θ θ + θ³/3 + 2θ⁵/15 + ...
成像公式 1/f = 1/l' - 1/l 无统一解析式
适用范围 小孔径、小视场 任意孔径、视场
计算速度 极快(毫秒级) 较慢(取决于光线数)

避坑指南: 我曾经用近轴公式设计一个 f/1.4 的镜头,结果加工出来实测分辨率惨不忍睹。后来一分析,边缘光线的入射角已经接近 30°,sin(30°) = 0.5,而近似的 30° = 0.5236 rad,误差超过 4.7%。这个误差在像差计算里会被放大好几倍。所以,近轴公式只适合做初始结构计算和概念验证,最终设计必须用精确追迹。

3. 球面折射:光学系统的基本单元

球面折射是光学系统里最常见的面型。为什么用球面?因为球面最容易加工和检测,成本最低。非球面虽然性能好,但加工难度和成本都高一个数量级。

球面折射的成像公式,大家应该都背过:

单个球面的成像公式: n'/l' - n/l = (n' - n)/r

其中 l 是物距(从球面顶点到物点),l' 是像距,r 是曲率半径,n 和 n' 是两侧折射率。

这个公式怎么来的?其实就是从近轴近似下的斯涅尔定律推导出来的。推导过程我建议你自己走一遍,对理解像差很有帮助。

在实际工程中,我更常用的是 光焦度 的概念:

  • 光焦度 φ = (n' - n)/r,单位是屈光度(1/m)。
  • 正光焦度(凸面朝向空气)会聚光线,负光焦度(凹面朝向空气)发散光线。
  • 多个球面组合的总光焦度,可以用高斯括号法或矩阵法计算。

我记得有一次做投影镜头,需要快速估算一个双胶合透镜的焦距。用光焦度相加公式 φ_total = φ1 + φ2 - (d/n)·φ1·φ2,三分钟就算出来了,跟 Zemax 的精确结果只差 0.3%。这就是近轴近似的威力——快速、够用、不跑偏。

4. 球面反射:简单但容易忽略

球面反射可以看作是折射的特例——让 n' = -n。为什么是负的?因为反射光线的传播方向反了,符号约定上要体现这一点。

球面反射的成像公式:1/l' + 1/l = 2/r

这个公式跟折射公式形式上很像,但注意符号:反射镜的焦距 f = r/2。凹面镜(r > 0)会聚光线,凸面镜(r < 0)发散光线。

反射系统在红外和紫外波段特别常见,因为反射镜没有色差。但反射镜有另一个问题:中心遮挡。我做过一个卡塞格林望远镜,次镜的遮挡比一算,MTF 直接掉了 30%。所以反射系统的像差分析,必须考虑遮挡效应。

关键对比: 折射面有色差(因为 n 随波长变化),反射面没有色差(因为反射定律与波长无关)。但反射面有彗差、球差、像散——这些单色像差一个不少。所以别以为用了反射镜就万事大吉,彗差照样要算。

5. 知识体系总览

下面这张图,是我自己总结的本章知识结构。你可以把它当作一个“导航图”,学完这一章后,对照着检查自己有没有遗漏。

几何光学基础回顾 - 知识体系 几何光学基础回顾 - 知识体系 几何光学基础 光线追迹 近轴近似 球面折射与反射 斯涅尔定律 Y-U 追迹法 小角度近似 线性系统 折射公式 反射公式 💡 核心逻辑 光线追迹是工具,近轴近似是简化,球面折射与反射是基本单元。 三者结合,构成所有像差分析的基础。

6. 本章小结

好了,这一章的内容就这些。总结一下重点:

  • 光线追迹 是光学设计的核心计算工具,必须掌握精确追迹和近轴追迹两种方法。
  • 近轴近似 是小角度下的线性化处理,速度快但精度有限,适合初始设计。
  • 球面折射 是最常用的面型,光焦度公式要烂熟于心。
  • 球面反射 是折射的特例,没有色差但有遮挡问题。