4. 共轴球面系统:转面公式、拉赫不变量、逐次成像法

好,我们进入第四章。前面几章我们一直在跟单个球面打交道,但实际镜头里哪有那么好的事?一个镜头少说三五片,多则十几片。光从一个面跑到下一个面,怎么衔接?这就是我们今天要聊的核心——共轴球面系统。

说白了,就是把多个球面串起来,让它们的光轴重合。我刚开始做镜头设计时,总觉得单个面算清楚了,系统自然就清楚了。结果第一次算双胶合透镜,数据怎么都对不上。后来才发现,是转面公式里丢了厚度。嗯,这种坑,踩过一次就记住了。

4.1 转面公式:光怎么从一个面跑到下一个面?

先看一个最简单的场景。两个折射面,中间隔着介质,厚度为 d。光线从第一面出射后,要走到第二面。我们需要知道它在第二面上的入射高度和入射角度。

转面公式就干这件事:

已知第一面出射参数:
  - 出射光线与光轴夹角:U'₁
  - 出射光线在面上的高度:h₁
  - 第一面顶点到第二面顶点的距离:d₁(沿光轴方向)

计算第二面入射参数:
  - 第二面入射高度:h₂ = h₁ - d₁ · tan(U'₁)
  - 第二面入射光线与光轴夹角:U₂ = U'₁
  (注意:角度在转面过程中不变,除非中间有反射或光阑)

这里有个细节——符号规则。我见过不少新手在这栽跟头。d 是正值,光线从左向右传播。如果 U'₁ 是负的(光线向下倾斜),那 h₂ 反而会比 h₁ 大。你想想看,这其实符合直觉:光线往下走,高度自然增加。

我的习惯:每次算转面,我都会在纸上画个简图,标出 h₁、d、U'₁ 的方向。哪怕只是心算,也画。这能避免 90% 的符号错误。

4.2 拉赫不变量:整个系统的“守恒量”

接下来这个量,我个人觉得是近轴光学里最优雅的东西——拉赫不变量(Lagrange Invariant)。

在单个球面里,我们有:

n · u · y = n' · u' · y'

其中 u 是近轴光线与光轴的夹角(弧度制),y 是物高或像高,n 是折射率。

这个公式说明什么?在近轴近似下,n·u·y 这个乘积在折射前后保持不变。

那对于整个共轴系统呢?

系统拉赫不变量: J = n₁ · u₁ · y₁ = n'ₖ · u'ₖ · y'ₖ
其中下标 1 表示第一个面的物方参数,下标 k 表示最后一个面的像方参数。

换句话说,整个系统的拉赫不变量是常数。不管中间经过多少个面,这个值从头到尾都不变。

我在设计投影物镜时,经常用拉赫不变量来快速判断系统能不能达到要求的视场和孔径。比如客户要一个 60° 视场、F/2.8 的镜头,我拿拉赫不变量一算,就知道第一片的口径大概要多大。不用跑优化,心里就有数了。

参数 物理意义 在系统中的变化
n 介质折射率 逐面变化
u 光线与光轴夹角(近轴) 逐面变化
y 物/像高度 逐面变化
J = n·u·y 拉赫不变量 整个系统恒定
注意:拉赫不变量只在近轴近似下成立。一旦光线偏离近轴区域(比如大视场、大孔径),这个不变量就不再严格守恒。我曾在设计广角镜头时吃过这个亏——用近轴拉赫不变量估算口径,结果实际光线追迹出来差了 15%。后来才意识到,大角度下近轴近似已经不够用了。

4.3 逐次成像法:一个面一个面地算

好,有了转面公式和拉赫不变量,我们就可以把整个系统串起来了。方法很简单——逐次成像法。

步骤是这样的:

  1. 从第一面开始:用单球面成像公式,算出第一面的像距、像高、出射角度。
  2. 转面:用转面公式,把第一面的出射参数转换成第二面的入射参数。
  3. 重复:对第二面重复步骤 1-2,直到最后一个面。
  4. 得到最终像:最后一个面的像就是整个系统的像。

听起来很机械,对吧?但实际算起来,每一步都要小心。我给大家一个具体的例子:

一个双胶合透镜,由两个折射面组成:
  面1:曲率半径 R₁ = 50 mm,n₁ = 1.5,d₁ = 5 mm
  面2:曲率半径 R₂ = -50 mm,n₂ = 1.6,d₂ = 0(最后一个面)
  物距:l₁ = -200 mm(物体在透镜左侧 200 mm)
  物高:y₁ = 10 mm

第一步:计算面1
  n₁ = 1.0(空气),n'₁ = 1.5
  近轴公式:n'₁/l'₁ - n₁/l₁ = (n'₁ - n₁)/R₁
  代入:1.5/l'₁ - 1.0/(-200) = (1.5 - 1.0)/50
  解得:l'₁ ≈ 150 mm
  横向放大率:β₁ = n₁·l'₁/(n'₁·l₁) = 1.0·150/(1.5·(-200)) = -0.5
  像高:y'₁ = β₁·y₁ = -5 mm

第二步:转面
  h₂ = h₁ - d₁·tan(U'₁)  (这里 h₁ 是光线在面1上的高度,U'₁ 是出射角度)
  在近轴下,tan(U'₁) ≈ u'₁ = y₁/l₁ = 10/(-200) = -0.05 rad
  假设光线从物点发出,在面1上的高度 h₁ = 0(轴上物点)
  则 h₂ = 0 - 5·(-0.05) = 0.25 mm
  l₂ = l'₁ - d₁ = 150 - 5 = 145 mm

第三步:计算面2
  n₂ = 1.5,n'₂ = 1.0(出射到空气)
  R₂ = -50 mm
  近轴公式:1.0/l'₂ - 1.5/145 = (1.0 - 1.5)/(-50)
  解得:l'₂ ≈ 96.77 mm
  横向放大率:β₂ = n₂·l'₂/(n'₂·l₂) = 1.5·96.77/(1.0·145) ≈ 1.001
  最终像高:y'₂ = β₂·y'₁ = 1.001·(-5) ≈ -5.005 mm

系统总放大率:β = β₁·β₂ = (-0.5)·1.001 ≈ -0.5005

你看,整个计算过程就是重复套公式。但每一步的符号、单位、折射率都不能错。我曾经在算一个 5 片镜头的系统时,中间有一面的 d 写反了符号,结果后面全错。排查了整整一个下午。

我的建议:用表格来组织逐次成像的计算。每一列是一个面,每一行是一个参数(物距、像距、放大率、像高等)。这样既清晰,又方便检查。我在做设计时,Excel 里永远有一个这样的模板。

4.4 知识结构图:共轴球面系统的核心逻辑

下面这张图,把本章的三个核心概念串在了一起。你可以看到,转面公式是连接相邻面的“桥梁”,拉赫不变量是贯穿全系统的“红线”,而逐次成像法就是沿着这条红线,一座桥一座桥地走过去。

共轴球面系统核心逻辑 转面公式 拉赫不变量 逐次成像法 转面公式连接相邻面 → 拉赫不变量约束全局 → 逐次成像法完成全系统计算 h₂ = h₁ - d·tan(U') U₂ = U'₁ J = n·u·y 全系统恒定 面1 → 转面 → 面2 → ... → 面k 共轴球面系统 = 转面 + 不变量 + 逐次成像

4.5 避坑指南:我踩过的几个坑

最后,分享几个实战中容易出问题的地方:

  • 符号搞反:d 永远是正值,但 l 和 l' 的符号取决于物/像在透镜的哪一侧。我建议每次算完,用实际物理场景验证一下——像在透镜右边,l' 应该是正还是负?
  • 忘记转面:有些新手算完第一面,直接拿第一面的像距当第二面的物距,忘了减掉厚度 d。嗯,这个错误我见过不下十次。
  • 拉赫不变量用错:记住,J = n·u·y 用的是近轴角度 u,不是实际光线角度 U。在大视场系统中,这两者差别很大。
  • 逐次成像的累积误差:每算一个面,都会引入一点舍入误差。面数多了,误差会累积。我一般保留 6 位有效数字,最后再四舍五入到设计精度。
一句话总结:共轴球面系统的计算,本质上就是“单面公式 + 转面公式”的循环。拉赫不变量是检验计算结果是否自洽的利器——如果算完系统,头尾的 J 值对不上,那中间一定有地方算错了。