第2章 数学基础回顾:向量与坐标变换、微分几何基础、多项式拟合基础
做自由曲面设计,说白了就是跟数学打交道。我刚开始接触这个领域时,总觉得数学是门槛,后来才发现——数学其实是工具,用顺手了,曲面设计就没那么玄乎了。
这一章,我们快速过一遍后面会反复用到的数学基础。别担心,我不会堆公式,而是把重点放在“怎么用”上。
2.1 向量与坐标变换
自由曲面的描述,离不开向量。每个曲面上的点,都对应一个位置向量。而坐标变换,则是把曲面从一个位置搬到另一个位置,或者从一个坐标系转到另一个坐标系。
2.1.1 向量基础
一个三维向量 v = (x, y, z),表示从原点指向点 (x, y, z) 的方向和距离。常用的操作有:
- 点积:a · b = |a||b|cosθ,用于计算夹角或投影长度。
- 叉积:a × b,结果是一个垂直于 a 和 b 的向量,用于求法向量。
- 模长:|v| = √(x² + y² + z²),表示向量的长度。
2.1.2 坐标变换矩阵
坐标变换的核心是矩阵乘法。一个点 p 经过旋转和平移后,变成新点 p':
p' = R * p + t
其中 R 是 3×3 旋转矩阵,t 是 3×1 平移向量。为了统一表示,我们常用齐次坐标:
[ p' ] = [ R t ] * [ p ]
[ 1 ] [ 0 1 ] [ 1 ]
这样做的好处是,多次变换可以连乘成一个矩阵,计算效率高很多。
| 变换类型 | 矩阵形式 | 说明 |
|---|---|---|
| 平移 | [[I, t], [0, 1]] | 沿 x/y/z 方向移动 |
| 绕 x 轴旋转 | [[1,0,0], [0,cosθ,-sinθ], [0,sinθ,cosθ]] | 右手定则 |
| 绕 y 轴旋转 | [[cosθ,0,sinθ], [0,1,0], [-sinθ,0,cosθ]] | 注意符号方向 |
| 绕 z 轴旋转 | [[cosθ,-sinθ,0], [sinθ,cosθ,0], [0,0,1]] | 最常用 |
| 缩放 | [[sx,0,0], [0,sy,0], [0,0,sz]] | 各向同性或异性 |
2.2 微分几何基础
自由曲面的“形状”,本质上是由它的法向量和曲率决定的。这两个量,直接关系到光线在曲面上的反射和折射行为。
2.2.1 法向量
曲面上某点的法向量,就是垂直于该点切平面的向量。对于显式曲面 z = f(x, y),法向量可以这样算:
n = (-∂f/∂x, -∂f/∂y, 1) (未归一化)
归一化后,n 就是单位法向量。在光学设计中,法向量的方向决定了光线的偏折方向,所以必须算准。
2.2.2 曲率
曲率描述曲面在某点“弯曲”的程度。对于自由曲面,我们关心两个主曲率 κ₁ 和 κ₂,以及平均曲率 H 和高斯曲率 K:
- 平均曲率:H = (κ₁ + κ₂) / 2
- 高斯曲率:K = κ₁ × κ₂
这两个量能告诉我们曲面的局部形状:
| K > 0 | K = 0 | K < 0 |
|---|---|---|
| 椭球点(碗状) | 抛物点(柱面或平面) | 双曲点(马鞍形) |
在自由曲面设计中,我经常用曲率分布来判断曲面是否“光滑”。如果曲率突变,说明曲面有褶皱,加工出来会有问题。
2.3 多项式拟合基础
自由曲面通常用多项式来表示。为什么?因为多项式简单、好算、容易求导。最常见的两种是:
2.3.1 泽尼克多项式
泽尼克多项式在圆形孔径上正交,非常适合描述光学像差。它的形式是:
Z(ρ, θ) = Σ A_nm * R_n(ρ) * cos(mθ) + B_nm * R_n(ρ) * sin(mθ)
其中 ρ 是归一化半径,θ 是角度。前几项对应常见的像差:
| 项 | 名称 | 物理意义 |
|---|---|---|
| Z₁ | 平移 | 整体偏移 |
| Z₂, Z₃ | 倾斜 | 像面倾斜 |
| Z₄ | 离焦 | 焦点偏移 |
| Z₅, Z₆ | 像散 | 非对称模糊 |
| Z₇, Z₈ | 彗差 | 拖尾状像差 |
| Z₉ | 球差 | 对称模糊 |
2.3.2 多项式拟合的注意事项
拟合时,我们通常用最小二乘法。但有几个坑要注意:
- 数据点分布:采样点要均匀覆盖整个曲面,否则拟合结果会偏向采样密集的区域。
- 多项式阶数:阶数太低,拟合精度不够;阶数太高,容易过拟合。我一般用交叉验证来选阶数。
- 数值稳定性:高阶多项式在边界处容易震荡(龙格现象)。如果发现拟合曲面在边缘处“翘起来”,说明阶数太高了。
2.4 本章知识体系
下面这张图,把本章的核心内容串起来了。你可以把它当作一个快速索引,后面用到哪个知识点,回来翻一翻就行。
嗯,这一章的内容就到这里。数学基础是枯燥了点,但后面讲自由曲面建模时,你会发现这些知识全都能用上。尤其是法向量和曲率,几乎每个曲面分析都离不开它们。