劉志明,宋兆麗,鄭 春,岳 明
(長春工程學(xué)院理學(xué)院,長春 130012)
典型的物理效應(yīng)在現(xiàn)代工程技術(shù)和教育教學(xué)中有著廣泛的應(yīng)用。由于工程技術(shù)的快速發(fā)展,這些應(yīng)用技術(shù)已經(jīng)日益小型化、微型化、集成化和模塊化。如何重現(xiàn)應(yīng)用過程,闡述應(yīng)用原理和方法,不僅需要昂貴的設(shè)備,而且需要大量的閱讀理解時(shí)間,并且要面臨著基本理論和實(shí)際模型之間的兩難選擇。應(yīng)用現(xiàn)代數(shù)值技術(shù)和模擬技術(shù),將典型的物理過程、物理效應(yīng)及其應(yīng)用思路、開發(fā)轉(zhuǎn)化過程加以模擬,不僅可以加強(qiáng)學(xué)生對(duì)自然科學(xué)成果及其應(yīng)用性的加深理解,而且能使學(xué)生拓展思路,提高自覺地、有目的地把所學(xué)知識(shí)應(yīng)用于工程實(shí)踐的能力。
物理效應(yīng)的仿真與模擬研究涉及范圍很廣,主要包括數(shù)值計(jì)算、數(shù)值模擬和圖形媒體仿真。仿真和模擬工作不僅可以解決解析方法無法求解的物理理論和工程應(yīng)用問題,而且能夠最大限度地展示物理過程的內(nèi)在機(jī)理,幫助理解物理學(xué)原理的實(shí)質(zhì)性內(nèi)涵。因此,這方面的研究工作具有教學(xué)和科研雙重重要意義。
長期的大學(xué)普通物理教學(xué)實(shí)踐是我們自主研發(fā)模擬仿真軟件的原動(dòng)力。實(shí)際教學(xué)過程中,經(jīng)常遇到物理現(xiàn)象、物理過程的講解問題,某些日常不可見的物理過程,僅靠描述性語言難以達(dá)到教學(xué)效果,也使課堂教學(xué)枯燥、乏味??紤]到現(xiàn)代教學(xué)硬件體系中多媒體設(shè)備已經(jīng)日益常規(guī)化,使得將物理效應(yīng)借助數(shù)字化設(shè)備在課堂上低成本展現(xiàn)成為觸手可及的現(xiàn)實(shí)?;谏鲜鰞牲c(diǎn),我們結(jié)合本校教學(xué)實(shí)際,選取教學(xué)過程中的重點(diǎn)內(nèi)容,進(jìn)行模擬仿真,以豐富教學(xué)內(nèi)容,提高教學(xué)效果。
模擬仿真工作所利用的工具、采用的手段千差萬別,國內(nèi)外物理教學(xué)中進(jìn)行了多種嘗試。其中最典型的是PPT課件教學(xué),目前國內(nèi)一般教材都配備PPT電子講稿。但是講稿局限性很大,尤其當(dāng)涉及參數(shù)調(diào)整合并動(dòng)態(tài)演示時(shí)通常難以盡如人意。因此更底層的編程技術(shù)一直受到專業(yè)物理教學(xué)人員的青睞。張星輝[1]使用 Matlab制作了一些參數(shù)化的物理結(jié)果演示媒體,陳聰、李定國[2]用類似的手段對(duì)衍射現(xiàn)象進(jìn)行了仿真,都收到了良好的效果。其他如馬雪倩等[3]進(jìn)行了有益的嘗試,用函數(shù)控制手段做出模擬海浪的模型。
普通物理課程內(nèi)容中,波動(dòng)光學(xué)內(nèi)容最為 “多姿多彩”,最適合發(fā)揮模擬仿真的效能。本文詳細(xì)介紹了波動(dòng)光學(xué)中典型干涉、衍射物理現(xiàn)象仿真的實(shí)現(xiàn)。
軟件開發(fā)在Visual Basic環(huán)境下實(shí)現(xiàn),采用單窗體內(nèi)的菜單、按鈕、滾動(dòng)棒工作模式,面板如圖1所示。窗口面板設(shè)置2個(gè)可見圖片盒(Picturebox),一個(gè)用于仿真動(dòng)態(tài)圖形輸出,另一個(gè)用于承載原理性說明圖片。
模擬項(xiàng)目選擇由下拉式菜單控制,菜單選項(xiàng)選中時(shí)修改描述當(dāng)前模塊指向的全局變量,依據(jù)該全局變量值自動(dòng)完成下列事件的驅(qū)動(dòng),主要是相應(yīng)模擬項(xiàng)目的初始參數(shù)設(shè)置,包括項(xiàng)目名稱顯示、原理說明圖片加載、光學(xué)參數(shù)的初始化、滾動(dòng)棒標(biāo)簽和圖形視點(diǎn)的初始化。
控制單元主要依賴于鼠標(biāo)操作的滾動(dòng)棒組合,支持波長(拖動(dòng))調(diào)節(jié)、光具調(diào)節(jié)和視圖旋轉(zhuǎn)。另外設(shè)置視圖放大、縮小和恢復(fù)默認(rèn)3個(gè)控制按鈕。圖形繪制精度可調(diào),由菜單項(xiàng)完成。
波動(dòng)光學(xué)包含6個(gè)子模塊,分別介紹如下。
雙縫間距可調(diào),縫屏間距可調(diào),波長范圍遍及可見光區(qū)域。波陣面可以顯示,視圖可以進(jìn)行雙軸旋轉(zhuǎn)。波長、縫屏間距支持滾動(dòng)棒拖動(dòng)調(diào)節(jié),動(dòng)態(tài)演示阻滯較小,調(diào)節(jié)反應(yīng)速度較快。
單縫寬度、縫屏間距、波長支持拖動(dòng)調(diào)節(jié),波陣面實(shí)時(shí)顯示,調(diào)節(jié)反應(yīng)速度快,視圖可雙軸旋轉(zhuǎn)。
圖1 模擬仿真軟件面板
入射光垂直于劈尖底面,劈尖尖角、劈尖折射率可以大范圍調(diào)整,波長可連續(xù)調(diào)整,視圖旋轉(zhuǎn)。劈角、旋轉(zhuǎn)不支持拖動(dòng)顯示,其余可調(diào)節(jié)參量支持拖動(dòng)操作。由于器件形狀和干涉圖樣簡(jiǎn)單,易于描述,因而拖動(dòng)響應(yīng)速度最快。
狹縫數(shù)目、透光寬度和遮光寬度、波長連續(xù)可調(diào),支持拖動(dòng)調(diào)節(jié),視圖可以繞主光軸旋轉(zhuǎn)。
圓孔孔徑、孔屏間距、光波長連續(xù)可調(diào),球狀波陣面可以顯示,由于波陣面為球面,衍射花樣為同心環(huán)狀,圖形描述復(fù)雜,因而拖動(dòng)響應(yīng)較慢。圖形可以雙軸旋轉(zhuǎn)。
圓孔孔徑、孔間距、孔屏間距、光波長連續(xù)可調(diào),球狀波陣面可以顯示,相對(duì)于單個(gè)圓孔,由于球狀波陣面加倍,衍射圖樣為疊加圖形,圖形描述最為復(fù)雜,因而拖動(dòng)響應(yīng)最慢。圖形可以雙軸旋轉(zhuǎn)。
圖2給出了主要模塊的圖形顯示效果。分別為單縫衍射、雙縫干涉、圓孔衍射和光柵。劈尖干涉示于面板圖(圖1)中,雙孔衍(干)射此處效果未給出。
此外,基于波動(dòng)共性的考慮,軟件提供了振動(dòng)合成和拍效應(yīng)、駐波模塊。由于空間周期性和時(shí)間周期性具有相當(dāng)性,或者說時(shí)間相位和空間相位具有統(tǒng)一性,駐波和拍的圖示過程完全相似,因此合并處理。可以設(shè)定基頻和差頻(拍頻的2倍),差頻貢獻(xiàn)等效于波的傳播相,兩者均可調(diào)。另外,兩者的振幅可以連續(xù)調(diào)整。
圖2 主要模塊圖形顯示效果
軟件核心技術(shù)是三維模型的圖形計(jì)算和顯示。每個(gè)子模塊都選擇在三維空間中構(gòu)造模型,對(duì)于單軸旋轉(zhuǎn),采用單軸(z軸)旋轉(zhuǎn)矩陣[4]作用于定心模型的輪廓特殊控制點(diǎn),旋轉(zhuǎn)完成后向圖片盒窗口投影,完成圖形繪制。對(duì)于雙軸旋轉(zhuǎn)操作,則采用兩個(gè)旋轉(zhuǎn)矩陣依次操作的方式,獲取投影前景輪廓。部分模塊用模型表面位點(diǎn)到前景距離表達(dá)灰度級(jí),以實(shí)現(xiàn)立體顯示效果。此處以劈尖干涉模型為例予以說明。
劈尖模型為三棱柱體。其關(guān)鍵控制點(diǎn)為6個(gè)頂點(diǎn),分別為A′、B′、C′、A、B、C,編號(hào)為1、2、3、4、5、6,底面中心點(diǎn)為基礎(chǔ)控制點(diǎn),編號(hào)為0,如圖3所示。各點(diǎn)坐標(biāo)為x(i),y(i),z(i),i=0~6。
圖3 三維模型的關(guān)鍵點(diǎn)和模型旋轉(zhuǎn)
繞z軸、y軸轉(zhuǎn)動(dòng)的矩陣分別為
在任意轉(zhuǎn)動(dòng)θ,φ角度下
因而前景控制點(diǎn)坐標(biāo)為y′(i),z′(i)。依據(jù)表面圖形的可見性描述繪圖區(qū)域,即可完成圖形顯示。當(dāng)前可見區(qū)域顯然為ABC面輪廓線和A′ACC′面,當(dāng)然A′ACC′面還需沿著AC線調(diào)整顏色強(qiáng)度,以顯現(xiàn)條紋。
由于光學(xué)效果由波長決定,而顏色(RGB)與波長之間呈復(fù)雜函數(shù)關(guān)系,所以為了簡(jiǎn)化計(jì)算手續(xù),軟件設(shè)置一個(gè)隱藏圖片盒,容納一標(biāo)準(zhǔn)顏色圖片條(Color Bar),將像素位置和波長對(duì)應(yīng),以獲取給定波長光的顏色值。條紋明暗則通過公式化的顏色強(qiáng)度控制實(shí)現(xiàn)。
為了盡可能減少運(yùn)算量,部分光學(xué)過程采用了近似計(jì)算,以提高運(yùn)算速度,增進(jìn)動(dòng)態(tài)過程的流暢感。
采用計(jì)算機(jī)圖形顯示技術(shù)進(jìn)行了物理效應(yīng)的模擬與仿真。將物理教學(xué)中的不可見物理過程動(dòng)態(tài)交互展現(xiàn),以利于學(xué)生直觀地了解和認(rèn)識(shí)物理效應(yīng)的本質(zhì),提高課堂教學(xué)效果。
[1]張星輝.在大學(xué)物理教學(xué)中使用 Matlab制作圖像和動(dòng)畫的幾個(gè)例子[J].大學(xué)物理,2004,23(9):59-62.
[2]陳聰,李定國.基于快速傅里葉變換的衍射現(xiàn)象的數(shù)值仿真[J].大學(xué)物理.2004,23(9):46-49.
[3]馬雪倩,葉錫君,謝忠紅.基于模型的海浪模擬仿真[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(2):446-448.
[4]魏嶺.轉(zhuǎn)動(dòng)矩陣及其性質(zhì)[J].青海師范大學(xué)學(xué)報(bào):自然科學(xué)版,2003.3:14-16.