APP下载

波干涉现象的三维图像仿真设计

2012-10-12邝雄

关键词:波源源点控件

邝雄

(海南师范大学 物理与电子工程学院,海南 海口 571158)

普通物理学中,机械波占有重要的内容,而波的干涉现象又是机械波性质的重要反映.特别是讨论两频率相同、振动方向平行、相位相同或相位差恒定的两列波相遇时,使某些地方振动始终加强,而另一些地方振动始终减弱的波的干涉现象,是体现波动性的重要特征.观察两相干波干涉现象,一般是以水平面中两点波源的相干实例来实现的,这样的两点波源的相干实例,难以实现两点波源在相位与频率改变时的干涉现象情况观察,有局限性.

现在,可以利用计算机编程,通过程序设计方式来实现同频率、同振动方向的两点波源的相干情况进行仿真显示,并能实现频率与初相变化时的相干波的三维图象显示.这样的仿真可以很好地对两点波源干涉的整体情况进行观察.下面就讨论如何仿真设计.

1 波干涉原理

设有两相干点波源S1、S2,它们的频率相同、振动方向平行,其简谐运动的方程分别为

式中f为波源的振动频率,A1、A2分别为它们的振幅,φ1、φ2分别为两波源的初相.假设这两波源所发出的波都在同一介质中传播,其传播的波长均为λ,在无考虑介质对波能吸收的情况下,两列波的振幅也分别是A1和A2,于是,在空间中P点处两波相遇,见图1.而两波源在P点的振动分别是

图1 两相干波在空间相遇Fig.1 Two coherent waves meet in the space

式中r1、r2分别为两波源至P点的距离,则它们在P点的合成振动满足合振幅最大处的条件是

2 两相干波干涉仿真设计

仿真设计可有多种方法,如采用3D Studio Max[2],采用 Authoware技术[3],也有采用MATLAB技术的[4]等等,而我们采用LabVIEW技术.

LabVIEW平台是典型G语言平台,它有强大的函数功能,我们选用其合适的函数控件来设计,完全可以方便实现两波的相干现象仿真[5].下面以LabVIEW2009平台为基础讨论具体的仿真设计.

2.1 函数控件的确定

从上(1)式可看出,由于两个相干波的函数都是三角函数,我们可以选取三角函数控件.可以从LabVIEW2009平台“程序框图”上的“函数选板”选用“算术与比较函数”组件,选其“Express数学”中的“Express三角函数”,再从中选“余弦函数”控件.

函数控件确定后,实现波干涉图形仿真显示的基本思路是选择在某一时刻t,考察在不同点的振动合成后,再在不同时刻考察不同点的振动合成.

2.2 相干波函数的变换

为实现波在平面中不同相干点P点的合成,一种方便方法是将决定P点的r1和r2转换成由三维直角坐标的变量来表示.

从上(1)式中知,两波源到P点的距离分别为r1、r2,假设不同的P点是在三维直角坐标空间中xy平面上的点,可设点波源s1和s2的座标分别为s1(a1、b1)和s2(a2、b2),则两波源到P点处的距离r1、r2分别表示为

做上式变换后,两相干波的相位差就为

这就是仿真平台上用于直角坐标变量x、y表示的相位差函数.

2.3 x和y变量的变化步长与仿真座标源点的确定

在LabVIEW2009平台上实现两波相干的仿真,就是如何在LabVIEW2009平台上实现变量x、y的取值问题,也就是如何实现取样点x、y进行运算的问题.仿真显示是以每次取一样点进行运算,并将结果显示的方式来实现逐点仿真的.于是变量x、y的取样点问题,就是取变量x、y值应如何变化问题,也就是x、y的变化步长问题.

在LabVIEW2009平台上仿真时,实现变量变化的简单方式就是利用循环控件中的循环变化量来完成.平台中的循环变化量一般都是按自然数递增规律变化的,即它的最小变化步长为1.Lab-VIEW2009的循环结构有多种,可选有循环次数控制的for循环结构,就利用for循环语句方式来实现变量的取值.for循环的方式是从0开始取值,进行程序计算显示,再接着增1取值,再进行计算再显示,如此循环下去,直至循环次数满足要求为止.最大的循环次数就是总取样点数,如果以单位米(m)来表示,也就是仿真的范围,可称为仿真宽度.

利用这一规律,也可以循环取值的最小步长乘上一比例常数来实现函数各种不同等比例变量的变化.本例中的x和y变量的变化步长,可取比例常数为1,就是取样点的变化步长为1.

