zemax如何围绕空间中的任何点旋转任何元素

[复制链接]
唰唰冷呵映 发表于 2023-3-3 18:17:57 | 显示全部楼层 |阅读模式
本文章来源微信公众号光子位
OpticStudio中的坐标间断是非常灵活的。坐标间断可用于倾斜或偏心任何光学表面,或光学表面组,围绕任何轴点,而不干扰光学系统的其余部分。本文将利用坐标间断来重新定义顺序系统的光轴。
简介
坐标间断是一个非常通用的工具,可以用来倾斜或偏心一个或多个光学表面。它是非常有用的,能够选择光学表面将围绕什么点旋转或偏心,我们将在这篇文章中展示如何指定该点。首先,我们将展示如何在不干扰光学系统的其余部分的情况下绕透镜的前顶点倾斜。我们还将使用全局坐标来检查系统是否保持未受干扰。然后我们将展示如何围绕透镜中心旋转透镜,最后演示如何围绕空间中的任意点倾斜透镜。
以三透镜系统为例
为了演示这一点,我们将使用一个简单的三透镜系统。它由三个凸平单透镜组成。3D布局图如图1所示。我们要倾斜中间的透镜,即透镜2。点A和点B是轴上的固定点,在透镜2倾斜或偏心前标记它的顶点位置。

zemax如何围绕空间中的任何点旋转任何元素-1.jpg

图1: 三透镜系统的3D布局图

镜头编辑器参数如图2所示。物体处于无穷远处,系统的光阑位于透镜1之前。第6和7行是镜头2的前表面和后表面。为方便起见,我们将镜头之间的间距放置成单独的一行(5、8和11)。

zemax如何围绕空间中的任何点旋转任何元素-2.jpg

图2: 三透镜系统的镜头编辑器

绕前顶点旋转
我们可以通过在“lens 2 front”表面之前插入一个坐标间断面(Coordinate Break),轻松地使镜头2围绕其前顶点倾斜,如图3所示。插入的间断面变成了Surface 6。轴心点在a点,所以我们把这一行标为“pivot point at A”。

zemax如何围绕空间中的任何点旋转任何元素-3.jpg

图 3: 插入表面6使透镜绕点A旋转。

在本例中,我们通过设置Tilt About X: 5°来实现倾斜。图4显示了修改后的镜头编辑器,显示了Surface 6的5°倾斜。

zemax如何围绕空间中的任何点旋转任何元素-4.jpg

图 4: 镜头编辑器显示表面6旋转了5°

图5显示了更新后的3D布局图。透镜2围绕其前表面旋转了5°。

zemax如何围绕空间中的任何点旋转任何元素-5.jpg

图 5: 绕点A旋转5°后的3D布局图

不幸的是,系统的其余部分也倾斜了5度。这是因为我们在第6行倾斜了坐标系统,但是我们并没有对坐标系进行补偿。
校正坐标系
为了解决这个问题,并让系统的其余部分不受透镜2倾斜的影响,我们需要校正坐标系统。为了保持几何形状的正确性,在反转倾斜之前回到原轴心点A是很重要的。反转倾斜后,我们可以继续前进到光学系统的其余部分。
为此,我们需要在镜头编辑器中插入新的表面9和10,如图6所示。注意,表面9是一个坐标间断面。

zemax如何围绕空间中的任何点旋转任何元素-6.jpg

图 6: 表面9和10用来校正表面6的倾斜

第9行将我们返回到A的轴点(表面面6),并反转应用于那里的倾斜。我们可以使用一个坐标返回解决。在镜头数据编辑器中使用表面9属性应用坐标返回,如图7所示。在Tilt/Decenter...Coordinate Return选择Orientation, XYZ,设置To Surface: 6。

zemax如何围绕空间中的任何点旋转任何元素-7.jpg

图 7: 设置坐标返回

OpticStudio将自动计算并应用需要返回到Surface 6的倾斜、偏心和厚度,并将这些值应用到Surface 9。坐标返回值在每个值旁边用“R”表示(参见图8)。

zemax如何围绕空间中的任何点旋转任何元素-8.jpg

