梁文耀,劉 基
(華南理工大學 物理與光電學院,廣東 廣州 510641)
虛擬仿真實驗教學是利用現代信息技術,將完整的實驗教學項目,轉化為線上線下教學相結合的個性化、智能化、開放化的新型信息化實驗教學模式. 現代信息技術與實驗教學項目的深度融合,將有效拓展實驗教學內容的廣度和深度,延伸實驗教學時間和空間,提升實驗教學質量和水平. 現代物理實驗具有操作性強、可計算、可檢驗的特點,通過選擇合適的實驗內容開發虛擬仿真實驗用于教學,在教學過程中注重知識傳授、動手能力和創新思維的培養,能夠調動學生參與實驗教學的積極性和主動性,增強學生的動手能力和創新能力,有力促進物理實驗教學和物理研究的現代化改革[1].
國內外在虛擬仿真實驗方面取得了重要進展. 美國高校的虛擬仿真實驗系統開發較早,成果顯著,已被應用于實驗教學并且發揮著重要作用. 休斯頓大學的“虛擬物理實驗室”系統,在實驗建模、實驗環境仿真程度等方面獨樹一幟[2];卡羅萊納州立大學的Learn Anytime Anywhere Physics(LAAP)探究式虛擬物理實驗系統可隨時隨地開展虛擬仿真實驗[3]. 國內在物理虛擬仿真實驗系統的構建與開發方面也取得不錯的進展,如浙江大學建設了基于LabVIEW的自動控制仿真實驗系統[4];上海交通大學實驗中心數據采集實驗室,已經形成了虛擬實驗網絡化;中國科學技術大學開發了大學物理仿真實驗軟件、虛擬仿真高危核物理實驗等系統[5];華南理工大學近年來也開展了大學物理實驗虛擬仿真的初步建設,取得了較好的成果[6]. 我國高校虛擬仿真實驗教學建設仍存在以下典型問題:第一,虛擬仿真實驗室的發展在一定程度上受到傳統實驗教學模式的局限,未能充分發揮效益;第二,已有虛擬仿真實驗多數采用Matlab、Flash交互、C++編程和OpenGL技術[7-8],其開發效率不高且編程建立的模型精度較低,無法快速開發和帶來較好的視覺效果,交互性不夠強且不能實時地反饋信息,制約了虛擬仿真實驗教學潛能的發揮.
文獻[9]將多光束激光全息制作光子晶體微結構實驗引入近代物理實驗教學[9],其原理是利用多束相干光在會聚區域產生干涉圖案作為模板,進而通過光與物質相互作用形成折射率空間周期變化的二維或三維結構. 通過改變光束波矢差和光束之間的夾角,能夠產生豐富的周期微結構圖樣[10-12]. 由于實驗儀器所限,要研究更復雜的微結構,例如二維復式結構、三維周期微結構等,需要搭建更復雜的光路和大量實驗資金投入,難以有效進行. 通過開發虛擬仿真實驗可有效解決這一問題.
本文以多光束激光全息制作光子晶體微結構實驗為對象,采用Unity游戲引擎,配合SolidWorks等3D建模軟件[13-15],快速開發可還原實驗室場景、實驗操作和實驗現象的虛擬仿真實驗平臺. 學生通過該平臺可靈活搭建虛擬實驗光路,進行實驗數據拓展分析,快速掌握多光束激光干涉法在各種維度微結構制作方面的實驗原理、設計思想和實驗方法.
本實驗涉及大學物理、固體物理等知識,其中多光束干涉原理是激光全息法制作周期微結構的物理基礎. 激光具有高相干性、高偏振度等特性,通常被選為實驗光源,利用單色平面波近似,設有同頻率的N束光干涉,其中第j束光的參量包括波矢kj、電矢量Ej(含振幅E和偏振方向ej)和初相位δj. 則N束光干涉的光強分布表達式為[16]
exp [i(ki-kj)·r+(δi-δj)]=
(1)
其中Gij=ki-kj為波矢差,δij=δi-δj為初相位差. (1)式表明干涉結果具有周期性,可用于制作周期微結構. 各束光的波矢差與倒格矢存在對應關系,Gij可等效為倒空間矢量bi(i=1,2,…),從而產生一、二、三維周期微結構. 例如二維晶格共 有4種類型(參量見表1), 需要3束非共面激光參加干涉(計算機仿真結果見圖1),三維可類似研究.

