周 權(quán) 徐海萍 邵 立
(合肥電子工程學(xué)院 安徽 合肥 230037)
基于VPython的三維場(chǎng)景構(gòu)建在光學(xué)教學(xué)中的應(yīng)用
周 權(quán)徐海萍邵 立
(合肥電子工程學(xué)院安徽 合肥230037)
摘 要:VPython是Python語(yǔ)言和三維圖像模塊Visual的組合,可用于快速創(chuàng)建交互式的三維場(chǎng)景和動(dòng)畫(huà).本文以光的反射折射、薄透鏡成像、球面透鏡像差和光的偏振現(xiàn)象為例,闡述了基于VPython的三維交互場(chǎng)景構(gòu)建技術(shù)在光學(xué)課程教學(xué)中的應(yīng)用.三維場(chǎng)景構(gòu)建在光學(xué)課程教學(xué)過(guò)程中的應(yīng)用有助于更直觀地展現(xiàn)特定的光學(xué)現(xiàn)象并揭示其物理規(guī)律.
關(guān)鍵詞:VPython三維場(chǎng)景光學(xué)教學(xué)
1引言
大學(xué)光學(xué)課程是物理及相關(guān)專(zhuān)業(yè)的主干基礎(chǔ)課,其課程內(nèi)容體系完整,理論性強(qiáng)[1].光學(xué)本身是一門(mén)以觀察和實(shí)驗(yàn)為基礎(chǔ)的學(xué)科.為了在教學(xué)過(guò)程中能夠幫助學(xué)生直觀地了解相關(guān)理論的實(shí)驗(yàn)背景,快速建立清晰的物理圖像,利用VPython模塊構(gòu)建了光學(xué)課程內(nèi)容中若干重要理論和現(xiàn)象的三維場(chǎng)景.文中以光的折射反射、薄透鏡成像、球面透鏡的像差和光的偏振現(xiàn)象為例闡述相應(yīng)場(chǎng)景的實(shí)現(xiàn)和功能.
2VPython簡(jiǎn)介
VPython是Python語(yǔ)言及其實(shí)時(shí)三維圖像模塊Visual的組合,可用于快速創(chuàng)建交互式的三維場(chǎng)景和動(dòng)畫(huà)[2].
Python是一種面向?qū)ο蟆?dòng)態(tài)的程序設(shè)計(jì)語(yǔ)言,具有簡(jiǎn)潔清晰的語(yǔ)法,學(xué)習(xí)曲線(xiàn)平緩,可以用來(lái)快速開(kāi)發(fā)程序腳本.在NumPy,SciPy, Matplotlib等程序庫(kù)的支持下,Python可以完成專(zhuān)業(yè)的科學(xué)計(jì)算任務(wù)[3].
Visual是基于Python開(kāi)發(fā)環(huán)境的三維圖像模塊,可以快速創(chuàng)建三維場(chǎng)景和動(dòng)畫(huà).Visual模塊內(nèi)建了諸如球體、長(zhǎng)方體、曲線(xiàn)等簡(jiǎn)單的幾何體,利用extrusion函數(shù)還可以生成復(fù)雜的三維模型.Visual模塊繼承了Python語(yǔ)言語(yǔ)法簡(jiǎn)單、開(kāi)發(fā)快速的特點(diǎn).開(kāi)發(fā)者無(wú)須關(guān)心場(chǎng)景對(duì)象的管理細(xì)節(jié),可以將精力集中于場(chǎng)景內(nèi)容的邏輯實(shí)現(xiàn).Visual模塊實(shí)現(xiàn)了基于wxPython的窗口顯示和消息響應(yīng),以實(shí)現(xiàn)用戶(hù)與程序的實(shí)時(shí)交互,從而展現(xiàn)更豐富的場(chǎng)景內(nèi)容.
3三維場(chǎng)景實(shí)例
3.1光的反射和折射
光的反射和折射是最基本的光學(xué)現(xiàn)象,在初高中的物理課程中即有涉及,但大學(xué)光學(xué)課程對(duì)光的反射和折射現(xiàn)象及相關(guān)理論的教學(xué)有更進(jìn)一步的要求,主要體現(xiàn)在以下兩點(diǎn):
(1)準(zhǔn)確理解反射定律和折射定律中入射面、法線(xiàn)、入射角和折射角等概念的幾何約定,掌握反射定律和折射定律中各個(gè)物理量之間的數(shù)量關(guān)系;
(2)了解s光和p光的定義.通過(guò)菲涅爾公式的學(xué)習(xí),掌握s光和p光在折反射過(guò)程中的不同規(guī)律.
為了在教學(xué)過(guò)程中直觀地演示光的反射和折射現(xiàn)象,幫助學(xué)生了解有關(guān)概念的定義并掌握相應(yīng)的物理規(guī)律,構(gòu)建了如下三維場(chǎng)景.
如圖1所示,折射率分別為n1和n2的兩種介質(zhì)分別位于場(chǎng)景的上下兩部分,入射光從上層介質(zhì)入射到分界面處,發(fā)生反射和折射;根據(jù)反射定律和折射定律,繪制了入射光線(xiàn)、反射光線(xiàn)和折射光線(xiàn),并標(biāo)記了入射角、反射角、折射角的位置和大小;根據(jù)菲涅爾公式計(jì)算反射和折射的透過(guò)率并顯示在相應(yīng)位置.
圖1 光束反射和折射的場(chǎng)景構(gòu)建
三維場(chǎng)景的觀察視角可以任意調(diào)整,有助于學(xué)生從多個(gè)角度觀察場(chǎng)景中各個(gè)元素的幾何關(guān)系,了解反射定律中有關(guān)概念的定義,快速建立起直觀的物理圖像;場(chǎng)景中兩種介質(zhì)的折射率和入射角均可以改變,并同步更新場(chǎng)景中的圖像和數(shù)值顯示,可以直觀地展現(xiàn)折反射定律中的數(shù)量關(guān)系,并演示全反射現(xiàn)象;場(chǎng)景中入射光的偏振可調(diào),即可以選擇入射光為s光或p光,偏振光的電場(chǎng)方向用綠色箭頭進(jìn)行標(biāo)注,有助于學(xué)生明確s光和p光的定義,并能直觀觀察不同入射角和偏振狀態(tài)下,反射率(透過(guò)率)的變化情況;場(chǎng)景中入射光的光源面積大小可調(diào),可以體現(xiàn)一定尺寸光束入射界面后折射光的光束形狀變化.
3.2薄透鏡成像
薄透鏡成像是光學(xué)課程中幾何光學(xué)部分的重要內(nèi)容之一.薄透鏡成像的規(guī)律可由成像公式描述,其形式本身很簡(jiǎn)單,但成像過(guò)程中涉及物、像距離和焦距的關(guān)系、虛實(shí)像的變化、物像大小的變化.學(xué)生學(xué)習(xí)過(guò)程中往往會(huì)陷入數(shù)值公式的固定推演,而難以將成像規(guī)律和成像過(guò)程的場(chǎng)景緊密結(jié)合.為了在教學(xué)過(guò)程中更好地闡述薄透鏡成像的規(guī)律,實(shí)現(xiàn)該部分內(nèi)容理論和實(shí)驗(yàn)的一體化教學(xué), 構(gòu)建了如下三維場(chǎng)景.
圖2 薄透鏡成像的場(chǎng)景構(gòu)建
如圖2所示,薄透鏡位于場(chǎng)景中央,其光軸由綠色直線(xiàn)標(biāo)出,其前后焦點(diǎn)由藍(lán)色色塊標(biāo)出;物位于透鏡左側(cè),其正立方向如箭頭方向所示;根據(jù)成像公式計(jì)算像的位置和大小并顯示在相應(yīng)位置.
如前所述,場(chǎng)景視角可任意調(diào)整,后文不再贅述;場(chǎng)景中可利用鼠標(biāo)拖動(dòng)調(diào)整物的位置、透鏡的焦距,并同步更新場(chǎng)景,以動(dòng)態(tài)演示薄透鏡成像的規(guī)律;透鏡的孔徑可以進(jìn)行調(diào)整,其大小會(huì)影響像的亮度,場(chǎng)景中通過(guò)改變像的透明度來(lái)定性演示這一現(xiàn)象.
3.3球面透鏡的像差
像差是所有非理想光學(xué)系統(tǒng)設(shè)計(jì)和應(yīng)用時(shí)要考慮的因素.光學(xué)課程中對(duì)像差概念的引入目的在于使學(xué)生了解像差產(chǎn)生的原因和一些簡(jiǎn)單光學(xué)系統(tǒng)像差的特點(diǎn).為使初次接觸像差概念的學(xué)生能對(duì)像差的成因和特點(diǎn)有更直觀的理解,構(gòu)建如下三維場(chǎng)景.
如圖3所示,場(chǎng)景中央為待分析像差的球面透鏡,其前后球面的曲率半徑分別為R1和R2;光源位置位于透鏡左側(cè),發(fā)出的多束平行光線(xiàn)構(gòu)成同心圓環(huán),經(jīng)透鏡前后表面折射后到達(dá)觀察面;利用光線(xiàn)追跡的方法計(jì)算各束光線(xiàn)的路徑,并繪制觀察面處的光線(xiàn)分布.
圖3 球面透鏡像差的場(chǎng)景構(gòu)建
場(chǎng)景中球面透鏡的口徑、材料折射率以及前后曲面的曲率半徑可以通過(guò)界面賦值進(jìn)行調(diào)整,以觀察像差隨球面透鏡相關(guān)參數(shù)的變化情況;光源的位置可以在透鏡左側(cè)任意調(diào)整,其中心位于光軸上和光軸外時(shí),分別對(duì)應(yīng)球差和慧差;觀察面的位置可以在透鏡右側(cè)任意調(diào)整, 以觀察不同空間位置的光線(xiàn)分布情況.
3.4光的偏振現(xiàn)象
光的偏振是光學(xué)課程波動(dòng)光學(xué)部分中的基本概念.光偏振現(xiàn)象的教學(xué)主要涉及線(xiàn)偏振、圓偏振和橢圓偏振的定義,以及偏振光通過(guò)偏振片的行為規(guī)律,即馬呂斯定律.光的偏振,尤其是圓偏振和橢圓偏振的物理圖像較為抽象,學(xué)生在該部分內(nèi)容的學(xué)習(xí)過(guò)程中需要較強(qiáng)的空間想象力才能將偏振的數(shù)學(xué)表達(dá)和物理圖像結(jié)合.為此,唯象地構(gòu)建了光偏振現(xiàn)象的三維場(chǎng)景,以幫助學(xué)生理解該部分的內(nèi)容.
圖4 光偏振現(xiàn)象的場(chǎng)景構(gòu)建
光偏振現(xiàn)象的場(chǎng)景構(gòu)建如圖4所示.線(xiàn)偏振片位于場(chǎng)景中央,其偏振方向由紅色箭頭標(biāo)記;偏振片左右兩側(cè)分別繪制了入射光和出射光在不同空間位置上電場(chǎng)強(qiáng)度的瞬時(shí)大小和方向.
場(chǎng)景內(nèi)容按照時(shí)間步長(zhǎng)推進(jìn),以演示光波沿光軸向前傳輸?shù)那闆r.入射光的偏振情況通過(guò)改變兩個(gè)正交方向電場(chǎng)強(qiáng)度的大小和相位差進(jìn)行調(diào)整,可以實(shí)現(xiàn)線(xiàn)偏振、圓偏振以及橢圓偏振等多種設(shè)置.從該三維場(chǎng)景中,學(xué)生可以直觀地認(rèn)識(shí)線(xiàn)偏振、圓偏振和橢圓偏振其電場(chǎng)分量在空間上的分布以及隨時(shí)間的演變情況,較為簡(jiǎn)單地建立起該部分內(nèi)容的物理圖像.
4結(jié)束語(yǔ)
以光的反射折射、薄透鏡成像、球面透鏡像差和光的偏振現(xiàn)象為例,介紹了利用VPython構(gòu)建的三維交互場(chǎng)景在光學(xué)課程教學(xué)中的應(yīng)用. 三維場(chǎng)景能夠更充分地展示光學(xué)課程內(nèi)容中的主要原理和現(xiàn)象,通過(guò)參數(shù)控制實(shí)現(xiàn)與場(chǎng)景的實(shí)時(shí)交互,能夠直觀地展現(xiàn)其物理規(guī)律,從而幫助學(xué)生快速建立起相應(yīng)的物理圖像.
參 考 文 獻(xiàn)
1鐘錫華.現(xiàn)代光學(xué)基礎(chǔ).北京:北京大學(xué)出版社,2003
2D.Schere,P.Dubois,B.Sherwood.VPython:3D Inter-
active Science Graphics for Student.Computing System in Engineering,2000(05):55~62
3Summerfield M.Programming in Python 3(Second Edition). Beijing: The People's Posts & Telecommun-
ications Press,2011
Applications on Construction of Three-dimensional
Scene in Optics Teaching Based on VPython
Zhou QuanXu Haiping
(Eletronic Engineering Institute,Hefei,Anhui230037)
Abstract:VPython is a combination of the Python programming language and a 3D graphics module called “Visual”. VPython is designed to create interactive 3D scenes and animations quickly. In this paper, four 3D scenes about reflection and refraction, imaging of the thin lens, aberration of the spherical lens and polarization phenomenon of light are introduced to illustrate application of VPython in optics teaching,which is helpful to show specific optical phenomenon more directly and reveal related physics.
Keywords:VPython;3D scene;optical teaching
收稿日期:(2015-04-09)