4. 共轴球面系统:转面公式、拉赫不变量、逐次成像法
好,我们进入第四章。前面几章我们一直在跟单个球面打交道,但实际镜头里哪有那么好的事?一个镜头少说三五片,多则十几片。光从一个面跑到下一个面,怎么衔接?这就是我们今天要聊的核心——共轴球面系统。
说白了,就是把多个球面串起来,让它们的光轴重合。我刚开始做镜头设计时,总觉得单个面算清楚了,系统自然就清楚了。结果第一次算双胶合透镜,数据怎么都对不上。后来才发现,是转面公式里丢了厚度。嗯,这种坑,踩过一次就记住了。
4.1 转面公式:光怎么从一个面跑到下一个面?
先看一个最简单的场景。两个折射面,中间隔着介质,厚度为 d。光线从第一面出射后,要走到第二面。我们需要知道它在第二面上的入射高度和入射角度。
转面公式就干这件事:
已知第一面出射参数:
- 出射光线与光轴夹角:U'₁
- 出射光线在面上的高度:h₁
- 第一面顶点到第二面顶点的距离:d₁(沿光轴方向)
计算第二面入射参数:
- 第二面入射高度:h₂ = h₁ - d₁ · tan(U'₁)
- 第二面入射光线与光轴夹角:U₂ = U'₁
(注意:角度在转面过程中不变,除非中间有反射或光阑)
这里有个细节——符号规则。我见过不少新手在这栽跟头。d 是正值,光线从左向右传播。如果 U'₁ 是负的(光线向下倾斜),那 h₂ 反而会比 h₁ 大。你想想看,这其实符合直觉:光线往下走,高度自然增加。
4.2 拉赫不变量:整个系统的“守恒量”
接下来这个量,我个人觉得是近轴光学里最优雅的东西——拉赫不变量(Lagrange Invariant)。
在单个球面里,我们有:
n · u · y = n' · u' · y'
其中 u 是近轴光线与光轴的夹角(弧度制),y 是物高或像高,n 是折射率。
这个公式说明什么?在近轴近似下,n·u·y 这个乘积在折射前后保持不变。
那对于整个共轴系统呢?
其中下标 1 表示第一个面的物方参数,下标 k 表示最后一个面的像方参数。
换句话说,整个系统的拉赫不变量是常数。不管中间经过多少个面,这个值从头到尾都不变。
我在设计投影物镜时,经常用拉赫不变量来快速判断系统能不能达到要求的视场和孔径。比如客户要一个 60° 视场、F/2.8 的镜头,我拿拉赫不变量一算,就知道第一片的口径大概要多大。不用跑优化,心里就有数了。
| 参数 | 物理意义 | 在系统中的变化 |
|---|---|---|
| n | 介质折射率 | 逐面变化 |
| u | 光线与光轴夹角(近轴) | 逐面变化 |
| y | 物/像高度 | 逐面变化 |
| J = n·u·y | 拉赫不变量 | 整个系统恒定 |
4.3 逐次成像法:一个面一个面地算
好,有了转面公式和拉赫不变量,我们就可以把整个系统串起来了。方法很简单——逐次成像法。
步骤是这样的:
- 从第一面开始:用单球面成像公式,算出第一面的像距、像高、出射角度。
- 转面:用转面公式,把第一面的出射参数转换成第二面的入射参数。
- 重复:对第二面重复步骤 1-2,直到最后一个面。
- 得到最终像:最后一个面的像就是整个系统的像。
听起来很机械,对吧?但实际算起来,每一步都要小心。我给大家一个具体的例子:
一个双胶合透镜,由两个折射面组成:
面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 写反了符号,结果后面全错。排查了整整一个下午。
4.4 知识结构图:共轴球面系统的核心逻辑
下面这张图,把本章的三个核心概念串在了一起。你可以看到,转面公式是连接相邻面的“桥梁”,拉赫不变量是贯穿全系统的“红线”,而逐次成像法就是沿着这条红线,一座桥一座桥地走过去。
4.5 避坑指南:我踩过的几个坑
最后,分享几个实战中容易出问题的地方:
- 符号搞反:d 永远是正值,但 l 和 l' 的符号取决于物/像在透镜的哪一侧。我建议每次算完,用实际物理场景验证一下——像在透镜右边,l' 应该是正还是负?
- 忘记转面:有些新手算完第一面,直接拿第一面的像距当第二面的物距,忘了减掉厚度 d。嗯,这个错误我见过不下十次。
- 拉赫不变量用错:记住,J = n·u·y 用的是近轴角度 u,不是实际光线角度 U。在大视场系统中,这两者差别很大。
- 逐次成像的累积误差:每算一个面,都会引入一点舍入误差。面数多了,误差会累积。我一般保留 6 位有效数字,最后再四舍五入到设计精度。