🌊波动水槽模拟器 - 单缝双缝干涉、衍射、折射、多普勒、驻波
这是一个在浏览器里实时求解二维波动方程的虚拟水槽。可以选择单缝、双缝、光栅、两点波源、斜入浅水区的折射、浅水透镜聚焦、全反射、矩形水池驻波、运动波源和抛物面反射等实验,也可以用手指或鼠标直接画墙、擦墙、放波源。四周是吸收边界,切换到时间平均强度视图能清楚看到干涉的节线,探针会画出某一点水面高度随时间的变化。
免费 · 无需注册 · 浏览器本地处理最后更新:
正在加载工具...
如何使用波动水槽模拟器
- 1从“实验”里选一个预设,调整频率、缝宽、间距或浅水区折射率
- 2观察实时波面,或切换到时间平均强度看干涉条纹
- 3选择画墙、擦除、加波源或移动探针工具,在水槽里拖动或点按
- 4用暂停、单步、重置控制模拟,对照上方的理论值(如 sinθ = λ/d)
常见问题
- 为什么双缝后面会出现一条条不动的平静线?
- 两条缝各自成为新的波源(惠更斯原理),它们发出的波在水面上叠加。到两缝路程差为半波长奇数倍的地方,波峰总是遇到波谷,水面几乎不动,这就是节线;路程差为整数个波长的地方加强。相邻加强方向满足 sinθ = λ/d,缝间距 d 越小、波长越长,条纹张得越开。切到“时间平均强度”显示更容易看出来。
- 缝宽对衍射有什么影响?
- 缝宽 a 与波长接近或更小时,波穿过后几乎向所有方向扩散;缝比波长大得多时,波基本直线通过,只在边缘有一点弯曲。第一暗纹在 sinθ = λ/a 处,a < λ 时就没有暗纹了。这也是为什么声波(波长以米计)能绕过门框,而光(波长不到 1 微米)看起来走直线。
- 水波为什么会在浅水区折射?
- 浅水中波速约为 √(gh),水越浅波越慢。波从深水斜着进入浅水时,先进入的部分先减速,波面就向法线方向偏折,遵守与光一样的斯涅尔定律 sinθ₁/sinθ₂ = c₁/c₂。反过来从慢区射向快区、入射角大于临界角时,波会全部反射回来,即全反射。
- 马赫锥是怎么形成的?
- 波源移动速度 v 超过波速 c 时,它总是跑在自己发出的波前面,各个时刻发出的圆形波前包络成一个锥形(二维中是 V 字形),半顶角满足 sinα = c/v。船尾的开尔文波浪、超音速飞机的激波都是同一原理。v < c 时则是普通的多普勒效应:前方波长变短、后方变长。
- 这个模拟用了什么数值方法?
- 水面高度 u 满足二维波动方程 ∂²u/∂t² = c²∇²u − γ∂u/∂t。工具用显式中心差分(FDTD 蛙跳格式)在网格上逐步推进,Courant 数取 0.5 保证稳定;墙是反射边界(∂u/∂n = 0),四周用一阶 Mur 吸收边界模拟开阔水面。波源以高斯小区域叠加驱动,采用包络时间导数的形式避免留下直流偏移。
功能特点
- FDTD 蛙跳格式求解二维波动方程,Mur 吸收边界加薄海绵层
- 11 个经典实验预设,附带对应的理论公式与数值
- 画墙、擦墙、增删波源、移动探针,全部支持触屏
- 浅水区(低波速)实现折射、透镜聚焦和全反射
- 运动波源演示多普勒效应与超音速马赫锥
- 按屏幕宽度和实际帧率自动调整网格,手机上也流畅