表1 二維微結構的4種晶格類型(a和b為基矢長度,γ為基矢a和b的夾角)

(a)斜方晶格 (b)矩形晶格

(c)三角晶格 (d)正方晶格圖1 4種二維微結構仿真實例
虛擬仿真實驗是利用虛擬的實驗儀器模擬實驗操作的過程,因此實驗儀器的還原程度將決定仿真程序的最終效果. 傳統的實現方法是采用OpenGL和GDI圖形編程,利用編程構造圖形的點線面. 這種辦法實現過程極為繁瑣而且模型精度較低,無法滿足對模型精細程度和顯示效果的要求,并且難于與Unity完成對接. 本文中提出使用多個CAD軟件設計實驗儀器模型和實驗環境,使用Solidworks設計儀器的基礎模型,使用3dsMax對模型進行優化和UV展開,使用材質繪制軟件Substance Painter進行模型貼圖,以工業設計為基礎配合專業美工軟件高精度還原實驗模型,并得到了理想的效果,結果如圖2所示.
結合真實實驗所采用的532 nm半導體激光器,從激光器的本質和性質出發完成算法. 激光器發射一定頻率的激光,選擇算法時應考慮激光的頻率特性. 激光器發出的激光入射和離開反射鏡、分束鏡等光具座時分別發生相應的物理現象,是自動和再生的過程. 采用遞歸算法,模擬發射具有一定頻率的激光束,自動識別入射的光具座,并根據光具座的性質,產生同樣具有遞歸性質的新激光束;從而使每束模擬激光都具有獨立但繼承其原有激光束的激光特性,能夠隨著使用者加入的儀器自動演算后續的光路現象,結果見圖3.

(a)SolidWorks設計的顯微物鏡基礎模型

(b)Substance Painter對模型進行渲染貼圖

(c)虛擬仿真實驗中的實際效果圖2 實驗室環境和儀器模型
為了計算N束光的干涉圖像,還需定義每束光的光強I和偏振方向Ej. 光線通過中性分束鏡后,透射光和反射光的光強均為入射前的一半. 光線通過起偏器后,光線的光強和偏振方向變化遵循馬呂斯定律. 代碼采用C#語言進行編寫,下面是激光器算法的偽代碼:

算法 1 激光器輸入:D: 激光初始方向S:激光發射起點I: 激光初始光強Ej:激光初始偏振方向輸出:Laser(D,S,I,Ej)1. 以S為起點D為方向發射射線2. if(射線的碰撞體為反射鏡)3. then 獲取碰撞點h,計算反射方向f,Laser(f,h,I,Ej)4. else if(射線的碰撞體為分束鏡)5. then 獲取碰撞點h,計算反射方向f, 反射光Laser(f,h,0.5I,Ej), 透射光Laser(D,h,0.5I,Ej)6. else if(射線的碰撞體為偏振片)7. then 獲取碰撞點h, 獲取偏振片方向a,計算光強i=cos2 (a-Ej) 透射光Laser(D,h,i,a)8. else if(…)9. …10. end

圖3 激光器算法:自動形成光路
在多光束激光全息法制作微結構實驗中,干涉圖案經顯微物鏡放大后由CMOS相機采集圖像傳輸到技術進行觀察. 需要根據多光束干涉的原理編寫算法計算干涉圖像. 為了簡化運算和便于后續分析偏振的影響,設有同頻率的N束光干涉,以橢圓偏振光形式描述各束光的偏振,將振幅Ej分解為相位相差π/2、振動方向相互垂直的2個線偏振光,與橢圓長短軸對應的振幅Eja和Ejb,即
Ej=Eja+Ejb=Ejaexp [i(kj·r)]eja+
則N束光非共面干涉光在會聚區域的空間光強分布I(r)為
(3)
由于在虛擬仿真程序中,激光光束的位置、方向、角度等比較容易獲得,使用(3)式即可計算得到干涉圖像. 代碼采用C#語言編寫,下面是3束激光干涉產生光強分布為I(M,N)干涉圖像的偽代碼,圖4和圖5分別為3束光干涉產生三角晶格、正方晶格的光束配置圖和相應的虛擬仿真結果.

