張文妙韻,陳昭喜
(廣州中醫(yī)藥大學(xué)醫(yī)學(xué)信息工程學(xué)院,廣州510006)
《醫(yī)用物理學(xué)》是高等醫(yī)藥學(xué)專業(yè)及其相近專業(yè)的一門重要基礎(chǔ)課程,通過對(duì)該課程的學(xué)習(xí)可以獲得專業(yè)所需的必要的物理知識(shí),提高醫(yī)藥學(xué)相關(guān)專業(yè)人員的科學(xué)素養(yǎng)[1-2]。波動(dòng)光學(xué)是醫(yī)用物理學(xué)中的一個(gè)重要章節(jié),主要圍繞光的干涉、衍射和偏振等特征進(jìn)行講解,是進(jìn)一步學(xué)習(xí)激光醫(yī)學(xué)、全息學(xué)等專業(yè)領(lǐng)域知識(shí)的基礎(chǔ)。但是由于光學(xué)中的概念通常較為抽象,單純使用傳統(tǒng)教學(xué),學(xué)生不能很好地理解相關(guān)原理和體會(huì)實(shí)驗(yàn)現(xiàn)象,同時(shí)教學(xué)過程也較為枯燥。為了探索解決這個(gè)問題,本文利用PyCharm軟件,基于Python語(yǔ)言及其相應(yīng)的科學(xué)計(jì)算庫(kù)和數(shù)據(jù)可視化模塊Matplotlib進(jìn)行光學(xué)實(shí)驗(yàn)的仿真[3],并通過調(diào)用tkinter庫(kù)實(shí)現(xiàn)了簡(jiǎn)單的界面交互,實(shí)現(xiàn)楊氏雙縫干涉實(shí)驗(yàn)、單縫衍射實(shí)驗(yàn)和光柵衍射實(shí)驗(yàn)的仿真,能夠直觀地看出參數(shù)變化給結(jié)果帶來(lái)的影響,將該仿真實(shí)驗(yàn)用于醫(yī)用物理學(xué)的課堂教學(xué)中,有助于學(xué)生更深刻地理解相關(guān)理論知識(shí),改善教學(xué)效果。
仿真主要是基于屏幕上的光強(qiáng)分布進(jìn)行,此處以楊氏雙縫干涉實(shí)驗(yàn)為例進(jìn)行簡(jiǎn)要說(shuō)明。在楊氏雙縫實(shí)驗(yàn)中(實(shí)驗(yàn)示意圖如圖1所示),處于同一波陣面上的兩個(gè)狹縫發(fā)出兩束相干光,這兩束相干波在雙縫后面放置的屏幕上疊相遇加,形成一系列明暗相間的干涉條紋。條紋的明暗取決于這兩束光相遇時(shí)的光程差。
圖1 楊氏雙縫實(shí)驗(yàn)示意圖
任意分析屏幕上的一點(diǎn)(例如P點(diǎn)),來(lái)自兩個(gè)狹縫的相干光到達(dá)該位置時(shí),它們的光程差為:
它們的相位差為:
其中λ為單色相干光的波長(zhǎng)。
這兩束光在P點(diǎn)相遇合成后的光強(qiáng)為:I1和I2是兩束光分別照射時(shí)的光強(qiáng)。
如果假設(shè)I1和I2都是I0,則合成光強(qiáng)為:
當(dāng)dsinθ=±kλ(k=0,1,2,…)時(shí),P點(diǎn)顯示的將是明紋。而當(dāng)時(shí),P點(diǎn)顯示的將是暗紋。條紋間距為:
實(shí)驗(yàn)仿真的是屏幕上不同位置的光強(qiáng)變化,θ角變化范圍為(-π/2,π/2),設(shè)定入射光的波長(zhǎng)λ和雙縫間距d,那么屏幕上的光強(qiáng)分布就只是隨著θ角變化的函數(shù)(此處sinθ∈(-1:1)),以sinθ為縱坐標(biāo),I/I0為橫坐標(biāo),根據(jù)公式(4)可以得到光強(qiáng)的分布情況(如2(b)所示)。進(jìn)一步將光強(qiáng)賦予灰度值,就可以直觀地顯示干涉條紋的明暗分布形態(tài)(如圖2(a)所示)。圖2是入射波長(zhǎng)為700nm,雙縫間距為4μm時(shí)雙縫干涉實(shí)驗(yàn)的仿真效果,從圖中可以看出,雙縫干涉實(shí)驗(yàn)的條紋明暗相間等間距分布,明紋處的光強(qiáng)為單個(gè)狹縫入射光強(qiáng)的4倍。為了便于觀察入射波長(zhǎng)或狹縫間距對(duì)干涉條紋的影響,可通過調(diào)整這兩個(gè)參數(shù)的設(shè)置來(lái)觀察干涉圖樣的形態(tài)變化,如圖3所示為是入射波長(zhǎng)為700nm,雙縫間距為2μm時(shí)雙縫干涉實(shí)驗(yàn)的仿真效果,可見隨著狹縫的變窄,條紋間距變寬,這與公式(5)表示的關(guān)系相符。
圖2 雙縫實(shí)驗(yàn)仿真結(jié)果(波長(zhǎng)700nm,雙縫間距4μm)
為了便于學(xué)習(xí)雙縫干涉、單縫衍射和光柵衍射的實(shí)驗(yàn)原理,仿真實(shí)驗(yàn)結(jié)果,并對(duì)比這三個(gè)實(shí)驗(yàn)之間的區(qū)別與聯(lián)系,本文通過調(diào)用tkinter庫(kù)來(lái)實(shí)現(xiàn)簡(jiǎn)單的界面交互,提供有兩個(gè)界面。第一個(gè)界面(圖4)用于展示雙縫干涉實(shí)驗(yàn)、單縫衍射實(shí)驗(yàn)、光柵衍射實(shí)驗(yàn)的光路示意圖,在這個(gè)界面通過點(diǎn)擊“查看仿真結(jié)果”按鈕可調(diào)出第二個(gè)界面(圖5),第二個(gè)界面利用Matplotlib庫(kù)繪制仿真結(jié)果,并將繪制的仿真結(jié)果圖形嵌入到TK界面里面。在該界面中,仿真不同的實(shí)驗(yàn)會(huì)顯示相應(yīng)的參數(shù)設(shè)置控件,如選擇“雙縫干涉實(shí)驗(yàn)”,會(huì)顯示設(shè)置“波長(zhǎng)”、“雙縫間距”;選擇“光柵衍射”,會(huì)顯示設(shè)置“波長(zhǎng)”、“狹縫寬度”、“光柵常數(shù)”和“光柵數(shù)目”,通過設(shè)置不同的參數(shù),可以觀察到仿真結(jié)果(條紋圖樣和光強(qiáng)分布)的變化(如圖5),從而直觀地感受到參數(shù)變化對(duì)實(shí)驗(yàn)結(jié)果的影響。此外,也可以對(duì)比不同實(shí)驗(yàn)之間的區(qū)別與聯(lián)系,如在仿真光柵衍射的時(shí)候,如果光柵數(shù)目為2,狹縫設(shè)置的足夠小,仿真的結(jié)果就類似于雙縫干涉實(shí)驗(yàn)效果;如果狹縫數(shù)目設(shè)為1,則可觀察到單縫衍射的效果(如圖6)。tkinter界面布局有三種幾何管理的辦法,分別是pack、grid、place,本文采用pack結(jié)合place來(lái)完成界面中按鈕和輸入框等控件的布局。
圖3 雙縫實(shí)驗(yàn)仿真結(jié)果(波長(zhǎng)700nm,雙縫間距2μm)
圖4 光學(xué)仿真實(shí)驗(yàn)界面-1
圖5 光學(xué)仿真實(shí)驗(yàn)界面-2-光柵衍射
圖6 光柵衍射狹縫設(shè)置為1時(shí)成了單縫衍射效果
本文為了解決醫(yī)用物理學(xué)教學(xué)中學(xué)生理解部分光學(xué)理論存在困難的問題,基于Python語(yǔ)言其相應(yīng)的科學(xué)計(jì)算庫(kù)和數(shù)據(jù)可視化模塊對(duì)典型的光學(xué)實(shí)驗(yàn)進(jìn)行了仿真,能夠讓學(xué)生直觀感受到波長(zhǎng)、狹縫寬度等具體參數(shù)變化對(duì)條紋圖樣的影響,可以加深學(xué)生對(duì)光的波動(dòng)性的理解和認(rèn)識(shí),進(jìn)一步激發(fā)學(xué)生的學(xué)習(xí)興趣,同時(shí)其操作簡(jiǎn)單,效果直觀,有助于提高課堂教學(xué)的效率。