
WaveDude Next 发布:Windows 上的 2D 波动光学模拟器
来源标题:WaveDude Next: 2D interactive 2D wave optics simulator
WaveDude Next 是一款面向 Windows 的 2D 波动光学模拟器,用户在画布上放置光源和光学元件后,可实时观察波的传播过程。模拟同时显示波场和强度,并支持探针记录、时间轴拖动、变速播放、循环片段,界面提供英语、德语、法语和荷兰语,含深色和浅色主题。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
WaveDude Next:二维交互式波动光学模拟器
一款面向 Windows 的二维波动光学模拟器。你把光源和光学元件放到画布上,就能在模拟运行时观察波如何传播——既能看到场本身,也能看到它们累积形成的强度。
每次运行都会呈现两幅画面:场,即波在正负之间摆动;强度,即波的能量随时间的平均值。探针可以在某一点或沿某条线记录场或强度,并在画面上方以图表显示,坐标轴可用线性或对数刻度。你可以把时间轴拖到任意一帧、以任意速度播放、循环某一段,并自行设定亮度,或让亮度随当前帧自适应。程序自带多种配色方案,你也可以自定义。界面提供英语、德语、法语和荷兰语,并有深色和浅色主题。
场景以像素为度量单位;光源的波长以像素表示,显示在其频率旁边。
光源可以是单个点,也可以是发射器阵列,阵列能形成光束和定向脉冲。它们可以连续发射,也可以脉冲式发射;每个发射器的随机偏移可使光源变为非相干。
光学元件可以放到画布上:球面透镜和反射镜,多边形、矩形、椭圆、三角形和自由轮廓,材质可选任意折射率的玻璃或作为反射镜;沿曲线延伸的光纤,带纤芯和包层;布拉格反射器、梯度折射率透镜、波带片,以及光学 XOR、AND 和 OR 门。元件可以带抗反射涂层和吸收。
场景也可以是一张来自绘图程序的图像,其中红色代表折射率,绿色代表发射器,蓝色代表吸收。图像嵌入在项目中,文件变化时会刷新。
一切都可以在画面上移动和塑形——通过控制柄和杠杆,或通过键入数值设定——并且你在编辑时画面会实时渲染:屏幕上的帧在每次改动后重新计算,随后不久运行会重新开始。撤销和重做没有次数限制,对象可以在项目之间复制。每个控件都可以通过键盘访问。
视频可输出为 MP4、MPEG-1、AVI 或 QuickTime;帧可输出为 PNG 或 JPEG,既可成序列也可单张;OpenEXR 文件则携带原始数值,供 NumPy、MATLAB、Octave 或 DJV 之类的 EXR 查看器使用。入点和出点设定范围,探针图表、探针标记和光源标记可以绘制到输出中。探针记录的数值可以导出为 CSV。
模拟在 GPU 上运行,没有合适 GPU 时则在 CPU 上运行。首次启动时,预览质量会根据机器自动选择,之后可随时通过“视图”菜单更改:对于较慢的机器,预览可以降低分辨率或减少帧数,而导出始终使用完整质量。在足够快的机器上,预览可以保留浮点值并对画面进行抖动,从而显示更精细的渐变。已完成的帧保留在内存中以便拖动查看,当一次运行超出内存时则写入磁盘。视这些设置而定,同样一次 1500 帧全高清的运行占用在 740 MB 到 11.6 GB 之间。
从“文件”菜单可以打开一组示例项目,从单个光源加一面镜子,到光纤、球透镜和逻辑门,其中也包括经典的 Wave Dude 2D 示例。
WaveDude Next 是 Jeroen Vleggaar(Huygens Optics)所开发 Wave Dude 2D 的后继版本。它可以直接打开 Wave Dude 2D 项目,并使用相同的数值方法进行计算,因此同一场景会得到相同的结果。WaveDude Next 的新特性包括:
下载。Releases 页面为 64 位 Windows 10 或 11 提供每个版本的两个 EXE:一个较小的版本需要 .NET 10 Desktop Runtime,如果缺失,Windows 会在首次启动时提示下载;另一个较大的版本内置运行时,无需安装任何东西。GPU 加速使用随显卡驱动提供的 OpenCL 驱动。MP4 导出使用 Windows Media Foundation,Windows N 版可通过 Media Feature Pack 获得该组件。
从源码构建。安装 .NET 10 SDK 后: git clone https://github.com/graealex/WaveDudeNext cd WaveDudeNext dotnet build -c Release WaveDudeNext.sln 程序位于 WaveDudeNext.WPF\bin\Release\net10.0-windows\WaveDudeNext.WPF.exe;也可以用 Visual Studio 打开解决方案。生成单个 EXE 的命令是 dotnet publish WaveDudeNext.WPF\WaveDudeNext.WPF.csproj -p:PublishProfile=SingleFile
文档 MANUAL.md 描述每个窗口、菜单和设置,并配有图片;程序在“帮助 > 手册”下显示同样的文本。
请在问题跟踪器上报告问题。报告模板要求填写“帮助 > 关于”中显示的版本、系统信息(同一对话框可一键复制到剪贴板),以及程序文件夹中的日志文件 WaveDudeNext.WPF.log。那里也有单独的功能请求模板。
WaveDude Next 是 Alexander Gräf 的自由软件,版权所有 (C) 2026,依据 GNU 通用公共许可证第 3 版或更高版本发布。参见 LICENSE.md。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。