图 8: 坐标返回值都是自动计算得出并以”R“标注

表面9上的自动坐标返回将正确地“撤消”任何应用在表面6上的倾斜和偏心的组合。我们所展示的例子只使用了Tilt About X,但也可以使用Decenter X、Decenter Y、Tilt About X、Tilt About Y和Tilt About Z的任意组合。在所有情况下,表面9将自动返回到正确的坐标系统。
现在我们回到了点A,第10行只是使用透镜的厚度继续到点B,如图6所示。在图9所示的3D布局图中,透镜3和像平面现在处于正确的位置,没有受到透镜2倾斜的影响。

zemax如何围绕空间中的任何点旋转任何元素-9.jpg

图 9: ”逆旋转”坐标系统后的3D布局图

检查工作状态
布局图可以用来检查你得到的坐标是否近似正确。但在倾斜和偏心上的小错误在布局图中不容易发现。为了检查这些小错误,最好查看系统中每个元素的全局坐标。
全局坐标可以通过Analysis...Report...Prescription Data查看,如图10所示。

zemax如何围绕空间中的任何点旋转任何元素-10.jpg

图 10: 在Analysis...Reports...Prescription Data中可以找到全局坐标数据

在Settings下,选中除Global Vertex之外的所有选项,如图11所示。

zemax如何围绕空间中的任何点旋转任何元素-11.jpg

图 11: 用于生成系统中每个表面的全局坐标位置列表的设置

每个元素的全局顶点将在输出窗口中列出,如图12所示。我们可以检查数据,确认透镜2上的5度倾斜没有改变其余表面的位置或倾斜。
特别地,我们可以看到曲面10到15不包含任何倾斜,因为旋转矩阵只包含1和0。我们还可以看到透镜3和像平面的整体Y坐标为0,这表明这些表面正确地位于系统轴上。注意,10-16这个数量级的数字是计算误差,可以当作零来处理。此外,通过比较在表面6添加倾斜和偏心前和后的值我们可以验证每个表面的Z坐标。全局坐标检查证明透镜2已经正确地倾斜了5度,而没有干扰其他的光学系统。

zemax如何围绕空间中的任何点旋转任何元素-12.jpg

图 12: 系统中每个表面的全局坐标,用于检查透镜2上的倾斜不会影响光学系统的其余部分

绕透镜中心旋转
如果我们想让透镜围绕其中心的轴上点倾斜,我们可以使用类似于上面的方法;我们只需要移轴点,旋转,回到透镜的前表面。在透镜后,回到轴点,撤销倾斜和偏心,并继续进行其余的光学系统。
透镜系统的3D布置图如图13所示,透镜2在其中心(点A和点B的中间位置)绕轴上点倾斜5度。

zemax如何围绕空间中的任何点旋转任何元素-13.jpg

图 13: 3D布局图显示透镜2绕透镜中心的轴上点倾斜

用于这种情况的镜头编辑器如图14所示。使用了第6、7、10和11行。注意,第7行和第10行是坐标间断面。第6行和第11行只包含厚度值。注意,透镜2的总厚度为3毫米,如表面8的厚度参数所示。

zemax如何围绕空间中的任何点旋转任何元素-14.jpg

图 14:当镜头围绕其中心的轴上点倾斜时镜头编辑器中的系统配置

以下是倾斜发生的详细经过:
s 在第5行之后,我们到了A点(参见图13)。
s 表面6厚度为1.5毫米,是镜头厚度的一半。这将使我们沿着轴向前移动到透镜的中心,也就是我们想要的旋转轴点的位置。
s 第7行进行倾斜和偏心。我们使用了一个5度的倾斜X(参见图15)。
s 在第7行中应用倾斜和偏心后,应用厚度-1.5 mm。这将我们从枢轴点移动回镜头前面(即使镜头现在是倾斜和偏心)。
s 第8和9行在新的倾斜/偏心坐标系中构建镜头。第9行之后,我们就到了镜头的后面。
s 第10行使用一个坐标返回到表面7。这将我们返回到镜头中心的枢轴点,并“解除”倾斜和偏心。
s 第11行将我们沿着轴向前移动1.5毫米,达到透镜厚度的一半,到达点B。然后我们可以继续进行光学系统的其余部分。

