第三章 数学基础(二):正交多项式与曲面误差评估
各位同学,欢迎来到第三讲。上一章我们聊了向量、矩阵和微分几何,算是把自由曲面的「骨架」搭好了。今天这一讲,我们要往骨架上添「血肉」——也就是如何用数学语言去描述和评价一个自由曲面。
说白了,自由曲面不像球面那样,用一个半径就能搞定。它太自由了,自由到我们得找一套「标准语言」去描述它。这套语言,就是正交多项式。我个人习惯把正交多项式理解为「乐高积木」——每一块形状是固定的,但你可以用不同数量的积木,拼出千变万化的曲面。
3.1 为什么需要正交多项式?
你想想看,一个自由曲面,我们通常用采样点来描述。比如你在 Zemax 或 Code V 里优化完,得到了一堆离散的坐标点 (x, y, z)。但问题是,这些点不能直接拿去加工,也不能直接拿去分析像差。我们需要一个连续的、光滑的数学表达式来拟合这些点。
这时候,多项式就登场了。但普通的多项式有个毛病——项与项之间会「打架」。什么意思?就是当你增加一项时,前面几项的系数会跟着变。这在光学设计里是灾难性的,因为你没法独立地控制像差。
正交多项式就解决了这个问题。它的每一项都是「独立」的,互不干扰。你调整第 5 项,前 4 项的系数纹丝不动。这在工程上太重要了。
3.2 Zernike 多项式:光学人的老朋友
说到正交多项式,搞光学的第一个想到的肯定是 Zernike。我在项目中遇到过无数次,无论是分析镜面面形误差,还是描述波前像差,Zernike 都是首选。
Zernike 多项式定义在单位圆域上。它的最大特点是:每一项都与特定的几何像差对应。比如 Z4 对应离焦,Z5/Z6 对应像散,Z7/Z8 对应彗差。这简直是光学设计师的「翻译官」——你看到系数,就知道像差长什么样。
它的数学形式是这样的:
Z_n^m(ρ, θ) = R_n^m(ρ) · cos(mθ) (m ≥ 0)
Z_n^{-m}(ρ, θ) = R_n^m(ρ) · sin(mθ) (m < 0)
其中 R_n^m(ρ) 是径向多项式,ρ 是归一化半径,θ 是角度。
嗯,这里要注意:Zernike 多项式的归一化半径很重要。如果你的镜面口径是 100mm,那 ρ = r / 50。这个归一化做不好,拟合出来的系数会乱套。
3.3 XY 多项式:自由曲面的「万金油」
Zernike 虽好,但它有个限制——只能在圆形域上用。如果你的镜面是矩形、椭圆形,或者是不规则形状,Zernike 就有点力不从心了。
这时候,XY 多项式就派上了用场。它的形式很简单:
z(x, y) = Σ C_ij · x^i · y^j
说白了,就是 x 和 y 的幂次组合。它没有 Zernike 那么「物理」,但胜在灵活。我在设计自由曲面照明系统时,经常用 XY 多项式。因为照明系统不关心像差,只关心能量分布,XY 多项式拟合起来又快又稳。
但 XY 多项式有个坑:项数选择要谨慎。我曾经在一个项目里,为了追求拟合精度,把项数加到了 20 项以上。结果曲面在边缘处出现了剧烈的「翘曲」——这就是过拟合。后来我学乖了,一般控制在 10 项以内,最多不超过 15 项。
3.4 Chebyshev 多项式:数值稳定的选择
Chebyshev 多项式可能不如前两位出名,但在数值计算领域,它是个「狠角色」。它的最大优势是数值稳定性极好。
为什么?因为 Chebyshev 多项式的定义域是 [-1, 1],而且它的极值点分布是「两头密、中间疏」。这种分布方式能有效抑制多项式拟合中的振荡现象。
它的递推公式很简单:
T_0(x) = 1
T_1(x) = x
T_{n+1}(x) = 2x · T_n(x) - T_{n-1}(x)
我个人习惯在需要高精度拟合时,优先考虑 Chebyshev。比如在自由曲面的逆向工程中,我们需要从测量数据中重建曲面。这时候测量数据往往有噪声,Chebyshev 的稳定性就能派上大用场。
3.5 多项式拟合与逼近:从离散到连续
好了,有了这些「积木」,我们怎么搭出曲面呢?这就涉及到拟合了。
拟合的本质很简单:找到一组系数,让多项式曲面尽可能接近你的数据点。最常用的方法是最小二乘法。
假设我们有 N 个数据点 (x_i, y_i, z_i),要用 M 项多项式去拟合。我们构造一个矩阵 A,其中 A_ij 是第 i 个数据点在第 j 项多项式上的值。然后解这个方程:
A · c = z
其中 c 是系数向量,z 是高度向量。
最小二乘解:c = (A^T · A)^{-1} · A^T · z
看起来很简单对吧?但实际做的时候,有几个细节要注意:
- 数据点要足够多:一般要求 N > 3M,否则容易欠定。
- 数据点要均匀分布:如果点都挤在一起,拟合出来的曲面会失真。
- 要检查残差:拟合完一定要看每个点的残差,有没有异常大的点。
3.6 曲面误差评估:RMS 和 PV
拟合完了,怎么评价拟合得好不好?这就引出了两个最常用的指标:RMS(均方根误差)和PV(峰谷值)。
RMS 反映的是曲面的整体误差水平。它的计算公式是:
RMS = sqrt( (1/N) · Σ (z_i - z_fit_i)^2 )
说白了,就是所有点误差的「平均大小」。RMS 越小,说明曲面整体越接近理想形状。
PV 反映的是曲面的最大偏差:
PV = max(z_i - z_fit_i) - min(z_i - z_fit_i)
也就是最高点和最低点之间的差距。PV 对局部缺陷非常敏感——哪怕只有一个点偏差很大,PV 就会很大。
在实际工程中,这两个指标要结合着看。我举个例子:
| 场景 | RMS | PV | 结论 |
|---|---|---|---|
| 场景 A | 0.01 μm | 0.05 μm | 曲面质量很好,整体和局部都优秀 |
| 场景 B | 0.01 μm | 0.50 μm | 整体不错,但有个别「尖刺」,需要检查 |
| 场景 C | 0.10 μm | 0.30 μm | 整体偏差较大,需要重新优化 |
你看,场景 B 的 RMS 很好,但 PV 很大。这说明曲面大部分区域是好的,但有一两个点出了问题。可能是测量噪声,也可能是加工缺陷。这时候只看 RMS 就会漏掉问题。
3.7 知识体系总览
为了让大家更直观地理解本章的知识结构,我画了一张图:
3.8 本章小结
这一章的内容不少,但核心就三件事:
- 选对工具:圆形域用 Zernike,矩形域用 XY 多项式,高精度拟合用 Chebyshev。
- 做好拟合:最小二乘法是基础,注意控制项数,避免过拟合。
- 准确评估:RMS 看整体,PV 看局部,两个指标要一起看。
这些内容看起来是纯数学,但你在实际项目中会反复用到。下一章我们会把这些数学工具真正用起来——开始设计第一个自由曲面。到时候你会发现,今天学的这些东西,就是你的「武器库」。
公众号:蓝海资料掘金营,微信deep3321