第2章:光学设计基础回顾
各位同学,欢迎来到第二章。在动手搭建镜头结构库之前,我们得先把地基夯实。光学设计不是凭空想象,它建立在几何光学和像差理论这两块基石上。今天我就带大家快速过一遍核心概念,顺便聊聊我在软件里踩过的坑。
2.1 几何光学核心概念
几何光学,说白了就是用光线来模拟光的传播。它忽略光的波动性,把光看作直线。这在大多数镜头设计场景下够用了。
2.1.1 基本定律
- 直线传播定律:光在均匀介质中沿直线传播。嗯,这是基础。
- 反射定律:入射角等于反射角。这个初中就学过,但设计反射镜时经常有人搞错符号。
- 折射定律(斯涅尔定律):n₁ sinθ₁ = n₂ sinθ₂。这是镜头设计的灵魂公式。
核心公式: 折射定律 n₁ sinθ₁ = n₂ sinθ₂。所有透镜曲率、光焦度都从这里推导出来。
2.1.2 近轴光学与符号规则
近轴近似是几何光学的精髓。它假设光线与光轴夹角很小,sinθ ≈ θ。这样计算就变成了线性问题,简单很多。
我个人习惯用右手坐标系来定符号规则。Z轴沿光轴方向,Y轴向上。记住:光线从左向右传播,曲率半径中心在右为正,在左为负。这个规则在Zemax和Code V里通用。
小技巧: 刚开始学符号规则时,我建议你画一张图,把正负曲率半径的透镜画出来。我在项目里见过有人把双凸透镜的曲率半径符号搞反,结果优化出来的镜片形状完全不对。
2.1.3 理想光学系统
理想光学系统有几个关键参数:
| 参数 | 符号 | 定义 |
|---|---|---|
| 焦距 | f | 平行光会聚点到主点的距离 |
| 光焦度 | Φ | Φ = 1/f,单位是屈光度 |
| F数 | F/# | 焦距/入瞳直径,决定亮度 |
| 视场角 | FOV | 系统能看到的范围 |
这些参数决定了镜头的基本性能。比如F数越小,镜头越亮,但像差也越难校正。
2.2 像差理论简介
理想光学系统只存在于课本里。实际镜头都有像差。像差就是实际像点偏离理想像点的偏差。
2.2.1 赛德像差
赛德像差有五种,我按出现频率排个序:
- 球差:轴上点发出的光线,边缘光线和近轴光线不交于一点。这是最常见的像差。
- 彗差:轴外点发出的光线,在像面上形成彗星状光斑。
- 像散:子午和弧矢方向的焦点不重合。
- 场曲:像面不是平面,而是曲面。
- 畸变:像的几何形状失真,但不影响清晰度。
避坑指南: 我曾经在设计一款广角镜头时,只盯着球差优化,结果畸变跑到10%以上。客户拿回去一拍照,建筑物全是弯的。从那以后,我每次优化都会同时监控所有赛德像差。
2.2.2 色差
色差是因为不同波长的光折射率不同引起的。分为两种:
- 轴向色差:不同颜色的光焦点沿光轴方向分离。
- 垂轴色差:不同颜色的光在像面上的高度不同。
校正色差通常用双胶合透镜或特殊玻璃材料。我习惯在Zemax里用AXCL和LACL操作数来监控色差。
2.2.3 像差平衡
实际设计中,我们不可能把所有像差都校正到零。关键是平衡。比如用正球差去补偿负球差,用场曲去匹配探测器曲面。
经验之谈: 像差平衡就像调音师。不是每个频段都调到最响,而是让整体听起来舒服。我做过一个投影镜头,球差和彗差都留了一点残余,但MTF反而更好。因为两者互相抵消了一部分。
2.3 光学设计软件基本操作
现在主流的光学设计软件就两家:Zemax OpticStudio和Code V。我两个都用过,今天分别讲一下基本操作。
2.3.1 Zemax OpticStudio 入门
Zemax的界面比较直观。核心操作流程如下:
- 设置系统参数:波长、视场、孔径。
- 输入镜头数据:在Lens Data Editor里输入面型、曲率半径、厚度、玻璃材料。
- 分析像质:用Spot Diagram、MTF、Ray Fan等工具查看像差。
- 优化:设置评价函数,用局部优化或全局优化找最佳解。
举个例子,输入一个单透镜:
面序号 曲率半径 厚度 玻璃
OBJ Infinity Infinity -
1 50.000 5.000 BK7
2 -50.000 95.000 -
IMA Infinity - -
这个透镜焦距约50mm,F数10。你可以用SPOT看看光斑大小。
小技巧: 我刚开始用Zemax时,经常忘记设置孔径类型。默认是Entrance Pupil Diameter,但如果你做的是无限共轭系统,应该用Image Space F/#。这个搞错了,优化结果全废。
2.3.2 Code V 入门
Code V的命令行风格更重,但熟悉之后效率很高。基本操作:
- 启动并新建文件:
new命令。 - 输入镜头数据:用
rdy、thi、gla命令。 - 查看像质:
spd、mtf、fan。 - 优化:
aut命令启动自动优化。
同样的单透镜,Code V里这样输入:
rdy 1 50.0
thi 1 5.0
gla 1 BK7
rdy 2 -50.0
thi 2 95.0
然后go运行,spd看光斑。
避坑指南: Code V的aut优化默认只做局部优化。我曾经以为它自动跑全局,结果优化了半天,解还在原地打转。后来才学会用glo命令启动全局优化。记住:局部优化只能找到最近的局部极值,全局优化才能跳出陷阱。
2.3.3 两款软件对比
| 特性 | Zemax OpticStudio | Code V |
|---|---|---|
| 界面 | 图形化,易上手 | 命令行为主,学习曲线陡 |
| 优化算法 | 局部+全局(锤形优化) | 局部+全局(Global Synthesis) |
| 玻璃库 | 内置,可扩展 | 内置,更全面 |
| 公差分析 | 内置,操作简单 | 内置,更灵活 |
| 价格 | 较高 | 更高 |
我个人建议:初学者先用Zemax,等熟悉了光学设计流程再转Code V。但如果你进公司,看公司用什么你就用什么。
2.4 本章知识体系
下面这张图总结了本章的核心内容,方便你对照复习: