光线追迹教程(第 B 部分):编辑光源
在 第 A 部分 中,你加载了 薄膜反射 光线追迹演示,并查看了光线如何从由 AFM 图像生成的粗糙表面反射。在本部分中,你将学习如何 编辑光源:更改它们的位置、朝向与发射 模式,然后重新运行仿真以观察反射光线如何响应。
步骤 1:打开光源编辑器
从你在第 A 部分创建的仿真开始。旋转并缩放视图,以便 你能清楚地看到其中一个绿色的光源标记。然后在 光源上右键单击,并从上下文菜单中选择 编辑对象,如 ?? 所示。 这将打开光源编辑器窗口。
在此你控制位置(偏移)、物理尺寸(xyz 尺寸) 以及发射面片的旋转。当旋转为零时,dx 和 dy 定义一个与 x、y 轴对齐的平面矩形光源。
步骤 2:设置位置与尺寸(对象选项卡)
光源编辑器会在 对象 选项卡上打开 (??)。 该选项卡在 Optical Workbench 的许多对象类型中通用。它控制:
- 偏移(x、y、z):对象在 3D 空间中的位置。
- xyz 尺寸(dx、dy、dz):对象沿各轴的物理尺寸。
- 旋转:绕 x、y、z 轴的旋转。
- 对象数量:在 x、y、z 方向创建的对象副本数量。
对于我们的光源,重要的数值是 dx 和 dy, 它们指定发射区域在 x–y 平面内的宽度与高度。当旋转 设为零时,这对应于一个与网格对齐的平面矩形面片。 该面片随后作为起始区域,用于发射单独的光束。
现在先保持位置与尺寸不变。在教程的后续部分,你可以 试着将光源做大或做小,或使用 对象数量 字段创建多个光源。
步骤 3:控制发射角(配置选项卡)
接着,点击编辑器的 配置 选项卡。它会显示一些设置, 用于决定光源如何发光,如 ?? 所示。
关键字段包括:
-
Illuminate from:在本示例中设置为
xyz,表示 光源位于 3D 空间中,并可通过 对象 选项卡上的 偏移 条目自由移动。 - Rotate Theta(θ):极角,用于设置光束的主指向 方向,以正 z 轴为参考测量。
- Rotate Phi(φ):绕 z 轴的方位角,在 x–y 平面内测量。
- −Δθ、+Δθ 以及 −Δφ、+Δφ:围绕中心 (θ、φ)方向的角度范围,光源会在该范围内扫描。在此演示中 θ 为一步而 φ 为十步,因此光束在方位方向上扫出一个扇形。
-
Number of beams x / y:在
发射面片的 x 与 y 方向上发射多少条独立光线。例如,
Number of beams x = 30表示沿 x 轴有 30 个不同的发射位置。
在所示配置中,θ 设为 0°,因此主发射方向为水平, 而 φ = 30° 表示光束扇形在 x–y 平面内发生旋转。φ 的扫描步进 会使光线在探测器上横向扫动。
步骤 4:在 3D 视图中理解 θ 与 φ
你可能会问:我如何知道 θ 与 φ 指向哪里?为此, Optical Workbench 会在仿真窗口的一个角落显示小的方向标记, 如 ?? 所示。 它们显示 x、y、z 轴以及 θ 与 φ 的定义。
如果这些标记不易立即看到,稍微旋转或缩放视图;它们始终 位于 3D 场景的某个角落附近。
步骤 5:让光束指向下方
作为练习,你现在将重新定向光源,使其 向下 照射到粗糙薄膜上,而不是侧向入射。
- 在 配置 选项卡中,调整 Rotate Theta 与 Rotate Phi,使主光束方向指向薄膜。
- 暂时保持范围(−Δθ、+Δθ、−Δφ、+Δφ)以及光束数量不变。
- 点击光源编辑器工具栏中的 Rebuild 以应用更改。
- 关闭编辑器并点击 运行仿真(或按 F9) 重新运行光线追迹。
你应当看到光线现在从上方入射并打到表面上,而不是从侧面扫入。 将新的光线分布与原始配置对比,是建立对 θ 与 φ 角度直觉的好方法 。
步骤 6:在 3D 中移动光源
当你得到一个向下指向的光源后,你也可以横向移动它,以照亮粗糙薄膜的不同 区域。在主 3D 视图中选中光源,并用左键拖拽到表面中央附近的新位置。示例见 ??。
移动光源后,再次运行仿真并观察探测器上的光线分布 如何变化。你也可以像第 A 部分所述那样,在 输出 选项卡中查看更新后的探测器效率曲线。
关于光学光源的最后说明
光源发射的波长数量可在 光学 功能区中通过 光学网格编辑器 来控制 (??)。 该网格定义了光线追迹计算期间使用的光谱采样,并会 直接影响波长相关图(例如反射或 透射光谱)的精度以及整体仿真速度。
一般而言,在搭建仿真时最好先使用 较少的波长数 。大约 8 个波长 的粗网格通常足以 用于定位光源、检查几何结构,并验证光线 的行为是否符合预期。一旦你确信配置正确,就可以增加 网格密度到 40–50 个波长,以获得平滑、高质量的光学 光谱。
每个波长都会在独立的 CPU 线程上分别仿真。这意味着如果你的 计算机有很多核心,OghmaNano 将会几乎线性地随波长数扩展: 可用线程越多,多波长仿真就越快。相反,在只有少量核心的机器上选择 过于精细的网格可能会显著降低仿真速度。因此,选择合适的波长数量 需要在精度与速度之间取得平衡。
👉 下一步:继续阅读 第 C 部分 以探索更高级的分析,包括角度分辨统计以及将数据导出用于外部绘图。