Zemax非序列模式基础:界面布局、非序列编辑器、物体树与探测器概念
杂散光分析的核心战场并非序列模式下的透镜数据编辑器,而是Zemax的非序列(Non-Sequential)模式。在序列模式中,光线按照用户定义的表面顺序依次传播;而在非序列模式中,光线在三维空间中与物体(Object)发生物理交互,遵循反射、折射、散射和吸收定律,光线可以任意顺序击中物体,甚至多次击中同一物体。这种自由度是杂散光仿真成为可能的前提。本章将系统拆解非序列模式的界面布局、非序列编辑器(NSC Editor)的核心操作、物体树(Object Tree)的层级逻辑,以及探测器(Detector)的关键概念,为后续的杂散光路径分析打下坚实基础。
上图展示了非序列模式四大核心模块之间的数据流关系。界面布局是操作入口,NSC编辑器是定义物体属性的核心表格,物体树负责管理物体的层级与组合关系,而探测器则是光线追迹的终点和数据采集窗口。理解这四者的协作逻辑,是掌握非序列仿真流程的第一步。
2.1 核心原理:非序列模式与序列模式的本质差异
在序列模式中,光线严格按照表面顺序(Surface by Surface)传播,每个表面被击中一次,且顺序固定。这种模式适用于共轴光学系统的像差优化。然而,杂散光分析面对的是非共轴、多次反射、散射、衍射等复杂路径,光线可能从任意方向入射到任意物体表面,甚至多次反弹。非序列模式采用光线追迹引擎,在三维空间中根据物体的几何形状、材料属性和表面特性,实时计算光线与物体的交点,并依据物理定律决定光线的下一状态(透射、反射、吸收或散射)。
非序列模式的核心优势在于:
- 任意光线路径:光线可以击中任何物体,顺序不受限制,支持多次反射和散射。
- 真实物理模型:支持BRDF(双向反射分布函数)、BSDF(双向散射分布函数)等散射模型,模拟粗糙表面的杂散光。
- 三维实体建模:物体可以是标准几何体(球、柱、矩形)、CAD导入的复杂实体,甚至布尔运算组合体。
- 探测器直接响应:探测器作为物体的一种,直接接收光线并生成辐照度图、强度图等分析数据。
关键认知:序列模式是“设计”工具,非序列模式是“分析”工具。杂散光分析必须在非序列模式下进行,因为只有非序列模式才能模拟光线在机械结构、镜筒内壁、镜片边缘等非光学表面的多次反射和散射路径。
2.2 界面布局:从序列到非序列的切换与导航
Zemax的界面布局在序列与非序列模式之间切换非常直观。在菜单栏的“File”或“System”选项中选择“Non-Sequential Mode”,即可进入非序列环境。界面主要分为以下几个区域:
| 界面区域 | 功能说明 | 杂散光分析中的典型用途 |
|---|---|---|
| 菜单栏/工具栏 | 模式切换、文件操作、追迹控制 | 启动光线追迹、设置追迹参数(如光线数、波长) |
| 导航窗格(Project Explorer) | 显示系统树、物体树、探测器列表 | 快速定位物体、查看探测器数据、管理多层结构 |
| 3D视图窗口 | 三维可视化显示物体和光线路径 | 直观检查光线与物体的交点,发现意外反射路径 |
| 文本/表格窗口 | 显示追迹日志、物体数据、探测器统计 | 查看光线数量、能量损失、探测器总功率 |
| 状态栏 | 显示追迹进度、警告信息 | 监控追迹是否完成、是否有光线“逃逸”或“丢失” |
在杂散光分析中,3D视图窗口是最重要的可视化工具。建议开启“Shaded Model”显示模式,以便更真实地观察物体的表面材质和光线交互。同时,在“Ray Tracing”选项中,可以开启“Split Rays”和“Scatter Rays”功能,以追踪分裂光线和散射光线,这是杂散光分析的关键设置。
2.3 非序列编辑器(NSC Editor):物体定义的“控制台”
非序列编辑器是定义所有物体属性的核心表格,每一行代表一个物体,每一列代表物体的一个属性。与序列模式的透镜数据编辑器不同,NSC Editor的列数更多,且属性更加灵活。以下是关键列的解释:
- Object Type:物体类型,包括标准几何体(Standard Lens、Rectangle、Cylinder、Sphere等)、光源(Source Ray、Source File等)、探测器(Detector Rectangle、Detector Color等)、机械件(CAD Part、Torus等)以及布尔运算组(Boolean)。
- Comment:注释列,建议为每个物体添加清晰的中文或英文注释,便于后期维护。
- Ref Object:参考物体,定义当前物体的位置参考系。默认是全局坐标(Global),也可以参考其他物体,实现相对定位。
- X/Y/Z Position:物体在参考坐标系中的位置偏移。
- Tilt About X/Y/Z:物体绕X、Y、Z轴的倾斜角度(度)。
- Material:材料属性,可以是光学玻璃(如BK7)、金属(如Aluminum)、或自定义材料。对于杂散光分析,材料的反射率和吸收率至关重要。
- Coat/Scatter:镀膜和散射模型。镀膜定义表面的反射/透射特性,散射模型定义表面的粗糙度引起的散射分布。这是杂散光分析的核心设置项。
操作建议:在定义物体时,务必先设置“Ref Object”为全局坐标,再通过X/Y/Z Position和Tilt调整位置。对于复杂系统,建议使用“Boolean”组将多个物体组合为一个整体,便于统一移动和复制。
2.4 物体树(Object Tree):层级管理与布尔运算
物体树是Zemax非序列模式中管理物体层级结构的核心工具。它位于导航窗格中,以树状结构显示所有物体。物体树不仅用于显示,还支持以下关键操作:
- 组(Group):将多个物体归入一个组,便于整体显示/隐藏、追迹/不追迹。在杂散光分析中,可以将光学件、机械件、光源、探测器分别分组,便于管理。
- 布尔运算组(Boolean):通过布尔运算(并集、交集、差集)将多个物体组合成一个新的实体。例如,用差集在镜筒上打孔,或创建带有中心孔的反射镜。
- 阵列(Array):创建物体的线性或矩形阵列,例如微透镜阵列或散热孔阵列。
- 派生物体(Derived):基于已有物体创建副本,并可以独立修改属性。
物体树的层级关系直接影响光线追迹的效率。建议将不参与追迹的物体(如参考线、辅助图形)设置为“Ignore”,以减少计算量。同时,利用“Object Tree”的右键菜单,可以快速查看物体的属性、复制物体、或删除物体。
2.5 探测器概念:从光线到数据的转换
探测器是非序列模式中用于接收光线并生成分析数据的物体。它本身不参与光线交互,而是记录到达其表面的光线能量分布。探测器类型多样,最常用的是Detector Rectangle(矩形探测器)和Detector Color(彩色探测器)。
探测器的主要属性包括:
- 像素数(# Pixels):定义探测器的分辨率,例如128×128像素。像素数越高,空间分辨率越高,但计算量也越大。
- 数据格式(Data Type):包括辐照度(Irradiance)、强度(Intensity)、相干辐照度(Coherent Irradiance)等。杂散光分析通常使用辐照度。
- 颜色/灰度(Color/Grayscale):定义显示方式,伪彩色便于观察能量分布。
- 光线分裂(Split Rays):允许探测器接收分裂光线,即光线在到达探测器之前已经经历了多次反射/折射。
- 散射光线(Scatter Rays):允许探测器接收散射光线,这是杂散光分析的关键。
常见误区:初学者常将探测器放置在光学系统的焦平面上,但杂散光分析中,探测器应放置在需要评估杂散光影响的特定位置,例如像面、传感器表面、或关键机械结构表面。同时,务必开启“Split Rays”和“Scatter Rays”,否则探测器只会记录直接到达的光线,遗漏杂散光路径。
2.6 实战场景:搭建一个简单的杂散光分析模型
假设我们需要分析一个卡塞格林望远镜系统中,次镜支架的散射光对像面探测器的影响。这是一个典型的杂散光分析场景,涉及机械结构(支架)的散射。
步骤1:定义光源。在NSC Editor中添加一个“Source Ray”物体,设置光线方向为沿Z轴正方向,波长为550nm,光线数为10000条。
步骤2:定义主镜和次镜。使用“Standard Lens”或“Torus”定义主镜和次镜的反射面,材料设置为“Mirror”,镀膜设置为“Ideal Mirror”(理想反射)。
步骤3:定义次镜支架。使用“Rectangle”或“CAD Part”定义支架的几何形状,材料设置为“Aluminum”,散射模型设置为“Lambertian”(朗伯散射),散射系数设置为0.1(表示10%的入射光被散射)。
步骤4:定义探测器。在像面位置添加“Detector Rectangle”,设置像素数为256×256,数据格式为“Irradiance”,开启“Split Rays”和“Scatter Rays”。
步骤5:执行光线追迹。在“Analysis”菜单中选择“Ray Trace”,设置追迹光线数为10000,点击“Trace”。追迹完成后,打开探测器查看器,观察辐照度分布。
结果分析:如果支架的散射光显著,探测器图像上会出现非预期的光斑或背景噪声。通过对比开启/关闭散射模型的结果,可以量化支架散射对像面杂散光的影响。
复盘经验:在实际项目中,支架的散射模型需要根据表面粗糙度实测数据来设定,不能随意使用朗伯散射。同时,建议在支架表面添加“Black Paint”镀膜(高吸收率),以降低散射影响。通过这种“建模-追迹-分析-优化”的闭环流程,可以系统性地抑制杂散光。
2.7 常见误区与总结复盘
在非序列模式的学习和实践中,以下误区需要特别警惕:
- 误区1:将序列模式的设计直接导入非序列模式。序列模式中的表面定义不能直接转换为非序列物体,需要重新建模。
- 误区2:忽略物体的“Ignore”属性。未设置为“Ignore”的辅助物体(如坐标轴、参考线)会参与追迹,导致计算变慢甚至错误。
- 误区3:探测器像素数设置过高。像素数过高会导致内存溢出和计算时间过长,应根据实际需求合理设置。
- 误区4:忘记开启散射光线。如果探测器未开启“Scatter Rays”,散射光不会被记录,杂散光分析将失去意义。
总结:非序列模式是杂散光分析的基础环境,其界面布局、NSC编辑器、物体树和探测器构成了完整的仿真工作流。掌握这些基础概念后,下一步将深入探讨光源类型的选择与设置,这是控制仿真输入条件的关键环节。