Simulations of the White Light Young's Interference Experiments Using Seven Colors Light
CHEN Ze-fei1, LAN Hai-jiang2
(1.Office of the Principals, Luzhai Junior Experimental High School, Liuzhou 545600, China; 2.Department of Physics and Information Science, Liuzhou Teachers College, Liuzhou 545004, China)
Abstract: Taking seven colors light as white light source, the white light Young's interference experiments of double aperture and slit were simulated based on Matlab software. The results show that, the central bright stripe of the white light Young's interference experiments is white, and the others are purple inside and red outside; the stripes of double slit and aperture interference experiment are hyperbolas and parallel lines. The colors of simulation picture are continuous and vivid, and the simulation pictures can be applied in the fields such as optical aided instruction.
Key words: Young's interference experiment; seven colors light; Matlab; simulation
托马斯•杨于1801年进行了一次光的干涉实验,即著名的杨氏双孔干涉实验,首次证实了光的波动性。随后,他以干涉原理为基础,建立了光的波动理论,并成功解释了牛顿环,精确测定了光的波长。1803年,杨利用干涉原理解释了光的衍射现象。1807年,杨发表了《自然哲学与机械学讲义》,书中第一次描述了光的双缝干涉实验,即杨氏双缝干涉实验。杨氏干涉实验推动了光学的发展,在光学史上具有重要的地位。
白光的光谱色彩丰富、成分复杂。由于受各种因素的制约,在实际的白光干涉和衍射实验中,很难获得满意、便于观察的结果。因此,利用计算机模拟这些实验[1-5],具有十分重要的意义。本文依据七色光可合成为白光的原理,以七色光为白光光源,利用Matlab软件模拟杨氏双孔及双缝干涉实验,并依据模拟结果分析杨氏干涉实验的光强分布规律。
1 七色光的波长及其RGB代码值
众所周知,白色的日光中包含着红、橙、黄、绿、青、蓝、紫七种色光。因此,七色光也可合成为白光。利用Matlab软件模拟白光干涉和衍射实验时,色光的色彩代码使用RGB模型表示比较方便。RGB颜色模型立方体以红(R)、绿(G)、蓝(B)为坐标轴,坐标值从0~1变化,立方体范围内的每个彩色点都可以用R、G、B 3个参数表示,分别表示红(R)、绿(G)、蓝(B)基色的相对亮度[6]。七色光的中心波长及其对应的RGB代码值如表1所示[7]。
2 利用七色光模拟白光杨氏双孔干涉实验
设透过双孔的光束光强相等,那么,杨氏双孔干涉实验干涉屏上任一点P(x,y)的光强为[8]
(1)
式中,I0为透过单孔的光强;,, x轴与双孔的连线平行,d为双孔的间距,D为双孔到干涉屏的距离;波数k=2π/λ,λ为光的波长。
利用Matlab编写的模拟程序如下:
%标题:白光杨氏双孔干涉实验模拟程序program1
clear all; clf;
%模块1:七色光的波长及其对应的RGB代码值
lam=[660,610,570,550,460,440,410]*1e-9; %七色光的波长(单位m)
RGB=[1,0,0;1,0.5,0;1,1,0;0,1,0;0,1,1;0,0,1;0.67,0,1]; %与波长对应的RGB代码值
%模块2:设置模拟图像矩阵
xs=[-0.5:8e-4:0.5]; [x,y]=meshgrid(xs,xs); Irgb=zeros(1251,1251,3); Iw=Irgb;
%模块3:设置模拟参数
d=5e-6; D=0.5; %双孔间距及双孔到干涉屏的距离(单位m)
%模块4:计算相对光强及模拟图像矩阵
for i=1:1:7
k=2*pi/lam(i); r1=sqrt((x-d/2).^2+y.^2+D^2); r2=sqrt((x+d/2).^2+y.^2+D^2);
II=(cos(r1.*k)./r1+cos(r2.*k)./r2).^2+(sin(r1.*k)./r1+sin(r2.*k)./r2).^2; %相对光强Ip/Io
Iw(:,:,1)=II*RGB(i,1); Iw(:,:,2)=II*RGB(i,2); Iw(:,:,3)=II*RGB(i,3);
Irgb=Irgb+Iw; %计算模拟图像矩阵
end
%模块5:显示模拟结果
B=1/max(max(max(Irgb))); I=Irgb*B; imshow(I) %显示结果
运行程序program1,可得到如图1所示的模拟结果。
由图1可知,白光杨氏干涉图像的中央亮纹为白色,其余条纹则内紫外红,随着干涉级数的增加,条纹的可见度逐渐降低。杨氏双孔干涉的中央亮纹为直条纹,两侧的条纹为双曲线族[9]。比较图1(a)、(b)可知,间距d越小,条纹的间距越大。
3 利用七色光模拟白光杨氏双缝干涉实验
在杨氏双缝干涉实验中,若两光束的光强相等,则干涉屏上任一点P(x,y)的光强为
(2)
式中,I0为透过单缝的光强;,为两光束的相位差;d为双缝的间距;sinθ≈x/D,x轴垂直于缝的线度,D为双缝到干涉屏的距离。
白光杨氏双缝干涉实验模拟程序program2与程序program1类同。即只需把程序program1的模块3、4替换为:
%模块3:设置模拟参数
d=3e-6; D=0.35; %双缝间距及双缝到干涉屏的距离(单位m)
%模块4:计算相对光强及模拟图像矩阵
for i=1:1:7
fi=2*pi*d*sin(x./D)./lam(i); II=4*cos(fi./2).^2; %相对光强Ip/Io
Iw(:,:,1)=II*RGB(i,1); Iw(:,:,2)=II*RGB(i,2); Iw(:,:,3)=II*RGB(i,3);
Irgb=Irgb+Iw; %计算模拟图像矩阵
end
即可得到模拟程序program2。运行程序,可得到如图2所示的模拟结果。
由图2可知,白光杨氏双缝干涉图像的条纹为相互平行的直条纹。中央亮纹为白色,两侧条纹为内紫外红。比较图2(a)、(b)可知,距离D越大,条纹的间距也越大。
4 结束语
由图1、2可知,白光杨氏干涉的中央亮纹为白色的直条纹,其余条纹则内紫外红。杨氏双孔干涉两侧的条纹为双曲线族,而杨氏双缝干涉的条纹为则为相互平行的直条纹。
以七色光为光源,利用Matlab模拟白光杨氏干涉实验,程序简洁,实验参数易于调节。模拟结果的图像连续而与实际实验的结果一致,并可直接投影于多媒体大屏幕上,可便捷地应用于计算机辅助教学等领域。 (责任编辑:南粤论文中心)转贴于南粤论文中心: http://www.nylw.net(南粤论文中心__代写代发论文_毕业论文带写_广州职称论文代发_广州论文网)