• ZEMAX | 如何使用渐晕系数


    本文介绍了在具有固定孔径的系统建模中如何使用渐晕系数。渐晕系数可用于确定穿过无遮拦系统的光束的尺寸和形状。结合渐晕系数也可实现此类系统的高效优化机制。

    下载

    联系工作人员获取附件

    简介

    渐晕现象描述的是图像的亮度在其边缘相对于其中心降低的效应。

    入射光束的渐晕现象一般由表面孔径导致。它可能是设计师为限制像差而故意为之,也可能是系统中光束超过具有固定尺寸的光学组件所致的无意后果。

    在OpticStudio中,您可以使用四个比例系数和正切角对此效应进行建模:VCX、VCY、VDX、VDY和TAN。 

    本文中给出了如何手动和自动设定渐晕系数的示例。本文还给出了一个展示渐晕系数主要作用的示例。

    设置渐晕系数的值:手动设置

    原则上,用户可以为渐晕系数指定任意一组值。此功能的用途之一是构造进入光学系统的入射光束。

    探究Vignetting example.ZMX文件中提供的单透镜系统(可在本文开头处下载此系统的文件)。在此系统中,直径为 10 mm 的轴上圆形光束入射到透镜上。光束的直径由系统孔径决定:

    现在想像我们要让尺寸为 8 x 6 mm 的椭圆光束入射到系统中,可以通过修改轴上视场点观察到的光瞳的尺寸来实现。通过以下公式确定适当的渐晕系数 VDX 和 VDY:

    其中P'x 和 P'y为按比例归一化的光瞳坐标。

    您可以在“设置(Setup)>编辑器(Editors)>视场数据编辑器(Field Data Editor)”中指定渐晕系数:

    您可以在点列图中观察生成光束的形状:

    设置渐晕系数的值:自动设置

    如果我们不想自己指定渐晕系数该怎么办?我们可以让OpticStudio自动计算所需的渐晕系数。

    重新打开Vignetting example.ZMX。在此文件中,我们在光阑面上放置具有所需尺寸的椭圆孔径。

    边缘光线现在被孔径渐晕,因为我们的入射光束(圆形,直径10 mm)超过了孔径大小。使用系统资源管理器中的“设置渐晕 (Set Vignetting)”功能,OpticStudio 能够将光瞳尺寸修改为入射光线的尺寸,从而确保输入光束没有任何渐晕。

    此功能可为每个定义的视场点计算适当的渐晕系数,确保来自每个视场的顶部 (Px = 0, Py = 1)、底部 (Px = 0, Py = -1)、左侧 (Px = -1, Py = 0) 和右侧 (Px = 1, Py = 0) 边缘的光线都能穿过系统中的所有孔径。对于本例,OpticStudio自动计算的渐晕系数与我们手动计算的值相同:

    然而,不要低估“设置渐晕”工具的能力!在可能倾斜和/或偏心以及/或包含不对称孔径的更复杂的系统中,此工具非常有助于用户确定可从每个视场点穿过系统的最大光束尺寸。

    例如,请打开位于 {Zemax}\Samples\Sequential\Objectives\ 目录中的“Cooke 40 degree field.zmx”文件。在此文件中,我们将使用“倾斜/偏心元件 (Tile/Decenter Element)”工具(位于镜头数据编辑器工具栏中)来倾斜和偏心三透镜组的第二个元件:

    有关借助此工具来倾斜和偏心元件的更多详细信息,请关注下期文章。由于倾斜和偏心,来自每个视场点的入射光束部分都会被渐晕:

    然后,“设置渐晕”工具可用于确定适当的渐晕系数:

    这样可确保光束没有任何渐晕:

    使用渐晕系数进行高效优化

    在OpticStudio中使用渐晕系数的主要好处之一是其有助于高效地优化渐晕系统。

    OpticStudio使用两种不同的光瞳采样算法进行优化:高斯求积 (GQ) 算法和矩形阵列 (RA) 算法。GQ算法更高效,但此算法不考虑渐晕,该算法假定所有入射光线都能到达像平面。因此,如果光线在系统中发生渐晕(例如由于表面孔径导致的渐晕),则无法使用GQ算法,必须改为RA算法。

    然而,如果渐晕系数用于修改系统中由每个视场点观察到的光瞳,则(原则上OpticStudio从每个视场点发射的所有光线都将穿过系统)不会出现任何渐晕。在本例中,我们可以使用GQ算法。

    我们来考虑一个示例。重新打开“Cooke 40 degree field.zmx”文件。然后,将表面5和6的半口径更改为“5”。

    点击视场数据编辑器中的“设置渐晕”,设定适当的渐晕系数:

    现在,我们将使用评价函数来估算此系统中的RMS光斑半径。为此,请在优化向导中输入如下值构造默认评价函数:

    评价函数值为 9.93E-3,对应于 9.93 微米的 RMS 光斑半径:

    如果我们增加采样(即GQ算法中使用的环数和臂数),而评价函数值不会发生显著变化,则表明我们最初的采样结果良好。生成此结果所需的光线数量对应于评价函数中 TRAC 操作数的数量:函数中有63个TRAC操作数,即需要63条光线。

    我们现在使用RA算法进行光瞳采样。我们系统地增加采样网格中的光线数量,直到找到与GQ算法类似的结果。我们发现需要10x10的网格:

    对应于需要298个TRAC操作数。因此,对于RA算法,我们需要298条光线,也就是超过GQ算法生成相同结果所需的光线数量的四倍。这表明GQ算法非常高效。然而,如果我们未使用渐晕系数来消除此系统中的渐晕,则只能使用RA算法。

    在某些情况下无法使用GQ算法,因为此时渐晕系数不能适当地描述渐晕光瞳。这些情况包括具有极其不对称或异形孔径的系统,或者像差以高次项为主的系统中存在渐晕时的情况。在这些情况下,优化时必须使用RA算法,并选中“删除渐晕”选项。然而,对于具有圆形、椭圆形或矩形孔径的光学系统,渐晕系数能够安全地用于描述光瞳,则可以选择GQ算法。

  • 相关阅读:
    【Unity之竖屏游戏制作】如何做一个竖屏的手机游戏
    leetcode82-Remove Duplicates from Sorted List II
    python使用matplotlib可视化subplots子图、subplots绘制子图并为可视化的多个子图设置共享的Y轴
    十六、商城 - 品牌管理-CRUD(4)
    Git链接上游仓库
    【python语法】@staticmethod、@classmethod、@property使用方法
    南大通用数据库-Gbase-8a-学习-08-集群节点添加数据副本
    idea本地运行正常,打包部署以后openFeign调用失败,返回为null,以及报错406
    Pygame实战(一):随机抽位置
    【LeetCode】59. 螺旋矩阵 II
  • 原文地址:https://blog.csdn.net/ueotek/article/details/125423739