在zemax种进行非球面优化时,常常会遇到面型在某些地方产生拐点,导致面型难看,甚至难以加工,这就是我们常说的反曲,如下图边缘孔径处所示,在进行非球面反曲的校正前,有必要对反曲的产生有较为详细的了解。
以球差校正为例,我们都知道非球面校正球差的能力比普通球面镜的能力更强,同时其比正负透镜组合校正球差更节约空间,优越性很明显。而球差的产生是各孔径的光线没汇聚到一点,而利用正负透镜相组合,可以使得各孔经光线在经过正和负透镜上产生光线高度和光焦度的差异,这种一正一负的差异可以对球差进行一定的消除。非球面透镜消球差的能力和正负透镜组合的原理相同,区别在于单个非球面在各孔径处具有不同的光焦度分布,为了使得边缘光线和中心光线能够汇聚一点,有些孔径表面的光焦度甚至可以由正变负,从面型表现上就是反曲。
在了解反曲之后我们还有对后续操作数所用到的一些基本概念进行补充,如下面两张图所示。一般来说,矢高是随着口径而变化的,口径增大,矢高也随着而增大这种情况下是没有反曲产生的:而当发生了在某个口径处,矢高发生了减小的现象时,这时候就产生了反曲。表面的陡度就是面的斜率角,如图中红色的两条切线的斜率,一般控制在70以内。
非球面大多采用的均是塑料镜片,一般是采用注塑的工艺。这意味着镜片的诸多参数需要向采样注塑的工艺进行妥协,所以需要设计者针对不同的注塑工艺,进行非球面的限制。对于塑料非球面镜头尽可能避免边缘的反曲,中间的适量反曲是可以接受的,但同时也需要对表面斜率进行控制,而玻璃非球面则更加的严苛。
下面就是进行解决非球面反曲5种方法的详细步骤了,我们首先人为的优化了一个简单的3片式的非球面系统,如下图所示,以这个为优化的初始结构,主要针对第三片透镜的边缘孔径处的反曲来进行优化。
方法1:利用SDRV操作数进行反曲的控制:
首先,SDRV定义是:计算某个面上,由X和Y定义的实际孔径坐标点处表面矢高(沿着局部Z轴)的一阶数据(data),这意味着我们可以利用该操作数对反曲孔径处的一阶导数进行提取,可以看到边缘处提取的数据为负数,而非边缘孔径所提取的数据为正数,这也侧面说明了反曲的产生。
所以思路很简单,他所提取的一阶数据为负,那我只需要让他的数据为正,从而没有产生相应的拐点,解决流程如下图1所示,可以看到,反曲有明显的改善,同时我们还可以对SDRV所提取的数据进行一次ATAN的求解,获得角度数据,控制角度来压反曲,如下图2所示。
图1
图2
方法2:利用SSAG,SAGY操作数进行反曲的控制:
同样的,SSAG定义:Surf定义的面上X和Y定义坐标点上的矢高,即可以提取任意孔径点处的矢高。SAGY定义:Surf定义的表面上Y=有效通光孔径,X=0处的矢高,即可以理解为边缘孔径的矢高,那么我们同样可以直接提取,反曲所在位置处的孔径的矢高值,进行约束,如下图所示,同样能够对反曲进行控制。
方法3:利用RENB操作数进行反曲的控制:
与上述两种与矢高相关的方法不同,RENB的定义为表面法线Y方向余弦。在波长(wave)定义的波长下指定光线与面(surf)定义的交点处表面的法线的Y方向余弦,这个相当于是提取光线和镜头表面相交的点,我们针对反曲所在的位置,通过设置HY,PY,来获取光线所交到反曲位置的方向余弦,对其进行约束,从而实现控制住反曲,如下图所示。
方法4:利用MXEA操作数+虚拟面进行反曲的控制:
从MXEA的定义我们也可以看到,空气的最大边缘厚度。该边界操作数约束从Surf1到Surf2表面中每个玻璃类型为空气(即没有玻璃)的面的边缘厚度要小于指定的目标值。区域(Zone),如果是非零值,缩放计算该处的厚度(Zone为0.5的话将计算0.5乘以半口径处的厚度。该操作数有一个模式(mode)标志,模式为0(默认)表示使用的是机械孔径,模式为1表示使用的是通光口径。这意味着我们可以通过此来提取反曲位置的坐标点。首先如下图所示,第三片透镜后面插入一个虚拟面,通过提取反曲处的坐标点和虚拟面之间的距离,然后与正常没有反曲的坐标点和虚拟面的距离做差,再进行约束,从而控制反曲。
方法5:利用REAZ操作数进行反曲的控制:
与RENB很相似,REAZ的定义是:实际光线Z向坐标。在波长(wave)定义的波长下,面(surf)定义的表面上指定出射光线的Z向坐标。如下图所示,有两种方式,一种是直接对坐标点进行限制,另一种则是在反曲位置进行角度的计算,利用角度来限制反曲。
以上这五种方法中本质上可以分为两种,一种是提取矢高,另一种则是提取坐标值,利用这种思路,甚至可以写各宏来进行反曲的限制。但同时我们也能够发现,方法1,方法2,方法4的缺点在于需要自己输入X和Y的坐标,在进行优化的时候如果雷竞技下载找ray666点vip口径发生变化,会导致角度无法被成功限制。这种比较适合在有镜片口径限制的情况下进行优化。方法3,方法5的优点在于可以计算镜片的雷竞技下载找ray666点vip有效径,在雷竞技下载找ray666点vip有效径的边缘位置进行计算,缺点是不能够计算机械半口径位置。
而且在优化过程中没必要一开始就人为的压制反曲,需要明白的是反曲它本质上也能够反映出系统控制光线的分布,明白了各孔径处的光焦度分布,这对优化的方向也具有一定的指导意义。而且这些方法还可以进一步的使用,例如利用方法4,
可以按照顺序多几个不同孔径的位置,按顺序对不同孔径的MXEA进行作差处理,然后进行作差后的控制,这样可以对整个矢高的变化进行控制,使得面型不至于那么凸或者凹。所有的方法zmx文件都在附件当中,可以进行下载。
总之,条条大路通罗马,这几种方法也仅局限于个人的微薄的经验,大家如果有更好的方法可以进行交流。创作不易,求大佬们可以给点贡献或者金币