上(2)式中的变量x、y是可正可负值变化的,为了实现变量x、y的负值变化,可以将x和y分别减去一个正常数.如设两个正常数分别为x10和y10,相当于座标源点平移至点(x10,y10),于是作转换:

变换后在仿真过程中,x和y的取样点按自然数递增规律变化,即取0、1、2、…,就将x变量的变化转换成:0-x10、1-x10、2-x10、…;y的变化就转换成:0-y10、1-y10、2-y10、….这样,在LabVIEW2009平台上仿真显示三维直角坐标上xy平面函数图形时,就能实现变量x、y的负值变化,也就相当于将该函数平移至源点为(x10,y10)的座标中显示.在这里我们可以取点(x10,y10)的座标为最大取样宽度的中点来表示,即将变量x、y的最大取样点数分别除以2作为x10和y10的值.这样就可实现所显示图像变量x、y的正负值变化的情况.

2.4 两相干波源点的选择

根据上面平移xy平面座标原理的(3)式,x、y的取样值是大于零的递增自然数,于是,波的相干涉图形仿真显示只能在xy平面坐标中的第一象限中,为能观察干涉波源四周的图像,尽量使图形显示于平台的中间位置.于是,两相干波的波源点还应做相应变换.如在x、y变量的仿真宽度都为200米的平台座标上,可以设计两波源点分别处于s1(80 m,80 m)与s2(140 m,140 m)两点,这时决定两相干波相干点P点的变量r1和r2必须考虑到函数平移至点(x10,y10)后的影响.

根据上(3)式,两相干点波源的源点可以设置于平移点(x10,y10)的两边,其具体值可由下式定:

s1点波源座标:xs1=80-x10;ys1=80-y10;

s2点波源座标:xs2=x10-140;ys2=y10-140;

做上变换后,在LabVIEW2009平台上显示两相干点波源的源点座标,可以将相干波的波源点显示在图形的中间位置,可方便地观察波源周围波干涉时的整体效果,同时在改变两干涉波的源点时,就可以获得与x、y变量取样值一至的座标显示值.

2.5 相干波相位函数中时间变量变化步长的确定

根据上(1)式,对于一定波长的相干波,相位中有两个变量t和r,同一时间t,不同的波源r也不同.如何实现t和r的取值变化是仿真必须解决的关键问题.

(1)式中因为变量t和r的变化是独立的,我们可以设t和r的变化各自为线性变化,这里,我们只用设t和r的变化步长不一样就可以了.按前面分析,r已变换为相应的x、y变量.对于时间变量t的步长,只用将t乘上一个比例常数便可,可以取这变量为1.

2.6 前面板控件的选择

为实现干涉波的三维真实效果,必须选择合适的显示方式,在LabVIEW2009平台的前面板上,选用Active三维曲面图形控件是较理想的.该控件可以从“控件选板”中选择,在“控件选板”的“经典控件”中选“经典图型”,再从中选择“Active三维曲面图形”控件便可.

从三维曲面图形控件的运算特点可知,三维曲面在作图显示处理时采用的是描点法,它的三维曲面作图过程是根据x和y的坐标数组,先在xy平面上确定一个矩形网络,网络中的每个节点就对应着三维曲线上一个点在xy坐标平面的投影.z矩阵数组给出每个网络节点所对应的曲面点的z坐标,三维曲面根据这些信息就能完成作图[6].

2.7 两点波源干涉图仿真程序

根据以上几点考虑,我们采用两个for循环结构,所设计的两个点波源相干的仿真程序见图2.

图2 程序设计图Fig.2 Program design

程序是以上面两点波源的基本方程(1)和它们的叠加结果为基础设计的.程序中x、y变量的最大取样点数设置为可变输入量,且设计为两者等量变化,即观察窗口为正方形形式,这只是便于观察而已.另外,两相干波的频率也设计为同时变化的输入量,因为我们所讨论的是同频率的相干情况.

与上图2程序相对应的前面版图见图3.

图3 前面版图Fig.3 Front diagram

在图3中,左边统一安排了一些可输入的变量,右面大片空间就是程序运行结果的三维仿真图形,所显示的图形为右上俯视图,点击图形拖动还可以调整方位,图形的横座标为x,纵座标为y,竖向为z,图左边的输入变量,从上到下排列是:

1)“变量取样范围”.即所仿真函数x、y变量的取值范围,也称仿真变量的观察宽度,我们以两者等量的正方形方式来观察,单位用m表示.

