?

正交柱面透鏡的等厚干涉的MATLAB仿真*

2020-07-01 09:28周國全段玉婕
物理通報 2020年7期
關鍵詞:控件條紋滑動

周國全 段玉婕

(武漢大學物理科學與技術學院 湖北 武漢 430072)

通常的牛頓環干涉現象是發生于球面平凸-平板透鏡間,或其推廣與擴充的平凸-平凸、平凸-平凹球面透鏡間的雙光束傍軸等厚干涉[1~5];它不同于等傾干涉現象[3,6~8];而平凸-平板(平凸、平凹)柱面透鏡間的等厚干涉,也是基于牛頓環干涉現象衍生而來的一種新型等厚干涉形式[9,10],文獻[9]分析討論了各類平行放置的柱面透鏡間的等厚干涉現象,得到的是不等間隔的直條紋;而文獻[10]分析討論了各類正交柱面透鏡間的等厚干涉現象, 條紋形狀典型而獨特,可以呈現亮暗相間的橢圓或雙曲型的條紋,也出現類似于牛頓環干涉實驗的圓環條紋,甚至還能得到極為特殊的直條紋. 正是條紋多樣性的這一優點,使得它在光學教學與研究以及技術開發方面會有重要的應用前景. 另一方面MATLAB是一款能對物理過程及科學規律進行精確模擬與仿真的優秀軟件,具有強大的科學計算與可視化功能, 以及可擴展環境、簡單易用、可開放式等特點.

本文以正交柱面透鏡的等厚干涉為研究對象[10], 運用MATLAB軟件對其干涉規律進行具體形象和分門別類的研究與展示,設計了模擬仿真實驗平臺,以開拓其在光學系統設計與教學領域更為廣闊的應用范圍.

1 平凸-平凸/平凹柱面透鏡的等厚橢圓/雙曲條紋

如圖1所示為平凸-平凸柱面正交干涉結構, 兩透鏡柱面外切, 剖面相互平行,對稱面彼此垂直. 兩柱面切點O為直角坐標系O-xyz原點,取上、下柱面(半徑分別為R1和R2)過切點O而相交的兩條母線分別為y,x軸; 當波長為λ的單色光沿負z軸方向射入透鏡,來自兩圓柱表面的傍軸反射光將發生等厚干涉;條紋形狀為間隔不均的橢圓形. 離中心斑塊愈遠的地方條紋愈密. 下面簡述其干涉條件與分布規律[10].

圖1 平凸-平凸柱面正交干涉結構

設x和y是柱面上點P(或Q)分別到zOy平面、zOx平面的距離. 設n為柱面間媒質(如空氣)的折射率,考慮反射半波損失(位相突變),設透過讀數顯微鏡,點(x,y) 落在第m級亮或暗紋上, 則光線在上下兩柱面的反射光程差及干涉條件是[10]

(1)

m=0相應于零級暗斑;當m≠0時,不妨設R2

(2)

顯然這是第m級正橢圓形等厚干涉暗環,其半長軸、半短軸分別

并滿足與干涉序m無關的如下規律

(3)

(4)

此外,若將兩柱面之曲率半徑R1,R2看成代數量,統一規定符號,即可統一地表達兩種不同正交干涉結構的條紋分布規律及干涉條件.符號法則具體如下:平凸(凹)柱面的曲率半徑之符號為正(負). 按此規定, 當上、下兩側皆為平凸柱面時,其曲率半徑R1>0,R2>0;而當下側是平凹柱面透鏡時, 其曲率半徑R2<0,進而bm是虛數.如圖2所示,對應于平凸-平凹柱面正交干涉結構.

圖2 平凸-平凹柱面正交干涉結構

如此則兩套干涉結構的光程差公式與干涉條件統一于式(1),亮暗條紋軌跡方程及分布規律統一于式(2)、(4).對于平凸-平凹正交干涉結構,允許m取負整數,則其擁有開口分別在x,y方向的兩個雙曲線族;對于暗紋,當R1>0,R2<0,m>0時,式(2)變為

(5)

其半長、短軸分別為

可發現如下規律

(6)

二是四萼獼猴桃與中華獼猴桃嫁接親合力好,成活率可以達到70%以上,根系發達,有“小腳”現象,抗根腐病、潰瘍病效果好,嫁接的苗木生長比較旺盛,適宜在南方栽培。

而R1>0,R2<0,m=0滿足式(5)的暗紋條件,對應兩雙曲線族共享的兩漸近線暗直紋方程.

此外,對于這種雙光束干涉,其光強I(x,y)分布與相位差δφ之間函授關系為

