“二维双波源”与“相向波叠加”两个交互课件的开发与课堂使用
- 2026-11-06 10:03:31
把叠加拆开来看
——"二维双波源"与"相向波叠加"两个交互课件的开发与课
这是两篇里的第二篇。上一篇讲"一列波怎么传",这一篇讲"两列波碰到一起会怎样"。 |
顺着同样的思路,我要的还是同一种东西——不是一段动画,而是一组能被我当场改、当场核对的波场。 |
一、开发背景
干涉、驻波这一段的难点,比行波那一段更顽固。顽固在哪里,我想了很久,最后归成三条。
1. 图样是结果,过程拆不开
教材给的是一张稳定的干涉图样:明暗相间、加强减弱交替(就是上一篇的图 1)。学生看得懂,也背得下"路程差是波长整数倍就加强"。
可一旦问他"屏幕上这一点为什么加强",答不上来。
原因不难说清:图样是结果,叠加是过程。而过程中间那一步——两列波各自长什么样——在真实水波槽里根本拆不开。两个振源一开,你看到的就是合成结果;物理上你没办法"关掉其中一个"再对比,因为关掉之后就已经是另一个实验了。
所以这一篇要解决的第一个问题,不是"怎么把图样画得漂亮",而是:能不能把"合"之前的那一步,真的摆出来。
2. 判据容易被教反
"路程差是波长的整数倍则加强",这话有前提:两个同频、同相的相干源,看的是稳定之后的图样。
可屏幕上的任何一瞬间,两个波的瞬时位移都可能同向或者反向。这两件事根本不是一回事。
学生一旦把"此瞬反向"当成"此处减弱",后面所有关于波节波腹的判断都会跟着错。
这一条比第一条更麻烦。第一条是"没看见",第二条是"看见了错的东西"——而错的东西,往往比没有更难忘。
3. 驻波只能背,没见过它长出来
教材在驻波这里通常是直接给结论:波节、波腹、相邻波节间距 λ/2。
学生没见过它怎么长出来,所以只能背。背下来的结论,遇到"频率加倍,波节间距怎么变"这种问题就会失效——因为他手里没有可数的东西。
这三个卡点,决定了后面四个页面的全部设计。
二、开发过程
1. 第一个决定:三个波场并排
既然问题在"拆不开",那第一个决定就是把"合"之前的那一步直接摆出来。
界面上一开始就是三个并列的二维波场:左边是波源 A 单独的波场,中间是波源 B 单独的波场,右边是两者相加的合成波场。三个场同一时刻、同一坐标、同一尺寸。
这里有一个必须提前想清楚的细节:色阶。
如果三个面板各自自动缩放,学生会看到三张"都差不多"的图,叠加这件事就白做了。所以色阶必须锁死,三个场共用一套映射;合成场超出量程时,不是"自动缩小",而是让颜色直接饱和。
饱和本身就是一个证据——"这里振幅更大"。
默认的场是 8 m 见方,波速 2 m/s,振幅0.2 m,波长 2 m。选这个尺寸不是随便定的:边长是波长的四倍,两列圆波各自能展开两三个波前,学生才看得出"这是圆波,不是直波"。
图1 三个并列波场:波源A、波源B与合成波场,共用同一时刻与同一色阶
Fig. 1 Three parallel fields: source A, source B and their superposition, sharing one instant and one colour scale
2. 第二个决定:探针要能读出两个分量
光看颜色,仍然是"看结果"。所以必须有一个能读数的东西。
在任意位置放一枚探针,右上角同时给出三个数:波源 A 的位移、波源 B 的位移、两者的合成位移。另外还有一行"合成残差"——两个分量之和与合成场实际读数之差。
这个数在数学上恒等于零,按说没有信息量。
但它是一个可以核对的承诺。学生随时可以指着屏幕问:你说是相加,那你加给我看。工具必须当场把三个数摆出来,加不出来就是错的。
这种"不敢糊弄"的设计,比任何一句"模型经过验证"都更让人放心。
屏幕下方还有三条 y—t 曲线:A 的、B 的、合成的,共用同一条当前时刻竖线。学生能亲眼看到"两个正弦相加,结果还是正弦,但振幅变了"。
也能看到在某些时刻合成曲线几乎压成一条直线——那不是"波消失了",是两列波此刻正好反相。
3. 第三个决定:把"加强/减弱"的判据说清楚
这是整个课件里我最在意的一处,因为它最容易被教错,也最容易被工具带偏。
教材那句"路程差是波长的整数倍则加强",说的是稳定图样。而界面上任何一瞬间,两个分量都可能同向或反向。这两件事必须分开标,否则学生学到的就是错的。
所以标记分成了两种,而且界面上写明了各自的意思:
一种是相位条件,按同频同相源的路程差画出加强、减弱的参考线,这是稳定判据;
另一种是瞬时同向或瞬时反向,只描述这一瞬间两个分量的符号,绝不代表波腹波节。
课上我专门挖过这个坑:把显示切到"瞬时反向",请一个学生指着一条紫色带说"这里是减弱",然后让他慢慢拖时间轴。
紫带会动。
会动,就不是波节。这个动作只需要十秒,但比讲十分钟都管用。
图2 合成波场中的瞬时同向(实点)与瞬时反向(空圈)标记,标记随时刻移动,不代表固定波节
Fig. 2 Instantaneous same-sign (filled dots) and opposite-sign (open circles) marks in the superposed field; the marks move with time and are not fixed nodes
4. 把驻波"长出来"
第四个页面处理两列相向传播的相干波。
课件给了两个初态。一个是"两端同时启振":两列波从零开始,各自从一端向中间推进,第一次相遇,然后图样慢慢稳定下来,不再向前跑。另一个是"预置完整双波场",直接给出稳定态,用于对照。
学生在同一个界面里切换这两个初态,看到的其实是"过程"和"结果"的对照。
分波与合波还能分开看,也能叠在一起看。分开时,两列行波各自向右、向左跑,跑得很清楚;合起来,看到的是"不跑"的图样。
这个对比一摆出来,结论几乎不用我讲:驻波不是"不振动",是两个行波的合成,某些点恰好总抵消,某些点恰好总加强。
图3 两列相向传播的相干波在 t = 1.27 s 的相遇区与合成波形
Fig. 3 Two coherent counter-propagating waves at t = 1.27 s: the meeting region and the resultant profile
波源位置、频率、振幅、初相都可以改,改完从 t = 0 重算。所以"频率加倍,波节间距怎么变"这种问题,最好的讲法是不讲,让他自己改两次,然后数一数。
5. 数值上做了什么,以及为什么不做"水波"
二维场用的是线性标量波方程,显式差分推进。有三条硬约束,都写在界面上。
第一,每个波长至少要有十个网格点,否则波形会被网格"吃掉",看起来像在抖。所以界面直接限制了最低波速——8 m 见方的场里,波速不能低于 0.833 m/s 左右,低于这个值就提示"每波长不足十个网格"。
第二,边界是"吸收区加固定外壁"。四周有一圈吸收区,用来压掉不该出现的反射干扰;最外层是固定外壁,保留真实的反射。这两层的区别,学生点开"实验环境与边界"就能看到。
第三,时间步长按稳定性条件自动收缩,源频率越高,步长越小。这件事学生看不到,但它决定了画面会不会在某一刻突然炸掉。
那为什么不做成上一篇图 1 那样真实的水波?
因为水面波是重力与表面张力共同作用的色散波,还带非线性、带粘性衰减。课堂上要的是"叠加"这一个机制;把色散、非线性、衰减全堆进去,反而看不清想看的那个东西。
这是一次有意的简化,而且简化的内容写在了页面上,学生可以点开读——简化可以,隐瞒不行。
6. 三个最省事的做法,恰好都会教错
上一篇写过和 AI 一起工作的方式:我出判据,它出实现。
这一篇想记另一件事。有四个页面做下来,我发现有三处地方,"最省事"的做法和"教得对"的做法正好相反。这三处都不是靠聪明解决的,是靠前面那几条验收线挡住的。
第一个是色阶。 三个波场并排,最自然的做法是每个面板各自自适应缩放——单看每一个都清晰漂亮。但三个都"自动调到好看",学生看到的就是三张差不多的图,叠加这件事白做了。
所以色阶必须锁死,共用一套映射,超出量程就让颜色饱和。这一条不写进界面,前面所有的设计都白费。
第二个是残差。 那一行"合成残差",数学上恒等于零。做界面的时候,砍掉它能让右上角干净不少。
但砍掉它的同时,也砍掉了学生当场核对"你说是相加,那你加给我看"的可能。所以这个看起来最没用的数,恰恰是整块界面上最硬的那一个。
第三个是网格。 二维场为了跑得流畅,最容易的做法是放宽网格、调松边界吸收。画面会更顺,代价是波形被网格吃掉、边界冒出本来不该有的反射。
学生看到的"物理现象",有一部分会变成数值的假象。所以网格下限和边界分层必须写在界面上,宁可让他看见"每波长不足十个网格"的提示。
三次的共同点是一样的:默认做法优化的目标是"看起来对",而课堂需要的是"经得起问"。
这两件事大多数时候一致,在关键的几处相反。所以验收线不能只写在需求里,得钉在界面上——色阶共用、残差留着、网格提示出来,都是把这个"相反"钉死。
三、课堂使用:三个追问
复习课上,这两个页面一般是用三个追问串起来的,每个追问都要求学生在屏幕上取证,不许凭记忆回答。
追问一: 把探针放在中央对称轴上,问这一点是加强还是减弱。
同相源、路程差为零,答案是加强。可每次都有学生答"减弱",理由是"两条波在这里互相抵消"。
这时候不解释,让他把三个读数念出来:A 分量是正的,B 分量也是正的,合成更大。他自己就改口了。
追问二: 把 B 源的初相改成 π,再问中央那一点现在是什么。
这是相干条件最直接的现场演示——同样的两个源,只差一个相位,中央从最强变成最弱。学生对"相干"二字的理解,往往就是在这一刻成形的。
追问三: 把频率加倍,问加强点的位置变了吗、条纹变密了吗。
同相源的中央轴不动,但条纹变密。让他自己数一遍,比给公式可靠。
三个追问做完,教材那张干涉图就可以重新看一遍了。这时候学生看到的已经不是"明暗相间",而是"每一条亮纹背后都有一组固定的路程差"。
四、反思与边界
第一,叠加原理的正确性并不依赖工具。
工具真正的贡献是"看得见分量"——把"合"之前的那一步摆到学生眼前。凡是能被拆开的东西,学生才有可能真正相信它是加起来的。
第二,工具的可信度来自可核对。
残差、读数、曲线三者互证,学生随时可以抽查。这一点比界面上写十句"本模型采用严格求解"都有效,因为前者是承诺,后者是宣传。
第三,边界同样要讲。
这一版是线性、无衰减、二维标量的波场,它不是水波,也不能拿来解释水波为什么长成那样。用它讲叠加是对的,用它讲水面波纹的色散是错的。
第四,关于"对齐颗粒度"。
上一篇说,解法是把改参数的权利交回使用者。这一篇还想补一句:
当设计者与使用者是同一个人时,偏差确实消失了,但代价是工具的能力上限就等于我的物理理解上限。我没有想清楚的地方,工具一定也糊涂。
所以这类工具做得越深,越逼着我把物理重新想一遍——这大概是它最意外的收益。