WaveDudeNext 提供了一个用于探索波光学的视觉平台,允许用户在画布上放置光源和光学部件,以观察波作为摆动的场和时间平均强度如何传播。该工具由 Alexander Gräf 开发,使研究人员和爱好者能够动态地在 2D 平面上看到衍射和干涉等复杂现象。

核心机制与可视化

该模拟器提供两种同时的波物理视图:展示波正负摆动的“场(field)”,以及代表波随时间平均能量的“强度(intensity)”。这种双重视图帮助用户区分波的瞬时状态及其累积能量分布。

WaveDudeNext 软件界面,显示项目树、对象属性以及并排显示的波场和强度视图。
WaveDudeNext 界面显示项目树、对象属性以及波场和强度的同时视图。github.com

这张图片展示了 WaveDudeNext 模拟器的主要界面,显示了项目管理工具和波物理的双视图可视化。

为了收集特定数据,该工具包含探针,可在特定点或沿一条线记录场或强度值。这些探针生成具有线性或对数轴的图表,并可叠加在模拟之上,从而允许精确测量特定坐标处的波行为。

“你将光源和光学部件放置在画布上,并在模拟运行的同时观察波如何传播,既作为场本身,也作为它们建立起来的强度。”

— GitHub - graealex/WaveDudeNext: Interactive 2D wave optics simulator. Turn any image into a refractive scene, add source

扩展的光学组件与场景创建

WaveDudeNext 引入了多种复杂的光学组件,可以使用屏幕上的手柄进行形状调整和移动。这些包括球形透镜、镜子和沿曲线分布的光纤,以及梯度折射率透镜、区域光刻板和布拉格反射器等特殊元件。

WaveDudeNext 模拟器的屏幕截图,显示一个带有时间轴和波传播视图的示例项目。
WaveDudeNext 模拟器的屏幕截图,演示了一个带有时间轴和波传播可视化的示例项目。github.com

这张截图提供了软件能力的具体示例,包括时间轴以及并排显示的场和强度视图。

一项独特的功能允许用户将任何图像转换为折射场景。通过使用特定的颜色映射——红色代表折射率,绿色代表发射源,蓝色代表吸收——软件将图像嵌入到项目中,并在文件编辑时自动刷新模拟。

性能与导出能力

当可用时,模拟运行在 GPU 上,否则回退到 CPU。为了确保在不同硬件上的可用性,软件会自动选择适合机器性能的预览质量,同时确保所有导出的文件保持全质量。

为了分析和演示,该工具支持广泛的导出格式,包括用于视频的 MP4、AVI 和 QuickTime,以及用于原始数据的 PNG、JPEG 和 OpenEXR。OpenEXR 文件专门设计用于携带原始值,以便在 NumPy、MATLAB 或 Octave 等外部工具中使用。

技术限制与要求

虽然该模拟器提供高保真度的预览,但内存占用可能很大;运行 1500 个全高清帧可能会占用 740 MB 到 11.6 GB 的空间。为了管理这一点,软件包含一个帧缓存,当运行超出可用内存时会溢出到磁盘。

该软件目前仅限于 Windows 10 和 11。虽然它提供了一个需要 .NET 10 Desktop Runtime 的“小型”可执行文件,但它还提供一个包含运行时的较大独立版本,以简化用户的安装过程。