(7)

(8)

將式(8)代入式(7),易知干涉場強I隨點(x,y)而變化.具有等相位差δφ(x,y)的光線相遇點P在xOy平面上的投影軌跡,呈現出正橢圓/雙曲形狀的干涉條紋.

2 正交柱面透鏡的橢圓/雙曲型等厚干涉條紋仿真

2.1 仿真程序建立的歷程

為了方便讀者分析實驗參數對干涉條紋的影響, 觀察圖像隨參數的動態變化,我們根據柱面正交透鏡的干涉理論,設計了仿真程序. 歷程如下:

(1)先用Origin軟件根據光強分布函數,將正交柱面透鏡的橢圓/雙曲型條紋仿真出來,有了一個好的開端,為下一步MATLAB仿真奠定了基礎;

(2)進一步編寫代碼,在MATLAB中仿真出來正交柱面透鏡的橢圓/雙曲型條紋;

(3)設計圖形用戶界面,建立Guide, 在MATLAB gui 中仿真;

(5)添加彈跳式菜單,添加兩個面板,分別顯示正交柱面透鏡的橢圓型及雙曲型等厚干涉條紋程序,進而可以通過下拉菜單有選擇地模擬仿真正交柱面透鏡的橢圓型及雙曲型條紋.

2.2 圖形用戶界面的設計

構建仿真程序所依據的核心原則是使仿真平臺具有交互性、系統性、實時性、實用性和保密性的特點. 該平臺利用MATLAB Gui設計編制了圖形用戶界面,合理地解決了仿真實驗項目單一及系統性、對比性不強的問題,而且采用交互式,其人機互動友好,動態地展現物理參數對橢圓/雙曲型干涉條紋的影響,通過下拉菜單有選擇地模擬仿真相應的橢圓型/雙曲型等厚干涉條紋,突破了一個界面只能模擬一個實驗現象的局限性.

按照步驟依次打開MATLAB軟件、Guide設計界面模板,接著對界面模板左邊各個控件在編輯框內進行編排.添加控件,首先,在MATLAB的“命令”窗口中輸入Guide命令,打開GUIDE Quick Start對話框. 其次,選擇Blank GUI (Default),點擊OK按鈕建立一個空白的GUI模版. 然后用鼠標拖動模版左邊的控件到設計工作區,并拖動工作區縮放句柄改變窗口的大小.GUI最主要包含5個靜態文本框(static text),用來顯示該仿真平臺中的仿真實驗和仿真實驗裝置的名稱;2個滑動條(slider),分別用于修改下側平凸或平凹柱面透鏡的曲率半徑大??;4個坐標軸(Axes),分別用于顯示干涉圖樣和干涉實驗裝置;2個可編輯文本框(Edit text),顯示實時的凸透鏡或凹透鏡半徑的大??;1個下拉式菜單(Popupmenu),如圖3所示, 便于讀者選擇實驗仿真項目;最后,2個面板,用于分別顯示正交柱面透鏡的橢圓或雙曲型干涉條紋的整套實驗仿真程序.

圖3 選擇實驗仿真項目

在Gui界面上, 通過調節2個滑動條, 觀察改變實驗裝置下側透鏡曲率半徑大小對橢圓型或雙曲線型干涉條紋的影響. 增加下側平凸柱面透鏡的曲率半徑,中央暗條紋寬度及各條紋間的間隔也減小,反之亦有相反現象出現. 當滑動條設置到R1=R2=R時,條紋由橢圓型條紋變成圓型條紋. 再逐漸增大R2,即將滑動條逐漸向右滑動時條紋又逐漸由橢圓型條紋變成等厚干涉型的直條紋,如圖4所示. 觀察這一動態變化,可發現兩邊的橢圓型條紋,先變成直條紋,中間還是一個橢圓型的暗斑,慢慢的隨著滑動條向右移動,這一暗斑也變成矩形的了,即變成直條紋了. 同樣,增大下側平凹柱面透鏡的曲率半徑時,即移動另一個滑動條時,這次是向左移動,中央暗條紋面積也減少,4個開口大小也在減小,各條紋之間的間隔也減??;反之亦有相反現象出現.

圖4 橢圓型條紋變直條紋圖

2.3 設置各個控件的屬性