算法 2 激光干涉輸入:激光光束A,B,C和干涉點D輸出:Interfere(A,B,C,D)1. 由A,B,C,D計算每束光2個線偏振光振幅Eaj、Ebj,以及對應的偏振矢量eaj、ebj2. 計算三束激光的波矢kj3. for(i=0;i (a) 光束配置圖 (b) 虛擬仿真演示結果 (c) 實驗結果圖4 三角晶格 (a) 光束配置圖 (b) 虛擬仿真演示結果 (c) 實驗結果圖5 正方晶格 使用Unity開發多光束激光全息法制作周期微結構的虛擬仿真實驗完成后,可以發布成exe可執行程序,方便學生使用,也可發布成WebGL程序部署到網站上,學生可隨時隨地訪問網站,進行在線操作完成虛擬仿真實驗. 打開虛擬仿真實驗的exe或WebGL程序后,可看到由虛擬實驗室環境、操作欄以及提示欄組成的界面. 操作欄可完成查看使用說明、實驗介紹、實驗步驟、實驗結果、處理要求和添加儀器的功能. 提示欄對實驗步驟進行提示,幫助學生完成實驗. 虛擬仿真實驗程序還提供了實驗安全警告(圖6)和開放性實驗等功能(圖7),可進一步強化學生的實驗安全意識和滿足學生自主探究實驗的需求. 圖6 打開激光器后的實驗安全警告 圖7 添加偏振片探究偏振對晶格形狀的影響 在仿真實驗系統交互性方面,利用三維實驗場景的特性,設計了使用鼠標對虛擬儀器進行點擊、拖拽的儀器交互邏輯. 對于儀器中的按鈕、旋鈕等一次性操作部件,使用鼠標點擊即可觸發相應功能,如光具座的磁力開關,鼠標點擊即可控制光具座的磁力鎖定狀態;對于移動儀器、調節部件高度和角度等連續性操作,采用鼠標直接拖拽儀器或零部件位移到相應狀態,如可通過鼠標拖拽光具部分上下移動進行高度調節,左右移動進行旋轉調節;對于刻度和角度精細調節等操作,采用鼠標滾輪的方式控制,可重復相同精度的細微操作,如使用鼠標滾輪對偏振片偏振方向可精確到度進行調節. 總體而言,從實驗操作和使用者角度出發,整套虛擬仿真系統的儀器交互邏輯滿足仿真實驗的各種操作需求和簡單易用性,同時操作可立即反饋為實驗參量影響實驗結果,學生可根據自己的“直覺”進行操作. 下面討論如何在該仿真系統的干涉結果基礎上進一步開展微結構實驗. 完成虛擬仿真實驗后,可獲得包含虛擬干涉圖像、實驗參量和晶格常量理論值. 根據虛擬仿真演示結果,學生可根據獲得的實驗參量在光學實驗平臺上搭建真實的實驗光路,驗證虛擬仿真結果的正確性. 因此,虛擬仿真實驗可作為真實實驗的預實驗,加強學生對實驗的理解和提高實驗效率. 圖4(c)和圖5(c)為根據圖4(b)和圖5(b)的虛擬仿真得到的實驗參量,并結合圖4(a)和圖5(a)圖光束配置圖,搭建實驗光路得到的實驗結果,與虛擬仿真結果吻合得很好,這表明該虛擬仿真系統完全可用于進行預習和熟悉儀器操作,對實體實驗的開展具有指導意義,特別有利于提高實驗效果和教學效果. 堅持以學生為中心的教學理念,基于多光束激光全息法制作微結構實驗,采用Unity,SolidWorks,3dsMax,Substance Painter等軟件,開發出可還原實驗室場景、實驗操作和實驗現象的虛擬仿真實驗平臺,具有形象、高效、實驗成本低和開放性強等獨特的優點. 這不僅有利于學生提升對物理實驗的濃厚興趣,而且有助于培養主動探究科學問題的創新能力,促進物理實驗教學的現代化改革. 目前該虛擬實驗系統已具備任意設計和搭建虛擬光路產生一維、二維周期微結構,這為開展實體和虛擬實驗融合教學奠定了基礎,今后將繼續探索產生三維、復式等更加復雜微結構的干涉算法,進一步完善該虛擬仿真系統.

3 虛擬仿真實驗演示


4 結束語