光线追踪教程(第 C 部分):移动探测器
在前面的部分中,你编辑了棱镜和透镜来构建一个简单的光学系统。在本部分中 你将把重点放在紫色的 探测器 上。OghmaNano 中的探测器被定义为平面 (有点像 CCD 传感器):当光线击中该平面时,会被记录到探测器输出文件中。
步骤 1:打开探测器编辑器
从你在第 B 部分结束时的场景开始(透镜、棱镜、光阑和探测器)。 找到紫色探测器平面。右键点击它,并从 上下文菜单中选择 Edit object,如 ?? 所示。 这会打开通用对象编辑器窗口,如 ?? 所示。
dx、dy)、旋转以及网格点数量(探测器像素)。
探测器被定义为具有物理尺寸的矩形平面:
- dx – x 方向尺寸(宽度),
- dy – y 方向尺寸(高度)。
在 ?? 中,探测器
设置为 dx = 5.0e-2 m 和 dy = 5.0e-2 m,即一个
5 cm × 5 cm 传感器。
在编辑器底部你还会看到:
- Mesh points x = 20
- Mesh points y = 20
这意味着探测器被划分为 20 × 20 的网格分箱——实际上是 400 个 粗略的“CCD 像素”。这比真实相机的分辨率低得多,但在光学系统中追踪光线时通常已足够, 并能使仿真时间保持在合理范围内。如果你需要更精细的光束分布, 之后也可以随时提高这些数值。
步骤 2:旋转探测器平面
在对象编辑器中你还可以看到探测器的朝向。在该示例中,探测器 已经绕 y 轴 旋转了 90°,以便面向入射光线。 为了理解旋转如何工作,请按如下方式更改设置:
- 将 Rotate x-axis 设置为
90.0度。 - 将 Rotate y-axis 设置为
90.0度。
探测器在内部被定义为 x–y 平面中的一个平面。将其绕 x 与 y 轴都旋转 90° 会把它从近水平的朝向翻转为场景中清晰的竖直平面。 关闭编辑器并检查探测器现在在 3D 窗口中是否呈直立状态。
步骤 3:将探测器移到更靠近光阑的位置
接下来,移动探测器,使其位于光阑正后方。这将为你提供更清晰的光束分布, 并使光学装置更紧凑。
- 在主 Optical Workbench 窗口中,直接用左键点击紫色探测器平面。
- 将其拖向光阑表面。确保鼠标位于探测器本体之上 (而不是它后面的空白空间),以便选中正确的对象。
- 如果探测器与棱镜或其他对象发生碰撞而无法继续移动, 请在拖动时按住 Shift。这会临时覆盖碰撞 检测,并允许你将探测器穿过其他网格移动。
将探测器大致放置在 ?? 所示的位置。
步骤 4:整理场景(可选)
为了简化游乐场,你可以移除其中一个棱镜。右键点击棱镜并 选择 Delete。此时你应当只剩下一个包含以下内容的场景:
- 一个透镜,
- 一个光阑板,
- 一个探测器平面。
再次运行仿真。将探测器放置在靠近光阑的位置后,光束分布会更清晰, 并且更容易看出透镜如何将光线聚焦到探测器区域。
👉 下一步: 继续阅读 第 D 部分,学习如何向场景中插入新对象。