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