經過調整并確定上節的圖形化界面中各控件布局之后,必須對各控件的顏色、大小、文字、String 和 Tag 等屬性進行設置. 其中滑動條還要設置取值區間,所以還需要設置Mix和Max屬性. 下拉菜單(Popupmenu)組件是實現對模擬仿真實驗項目的選擇功能的重要控件之一,所以也需要將界面編輯器中下拉菜單 String內容設置為正交柱面透鏡間的等厚干涉實驗、平凸-平凸柱面透鏡間的等厚橢圓條紋、平凸-平凹柱面透鏡間的等厚雙曲線條紋. 為了完全實現對模擬仿真實驗項目的選擇功能,還需要2個面板,把每一套完整的模擬仿真實驗程序所需要的各組件分別放在一個面板上,當需要運行其中的一個模擬仿真實驗時,只需要讓該程序對應面板的visible屬性設為“on”,其他面板的visible屬性設為“off”, 這樣界面就能實現只顯示一個實驗項目了. 不過在點擊運行菜單時,所有面板還是會全部顯示,所以剛開始需要把所有面板的visible屬性設為“off”.

2.4 代碼的設計

代碼設計是程序設計的一個重要部分,其設計關鍵又是界面編輯器中的控件和m文件中的OpeningFcn(初始界面函數)和Callback(回調函數)的代碼設計. 使界面控件觸發時的事件響應是回調函數的關鍵作用. 具體做法是在完成基本布局,并設置完組件基礎屬性后,我們就需要對各組件屬性進行設計. 在組件對象上右擊鼠標,選擇回調函數即view Callback / Callback,就會自動生成與gui仿真實驗程序相對應的m文件,鼠標也會自動定位在該組件的Callback 回調函數中編寫代碼的位置.

本文先在m文件的OpeningFcn(初始界面函數)的Callback(回調函數)中編寫代碼,基于正交柱面透鏡的等厚干涉理論仿真出來一個靜態的橢圓型等厚干涉條紋.仿真時設置的參數如下:上、下側2個平凸柱面透鏡的曲率半徑分別為R1=1.85 m與R2=0.86 m,n=1.00為空氣折射率的取值.然后在滑動條即slider1的Callback(回調函數)中編寫代碼,使得滑動條代表下側平凸柱面透鏡的曲率半徑R2的取值,隨著滑動條的滑動,R2的取值也發生變化,然后模擬仿真的橢圓等厚干涉條紋也會發生變化.再后獲取滑動條的實時值,接著編寫可編輯文本框的Callback(回調函數)中的代碼,目的是獲取滑動條的實時值,使其顯示在該文本框中,使代表R2大小的滑動條的值,實時顯示在可編輯文本框中. 最后在面板即panel1的Callback(回調函數)中編寫代碼. 利用switch語句實現當面板1出現時,面板2和其他面板就隱不可見.同樣,面板2出現時,面板1和其他面板隱藏起來. 最后可得完整動態仿真實驗程序,典型仿真結果如圖5和圖6所示;同時運用MATLAB仿真技術,還能模擬兩類干涉條紋強度分布的三維立體圖,如圖7和圖8所示.

圖5 橢圓型等厚干涉圖

圖6 雙曲線型等厚干涉圖

圖 7 橢圓型等厚條紋三維圖

圖8 雙曲線型等厚條紋三維圖

3 應用前景與結論

迄今已有一些學者運用MATLAB軟件實現了不同類型光學干涉實驗的模擬仿真,并已經出現了一些不錯的研究成果[11~14].但是真正的有關人機交互式界面的仿真實驗還是不夠成熟,故很少有人能將圖形化界面設計成為功能完善、簡潔明了的仿真平臺.它們大多需要在命令窗口輸入指令,方能運行所設計的仿真程序,演示所仿真的光學干涉實驗.使用該軟件,需具有較高的軟件知識與技能,對仿真程序的實現過程和指令有一定的理解.本文采用人機交互式界面,將仿真程序制作成一個界面,通過鼠標和鍵盤就可直接改變仿真程序的參數,能夠大大簡化操作手續,降低使用者的操作難度.

本文以MATLAB高級語言為工具對抽象的正交柱面透鏡干涉進行仿真,并基于它的GUI界面和繪圖底層函數將干涉條紋的二維及三維分布圖樣直觀地反映出來,具有參數靈活可變、實驗現象直觀豐富、界面友好、速度快、效率高的優點. 這為相關教學研究問題提供了高效、快速的解決路徑.

猜你喜歡
控件條紋滑動
用于彎管機的鋼管自動上料裝置
基于.net的用戶定義驗證控件的應用分析
誰是窮橫條紋衣服的人
針對移動端設計的基于滑動響應方式的驗證碼研究
關于.net控件數組的探討
Big Little lies: No One Is Perfect
條紋回歸
春日條紋變奏曲
用于滑動部件的類金剛石碳覆膜特性及其應用
條紋,條紋,發現啦
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合