摘要: 文章主要内容:
1、坐标间断面(Coordinate break surfaces)是什么以及其如何工作
2、怎样使用全局顶点(Global Vertex)报告检查你的设计
3、为何坐标间断面常成对出现
4、为何坐标间断面要位于一处
5、如何简单,容易地进行倾斜和偏心处理
随文附带的压缩包文件内包括OpticStudio文件的例子,在页面底部可以下载。
作者:Mark Nicholson,Natalie Pastuszka修改
发表日期:08/18/2015
示例文件:文章底部
适用板块(原Zemax官网):3D Geometries
FirstTime Users
FrequentlyAsked Questions
文章正文:
在OpticStudio的序列光线追迹模式中,光线穿过面的顺序对于系统影响至关重要。镜头数据编辑器(Lens Data Editor,LDE)给定了光学系统中光线以怎样的顺序依次与元件表面接触。
因此一个面需要给出距离上个面的厚度(沿局部Z轴的距离),这叫局部坐标系,因为面的位置是根据前一个面确定的。
一个坐标间断面通过描述沿X,Y轴方向的偏移和以X,Y,Z轴为中心的旋转来指定下一个面的位置,就像定义z轴厚度一样简单。坐标折转面是一个虚拟面:这意味着,它没有反射或者折射能力,无法折转光线。它唯一的目的就是去定义一个新的坐标系以取代当前坐标系。这样可以实现光学面几何位置和光学参数的分离。
本文中我们将示范如何倾斜和偏心光学元件,同时保持其他元件位置不变。前面会详细解释,最后介绍的软件内工具将简化这个过程,但是理解原理至关重要,所以请认真阅读全文。在链接中的解压缩文件中你会找到starting point.zmx这个文件,它是一个中心为一片胶合玻璃的三玻璃窗口系统。
每一片玻璃都是矩形光阑(双击任一面以查看光阑面板)。光阑外的任何光线都会被阻断。
上图中,Z轴正方向从左向右,Y轴由下至上,X轴从外向内。典型的右手坐标系,用食指表示Z轴,大拇指表示Y轴,中指表示X轴,你的食指从左向右,正如图中左下的坐标轴所示。
本文的目的就是保持另外两片不变的前提下,对中心镜片倾斜和偏心。如何知道是否达到预想位置呢?OpticStudio有一个很重要的报告,只要你使用偏心倾斜功能就需要使用。
打开分析>报告>分类数据报告,查看如下全局顶点副标题:
全局顶点报告列出了在考虑全局坐标参考面( Global Coordinate Reference Surface ,GCRS)后每个面顶点的位置和方向。本设计中,面一是全局坐标参考面,但是任何面都可以通过镜头数据的表面:类型面板或者系统选项的杂项(确切是在系统孔径选项中找到)来指定全局坐标参考面。
从全局顶点报告中可以看到根据全局坐标参考面所有面都位于Z轴上,因为对所有的面旋转矩阵是单位矩阵,并且X轴,Y轴偏心值为0。第七面(窗口3的前表面)相较于第一面(即全局坐标参考面)的三维坐标是(0,0,33)。
坐标折转面可以指定X,Y方向的偏心和X,Y,Z三个轴的倾斜,以及Z轴方向的偏移(即厚度),并影响后续所有的面。它也包含级次标志,其意义我们后面会谈。
第一步工作要保证不影响其他面位置,而使中心窗口偏心。
为了偏心中心窗口,点击第四面(面标注中为“FRONT WINDOW2”,即窗口2前表面,后统一使用英文)任意处并在键盘上按INSERT键。插入一个新的面,所有曾经的第四面后续的面都要重新命名(所以第五面现在叫做“FRONT WINDOW2”)。
然后滑动滚动条到Y偏心一项并输入-5mm。外形图和详细数据报告展示了结果。坐标间断面后所有面都偏心了-5mm。
坐标间断面的影响会持续到遇见下一个坐标间断面,因此通常需要一对坐标间断面:一个产生偏心或倾斜,另一个还原原始坐标。
为此,点击第八面(“FRONT WINDOW3”),再次点击INSERT键并添加一个新的坐标间断面。使此面厚度为10mm,第七面厚度为0mm,所以第二个坐标间断面位于中心窗口后表面的同一位置。使这个坐标间断面沿Y轴偏心5mm。你可以得到如下图(可以打开压缩包中的intermediate step.zmx文件)。(注意因为这些面具有矩形孔径,因为是序列模式,所以未达到中心窗口的光线会被截断。如果建模一个系统,其可以仿真那些被截断的光线在窗口三中重现出现,你必须使用非序列模式。)
起还原坐标作用的坐标间断面还原了原始坐标轴以便后续面回到原始位置。
手动重置坐标间断面的值并不是一个好的方式,因为很容易忘记,要知道无论何时设置一个坐标间断面后,第二个坐标间断面都需要调整。然而OpticStudio使它很容易实现自动化:双击第二个坐标间断面的Y轴偏心并选择拾取解(Pick-Upsolve)以和第一个坐标间断面的值锁定,如下图:
同样对X轴偏心,对于其他倾斜参数也是如此。但保持一对坐标间断面的级次标志为0。(这是不对的,后面将会讨论)。
现在你可以设置X轴,Y轴的偏心值,并且OpticStudio可以在第二个坐标间断面保持原始坐标系。可以参考压缩文件中的intermediate step2.zmx文件。现在开始研究倾斜操作。
重置第一个坐标间断面的所有参数为0。由于拾取解的使用,第二个坐标间断面的参数都会自动变为0。然后设置第一个坐标间断面的倾斜X值为20度。乍看起来已经做好了,但是仔细观察全局顶点报告时,很明显出错了。
倾斜X引入了0.68mm的Y偏心。这是因为在新的X倾斜坐标系中,第二个坐标间断面存在沿光轴的偏移。为引入没有偏心的纯倾斜量,两个坐标间断面间必须不包含z向位移。可以通过在第二个坐标间断面加入虚拟面实现。
在第二个坐标间断面后插入一个虚拟面。第二个坐标间断面现在厚度为10mm,设为0mm,然后把新的虚拟面厚度设为10mm。现在两个坐标间断面沿z轴的间距为2mm,所以使第二个坐标间断面前一面的厚度为-2mm,而第二个坐标间断面厚度加2mm。虚拟面使两个坐标间断面在空间中位于同一点,这样就使得倾斜操作没有引入偏心量。
由于在空气中追迹了一个-2mm和一个+2mm,所以虚拟面没有光学影响,光线不会偏折,未增加光程。通过在镜头数据中的绘图面板使用命令“不显示此表面”(Do Not Draw This Surface)和“光线忽略这个面”命令(SkipRays From this Surface)来隐藏此面。
然而这种设置虚拟面厚度的方式不令人满意。如果手动设置或者优化中一个玻璃表面厚度发生变化怎么办呢?第二个坐标间断面不会再被合理地放置。关键在于第二个坐标间断面要和第一个位于同一位置,OpticStudio有一个简单有效的方式保证这种情况:位置解(a position solve)。
位置解可以使被设置面和指定面具有特定间距。双击第二个坐标间断面前一面的厚度值(现在为-2mm),并在求解类型面板中选择:
注意位置解可以针对任何面进行设置,所以我们很容易回到第一个坐标间断面。然后设置第二个坐标间断面的厚度为拾取解,选择位置解的值,缩放因子为-1。现在改变两个坐标间断面内的玻璃间距。无论厚度输入什么值,第二个坐标间断面总是刚好和第一个坐标间断面在一起,所以可以轻松还原第一个坐标间断面做出的设置。
最后,设一个30度的Y倾斜和10度的X倾斜。注意第二个坐标间断面不再完美地还原第一个坐标间断面的设置。这是受倾斜顺序影响的。如果先关于X轴倾斜,在新的位置再关于Y轴倾斜,那么必须先还原关于Y轴的倾斜,再还原关于X轴的倾斜,才能回到原始坐标系。这就是级次(Order)标志的作用。
如果其值为0,那么坐标间断面会遵循先偏心,后倾斜的顺序。如果其值不是0,那么坐标间断面会遵循相反的顺序。这意味着一个单独的坐标间断面引入另一个位于同一位置的坐标间断面后,通过设置可以不改变后续元件的偏心和倾斜。
最后的系统是压缩包中的final system.zmx文件。结构如下,使用任意偏心和倾斜操作,可以看到第三个窗口的位置不受影响。注意隐藏了虚拟面。
难道没有更简单的办法了吗?有的!旋转/偏心元件(The Tilt/Decenter Elements Tool)。
这是最简单的旋转/偏心光学元件的办法。再次打开starting point.zmx文件,然后点击镜头数据编辑器菜单中的旋转/偏心元件图标,并输入你想要的旋转/偏心数据,例如:
注意这个工具做了我们手动做的一切!当你需要在系统中使用旋转或偏心时,强烈建议使用此工具。
总之,为了在序列模式光学系统中旋转/偏心光学元件:
1、通常需要一对坐标间断面,一个设置旋转/偏心参数,另一个进行还原
2、两个坐标间断面必须放在一起,使用位置解是最简单的方式
3、第二个坐标间断面的旋转和偏心要和第一个坐标间断面的值相反。可以轻松地通过拾取解解决
4、第二个坐标间断面使用的旋转和偏心顺序必须和第一个面使用的相反。可以使用级次标志实现
5、旋转/偏心元件是一步实现这一次最简单的方式,强烈推荐!
6、通过分类数据报告中的全局坐标部分检查结果以确保所有的面位于你希望的位置。
注:1.所有软件内操作名词按照zemax2016中文版给出