2)“点波源s1的x座标”.即两相干波点波源之一s1源点的x座标,单位为m.

3)“点波源s1的y座标”.即两相干波点波源之一s1源点的y座标,单位为m.

4)“点波源s2的x座标”.即两相干波点波源之一s2源点的x座标,单位为m.

5)“点波源s2的y座标”.即两相干波点波源之一s2源点的y座标,单位为m.

6)“两点波源的频率”.即两相干波点波源之一的振动频率,因为同频干涉,则两波源频率相同,单位为Hz.

7)“两波源s1和s2的初相差”.即两相干波点波之间的初相之差,单位为弧度.

8)“停止”.为运行程序后的停止控制.

3 两同频率点波源相干波形图仿真显示

如图3所示,它是运行程序后,同频率两相干波的干涉波形图.从图中可看出,仿真的x、y变量变化最大仿真宽度都为400 m,即400m×400m图,两相干波的波源点在图中的位置分别为s1(250 m,250 m)和s2(150 m,150 m),它们的频率都为10Hz,初相初差为0.仿真结果的三维图中,较亮的地方为正相干加强点,较暗的地方为负相干加强点,图中放射状区域是两相干波相减点.

可以在仿真平台上调整为正顶视图来观察,图4就是它的正顶视图,在这里,我们只取其所显示的图形部分.

图4 400m×400m正视图(截图)Fig.4 Top view of 400m×400m

当改变x、y变量的仿真宽度都为120 m时,并且两相干波的波源点在图中的位置分别设为s1(40 m,40 m)和s2(80 m,80 m),它们的频率仍保持为10 Hz,初相初差为0.两波相干的三维仿真图形显示见图5和图6,其中,图5为顶视图,图6为右上俯视图.

图5 120m×120m正视图(截图)Fig.5 Top view of 120m×120m

如果改变x、y变量的仿真宽度都为300 m时,即300m×300m图,且无断地改变两波源的位置,使两相干波的波源点在图中的位置向中心靠近,分别设为s1(160 m,160 m)和s2(140 m,140 m),它们的频率调为7 Hz,初相初差为0.两波相干的三维仿真图形显示如下图7.

图6 120m×120m正视图(截图)Fig.6 Top view of 120m×120m

图7 300m×300m干涉图Fig.7 Top view of 300m×300m

当只改变当它们的频率调为8 Hz,而其他上各参数保持不变时,三维仿真图形显示见图8,可见原来相加强点的正上和正下方,几乎变为相减点情况.

再在上情况下,如再改变它们的初相初差为1,而其他上各参数保持不变时,三维仿真图形显示如下图9,可见原来相减点的正上和正下方,又发生了变化.

可见,利用G语言设计两点波源干涉现象的三维仿真图像,不但程序设计简单,而且参数改变方便、快捷,还可以获非常好的三维仿真直观效果图.

图8 f=8 Hz干涉图Fig.8 Interference of f=8Hz

图9 △φ=1干涉图Fig.9 Interference of△φ=1

[1]马文蔚,解希顺,谈漱梅,等.物理学(下册):第4版[M].北京:高等教育出版社,1999:63-66.

[2]赵慧,王银海,邓颖宇,等.用3D Studio Max演示驻波的振动[J].物理与工程,2010,20(2):34-36.

[3]陈琳,朱湘柱.杨氏双缝干涉仿真模型设计[J].计算机仿真,2009,26(9):269-272.

[4]陈燕,何松.杨氏双缝干涉实验的MATLAB仿真设计[J].绵阳师范学院学报,2011,150(8):42-45.

[5]李瑞,周冰,胡仁喜.LabVIEW2009中文版虚拟仪器——从入门到精通[M].北京:机械工业出版社,2010.

[6]张重雄.虚拟仪器技术——分析与设计[M].北京:电子工业出版社,2007:138-139.

猜你喜欢

波源源点控件
双波源同向交替入射下大鼠的电磁暴露仿真
关于.net控件数组的探讨
隐喻的语篇衔接模式
首届“丝路源点·青年学者研讨会”主题论坛在我校成功举办
低阻抗冲击电压标准波源
ASP.NET服务器端验证控件的使用
根据干涉花样计算相干波源距离的方法
基于嵌入式MINIGUI控件子类化技术的深入研究与应用
火车匀速进站时鸣笛音调不变化吗?
具有多条最短路径的最短路问题