zemax如何围绕空间中的任何点旋转任何元素-15.jpg

图 15: 倾斜和偏心应用在第7和第10行,透镜2倾斜5度,而不干扰其余的光学系统

绕空间中任意点旋转
上述情况是常见的、具体的情况。但坐标中断也可以用来建立一个关于空间中任何点的通用旋转轴。例如,假设我们想让镜头再次围绕x轴倾斜7度。但这一次,我们想倾斜的轴点,距离镜头中心20毫米,如图16所示。

zemax如何围绕空间中的任何点旋转任何元素-16.jpg

图 16: 绕透镜中心上20mm的点倾斜透镜2

用于这种情况的镜头编辑器如图17和18所示。在这里,我们使用了镜头前的三行和镜头后的三行,创建一个完全通用的旋转轴。尽管系统看起来很复杂,但大多数值都是自动填充的,我们只需要创建一次设置。然后,我们可以将这些线复制到任何光学元件上,并用它们在空间的任何地方放置一个旋转轴点。
镜头前的三行用于移动到旋转轴点,执行倾斜或偏心,然后返回。镜头后的三行也做了同样的事情,以撤销枢轴。通过这个设置,通过在第7行输入值,任何倾斜或偏心的组合都可以应用到透镜2。可以通过在第6行中输入值来选择任何旋转轴点。

zemax如何围绕空间中的任何点旋转任何元素-17.jpg

图 17: 镜头编辑器显示一个完全通用的旋转轴

我们也可以从配对的角度来思考透镜编辑器中发生了什么。第6和第8行带我们到旋转轴点。第11行和第13行也是这样,在镜头之后。第7行和第12行是一对,在镜头2上执行倾斜和偏心,然后在镜头后反转它们。

zemax如何围绕空间中的任何点旋转任何元素-18.jpg

图 18: 镜头编辑显示倾斜和偏心用于镜头2绕中心20毫米以上的点旋转7°

以下是设置的逐行分解
s 在第5行之后,我们在光学系统的轴上的A点(见图16)。
s 第6行应用从A到旋转轴点所需的厚度、倾斜和/或偏心。在这个例子中,我们沿着镜头中心的轴移动了1.5毫米,然后沿着Y轴移动了20毫米到达枢轴点。
s 第7行应用偏心和倾斜的镜头元素。在这个例子中,我们在Tilt About X中输入了一个7度的值。
s 第8行反转了用于到达枢轴点的运动。这就把我们带回到镜头的前面。这一行中的值是使用拾取程序自动计算的。所有拾取器都设置为第6行,比例因子为-1。还要注意,“Order”标志被设置为1。
s 第9和10行定义透镜 2。
s 第11行返回到轴心点。这一行中的值是通过设置坐标返回到第7行自动计算的(请参见图7设置坐标返回)。
s 第12行反转镜头2的倾斜和偏心。这些值是使用拾取器自动计算的。所有拾音器设置为7号线,比例因子为-1。注意,“Order”标志被设置为1。
s 第13行从枢轴点返回到点A。值是使用坐标返回到第6行自动计算的。
同样的方法可以用于任何光学元件,使元件相对于任何坐标系偏心和倾斜。
最后要注意的是,一旦离轴轴心点设置好了,我们就可以隐藏这些行。当我们不想经常改变枢轴点位置时,这简化了镜头编辑器。图19显示了简化的镜头编辑器。当右键单击行号时,“Hide Row”选项出现。

zemax如何围绕空间中的任何点旋转任何元素-19.jpg

图 19: 在镜头编辑器上隐藏行
回复

使用道具 举报

全部回复0 显示全部楼层
暂无回复,精彩从你开始!

快速回帖

您需要登录后才可以回帖 登录 | 立即注册 手机动态码快速登录

本版积分规则

关于楼主

新手上路
  • 主题

    3
  • 回答

    1
  • 积分

    2
联系客服 关注微信 访问手机版 返回顶部 返回列表