李繼軍,徐大海,田永紅
(長江大學(xué) 物理科學(xué)與技術(shù)學(xué)院,湖北 荊州 434023)
在當(dāng)前的光學(xué)衍射教學(xué)中,教師在黑板上推導(dǎo)出光強(qiáng)度公式后,根據(jù)該公式在黑板上畫出光強(qiáng)分布曲線,或利用PPT將預(yù)先準(zhǔn)備好的光強(qiáng)分布圖片投影在屏幕上.經(jīng)驗(yàn)表明,并不是所有的學(xué)生都能通過這種靜態(tài)的結(jié)果理解衍射的物理規(guī)律.隨著計(jì)算機(jī)性能的提高及模擬仿真技術(shù)的發(fā)展,在課堂上利用計(jì)算機(jī)軟件對(duì)光學(xué)過程進(jìn)行仿真已經(jīng)成為一種可能.
MATLAB軟件是當(dāng)今最優(yōu)秀的科技應(yīng)用軟件和開發(fā)環(huán)境之一[1],它以強(qiáng)大的科學(xué)計(jì)算與可視化功能、簡單易用、可開放式、可擴(kuò)展環(huán)境等特點(diǎn)在許多科學(xué)領(lǐng)域中成為計(jì)算機(jī)輔助設(shè)計(jì)和分析、算法研究和應(yīng)用開發(fā)的基本工具和首選平臺(tái).已有的使用Matlab軟件模擬光學(xué)現(xiàn)象的文獻(xiàn)中[2-5],只是對(duì)單一波長進(jìn)行模擬,模擬結(jié)果為該波長下光強(qiáng)分布的灰度圖,無法體現(xiàn)可見光波段波長連續(xù)變化時(shí)的光學(xué)現(xiàn)象,而且沒有使用Matlab圖形用戶界面(Graphical User Interfaces,GUI),無法實(shí)現(xiàn)交互式模擬.本文利用可見光的光譜圖,采用Matlab GUI對(duì)圓環(huán)和矩形環(huán)的夫瑯禾費(fèi)衍射在可見光波段進(jìn)行仿真,仿真結(jié)果與實(shí)驗(yàn)結(jié)果一致.GUI中采用交互式滾動(dòng)條動(dòng)態(tài)的展現(xiàn)各物理量對(duì)衍射結(jié)果的影響,有利于加深學(xué)生對(duì)物理規(guī)律的理解和認(rèn)識(shí).
圖1 圓環(huán)衍射屏
如圖1所示,衍射屏上有一個(gè)內(nèi)外半徑分別為R1和R2的圓環(huán)區(qū)域,設(shè)該衍射屏的透射率為:
本文模擬將單位振幅的平面波入射到衍射屏上的情況,根據(jù)標(biāo)量衍射理論[6],通過圓環(huán)的光在觀察平面上的夫瑯禾費(fèi)衍射強(qiáng)度分布為:
式中λ是入射光波長,z是觀察平面與衍射屏的距離.根據(jù)遠(yuǎn)場近似的要求,本文中z取50米,觀察區(qū)域是一個(gè)0.2米×0.2米的正方形.r是觀察平面上的觀察點(diǎn)到該平面坐標(biāo)原點(diǎn)的距離,J1()表示一階貝塞爾函數(shù).
如圖2所示,衍射屏上有一個(gè)內(nèi)外邊長分別為d和D的矩形環(huán)區(qū)域,該衍射屏的透射率為:
當(dāng)單位振幅的平面波透射過該衍射屏,在遠(yuǎn)離該屏的觀察平面上產(chǎn)生的夫瑯禾費(fèi)衍射光強(qiáng)分布為:
圖2 矩形環(huán)衍射屏
式中x,y是觀察點(diǎn)在觀察面中的坐標(biāo).
本程序?qū)?shí)現(xiàn)兩個(gè)不同衍射屏下的仿真,為了編程的方便和界面的簡潔,我們使用了matlab的容器控件——面板(Panel),加上初始界面,總共使用了三個(gè)面板.當(dāng)其中一個(gè)界面出現(xiàn)時(shí),另外兩個(gè)界面是隱藏的.圖3所示為程序執(zhí)行后的初始界面.為實(shí)現(xiàn)仿真對(duì)象的轉(zhuǎn)換,在界面中使用了兩個(gè)按鈕(Push Button),“Circle with Obscuration”實(shí)現(xiàn)圓環(huán)的仿真,“Rectangle with Obscuration”實(shí)現(xiàn)矩形環(huán)的仿真,界面上還有一個(gè)標(biāo)示為“Exit”的按鈕用于程序的退出.
我們用imread命令讀入圖4所示的可見光譜,并將光譜保存在color_spectrum這個(gè)變量中,該變量是一個(gè)三維數(shù)組,前面二維對(duì)應(yīng)著空間的行、列坐標(biāo),第三維對(duì)應(yīng)該坐標(biāo)下像素點(diǎn)的紅、綠、藍(lán)顏色值.每個(gè)像素點(diǎn)的顏色是由這三個(gè)值混合而成[7].為仿真不同波長所對(duì)應(yīng)的色彩,我們先將該波長的衍射光強(qiáng)與該波長所對(duì)應(yīng)的紅、綠、藍(lán)的顏色值分別相乘,然后再將結(jié)果混合起來,最后用imagesc命令即可得到與該波長相對(duì)應(yīng)顏色的光強(qiáng)分布圖.
處理光譜的代碼如下:
圖5為圓環(huán)的仿真界面,界面右邊自上而下的三個(gè)滾動(dòng)條分別控制入射光波長,圓環(huán)外徑和內(nèi)徑,因此涉及到三個(gè)回調(diào)函數(shù).第一個(gè)回調(diào)函數(shù)是對(duì)波長改變的響應(yīng).代碼如下:
圖3 初始界面
圖4 可見光譜
圖5 圓環(huán)的仿真
后面兩個(gè)回調(diào)函數(shù)是對(duì)外徑改變的響應(yīng),顏色信息以及調(diào)用fraun_obscuration計(jì)算光強(qiáng)與上面的callback_slider_wavelength函數(shù)一樣.不同的是這兩個(gè)回調(diào)函數(shù)獲取的是內(nèi)外徑的當(dāng)前值.具體代碼是:
圖6是矩形環(huán)夫瑯禾費(fèi)衍射的仿真界面,回調(diào)函數(shù)的處
本文利用Matlab圖形用戶界面的開發(fā)功能對(duì)圓環(huán)和矩形環(huán)的夫瑯禾費(fèi)衍射進(jìn)行了仿真.仿真界面是交互式的,光強(qiáng)分布圖可隨入射波長以及衍射屏幾何參數(shù)的改變而變化,仿真結(jié)果與實(shí)驗(yàn)觀測(cè)結(jié)果一致,但清晰度更高.本程序可以對(duì)不同參數(shù)條件下的實(shí)驗(yàn)結(jié)果進(jìn)行動(dòng)態(tài)對(duì)比,從理方法與圓環(huán)的方法相同,由于篇幅的限制,本文不給出具體的代碼.
圖6 矩形環(huán)的仿真
以上兩個(gè)模擬在內(nèi)徑為零時(shí),可分別仿真圓孔和矩形孔的夫瑯禾費(fèi)衍射光強(qiáng)分布.結(jié)果如圖7、圖8所示.而將抽象的物理規(guī)律直觀地展現(xiàn)在學(xué)生面前,加深學(xué)生對(duì)此類光學(xué)問題的理解.
圖7 圓孔的仿真
圖8 矩形孔的仿真
[1]Marchand P,Thomas Holland O.Graphics and GUIs with MATLAB[M].third edition.New York:CRC Press,2003.
[2]崔祥霞,楊兆華,陳君.基于MATLAB的光學(xué)衍射與干涉實(shí)驗(yàn)仿真[J].泰山學(xué)院學(xué)報(bào),2009,31(3):109-113.
[3]王惠臨,趙俊卿.Matlab在大學(xué)物理教學(xué)中的應(yīng)用[J].山東建筑大學(xué)學(xué)報(bào),2009,24(3):279-281.
[4]呂波.基于Matlab的光學(xué)衍射仿真[J].東華理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,33(4):363-368.
[5]華晉,尹金花.基于GUI的干涉衍射的實(shí)驗(yàn)教學(xué)研究[J].大學(xué)物理實(shí)驗(yàn),2011,24(1):79-82.
[6]Joseph W Goodman.Introduction to Fourier Optics[M].third edition.New York:Roberts&Company Publishers,2004.
[7]Roy s Berns.顏色技術(shù)原理[M].李小梅,譯.北京:化學(xué)工業(yè)出版社,2002.