时值暑假,你在街上玩耍了一天回到家,一进门,爷爷正在扶着老花镜看报纸,你开心地大喊“爷爷我回来啦!”爷爷把老花镜摘下,向你投来慈爱的目光:“快吃饭吧!”……
我相信每个人都有类似的童年回忆。那么问题来了!这段温馨的场景中蕴含着什么光学知识?对啦!老年人的眼睛退化,看近处的物体需要借助老花镜,而看远处的物体则不需要,所以爷爷会把眼镜摘下。
后来人们为了解决这一问题发明了双焦眼镜,在眼镜的不同区域焦距不同,这样在看近处和远处的物体时都可以戴着眼镜。但又有新的问题出现了,眼睛在不同的焦距来回切换会非常疲劳。所以,人们又发明了焦距逐渐过渡的渐进透镜,解决了新出现的这一问题。
那么本周的技术文章就是围绕着OpticStudio中自由曲面的:
如何设计渐进透镜
概述
渐进透镜是自由曲面设计中一个常见话题。为了实现增加光焦度或者控制像差等目的,自由曲面的形状可以是任意的,而不是简单地由圆锥系数或者偶次非球面系数这样的参数方程定义。
自由曲面的分析和优化方法与普通透镜有所不同,本文以一个渐进透镜为例,介绍这些优化分析方法。
引言
渐进透镜 (Progressive addition lenses , PALs) 不同部分的光焦度平滑地变化。例如,低头视物时用到的部分光焦度会比远眺时用到的部分光焦度大一些,这样无论佩戴者是开车还是读书,都可以戴着它。
渐进透镜的设计是自由曲面设计中一个常见话题。为了所需的光学性能,自由曲面形状可以是任意的,而不是简单地由圆锥系数或者偶次非球面系数这样的参数方程定义。一个自由曲面能在其上任意位置增加光焦度,以满足像差校正的需求。
也正是因此,我们需要区别于传统透镜的分析和优化工具。举例来说,光程差图 (OPD) 和光扇图 (Ray Fans) 就不太适用于光焦度可以随意变化的情况。这篇文章以一个非常简单的渐进透镜为例,介绍了如何建立、分析和优化自由曲面系统。
表面类型
理想的自由曲面应该由一系列点数据构成,然而要优化这个面时,需要用某种方式给这个面一个小的扰动,以此来判断该继续增加还是减小这个扰动,使光学系统能更符合我们的预期。因此,纯数据构成的表面类型(如网格矢高或CAD物体)可能很适合分析光学系统的表现,但在设计的初期我们想要用优化器连续改变曲面时,它们并不可取。
在设计初期推荐使用的表面类型有:
三次样条和扩展三次样条
径向NURBS和Toroidal NURBS
多项式和拓展多项式
Zernike Standard 矢高
样条和NURBS表面类型直接提取矢高数据的定义参数,用参数拟合多个低阶多项式,来产生一个用于光线追迹的光滑表面。而多项式和Zernike表面类型则是通过通用的任意阶多项式实现相同的目的。
我们将采用扩展多项式表面类型来进行渐进透镜设计演示,下图为附件中名为progressive_starting_point.zmx的3D布局图:
文件包含三个多重结构,如图:
请注意:半直径 (Semi-Diameter) 的求解类型应选为最大,使光学系统的口径与多重结构中最大的那个相同。另外,在系统配置 (System Explorer)…系统孔径 (Aperture) 中设置净口径余量 毫米 (Clear Semi Diameter Margin Millimeters)为3mm,以保证所需的光能顺利穿过透镜,同时方便安装。
三个多重结构中,光线分别从无穷远处、从1000mm远处以10°视场角和从500mm远处以20°视场角入射。分别用来表示配戴眼镜的人观察不同距离、不同视场上的景物。因为本例是无焦的,所以下图是以角度单位(毫弧度)表示的。我们可以从图中清楚地看到光的角偏差随视场变化而变化。
用来校正该偏差的透镜材料为聚碳酸酯,前表面表面类型是扩展多项式,后表面类型是标准面。
前表面扩展多项式的矢高方程为:
它以一个圆锥系数非球面为基准面,在其上添加多项式。这个基准面非常有用,因为近轴光线会以它的数据进行计算,所以如有效焦距 (EFFL) 这样的近轴概念仍然适用。多项式是x的m次幂乘以y的n次幂的形式,m和n都是整数,x和y代表表面上点的坐标。在镜头数据编辑器 (Lens Data Editor) 中,最大项数# (Maximum Term # )设置为40项,幂次低于x的4次方乘以y的4次方所有项均为变量,幂次高于x的4次方乘以y的4次方的项被自动设置为0,且求解类型为固定,但如果你想的话,你可以修改所有230项多项式的参数。评价函数考虑了每种多重结构下的角半径,以及玻璃合理的中心厚度和边缘厚度。这些可以用优化向导 (Optimization Wizard) 自动生成,设计的目标是:视场中不同位置的目标都能通过透镜获得最佳准直光。
点击优化 (Optimize)…执行优化 (Optimize!)…开始 (Start) 开始局部优化,OpticStudio将快速操纵24个变量,为我们产生一个能获得最佳准直光输出的自由曲面:
分析自由曲面
透镜自由曲面的实体模型表明,表面的矢高非常复杂:
注意:在没有光线经过的边缘部分,透镜经常会出现预期之外的结果。这是自由曲面设计中的常见问题,所以我们应该在整个表面添加单光线或其他形式的约束,防止设计出的曲面无法加工。
这个自由曲面如此复杂,所以光扇图 (Ran fans) 和光程差图 (OPD) 不足以评价这个自由曲面光学系统的性能。这种情况下,我们应使用分析 (Analyze)…PAL/Freeform分析 (PAL/Freeform)…视场光焦图 (Field Map) 工具。设置屈光度间隔为0.25,我们就能够看到整个表面在视场上增加的球面和柱面光焦度:
这些图不使用OpticStudio其他地方使用的光焦度和有效焦距等严格近轴概念。而是将光焦度和焦距作为视场坐标的函数进行计算。光焦度和焦距是由整个光学系统共同决定的,包括每个面上的折射。实现的方法是:在视场中每个点的入瞳附近追迹一圈真实光线,光线数据用以确定每个视场下的焦距,焦距可用来计算以屈光度为单位的光焦度(单位数值为米的倒数)。一般情况下,焦距是入瞳方向的函数,通过追迹一圈光线,可以确定光瞳附近的平均、最大、最小光焦度和焦距。根据这些数据能计算出多种不同的光焦度。它们以屈光度为单位:
球面光焦度
柱面光焦度
最大和最小光焦度
垂直和水平光焦度
X或Y方向光焦度
此外,该功能还可以以透镜单位显示有效焦距 ( EFL )。
这些图表为我们理解自由曲面如何影响光焦度变化提供巨大帮助。
另外,POWF操作数可以直接优化任何点上用视场光焦图计算出的任何项。该功能在已知某表面上的视场光焦图时非常有用。
总结
设计自由曲面或渐进透镜理论上与传统透镜没有区别,但是由于自由曲面上任一点都可以轻松增加或减少光焦度,所以我们需要额外的优化和分析手段。视场光焦图和POWF操作数即是OpticStudio进行自由曲面设计时分管这一部分的功能。