999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OpenGL的虛擬仿真實驗設計

2019-07-02 12:12:48侯冬曼陳武喝馬佳洪
實驗室研究與探索 2019年6期
關鍵詞:實驗

侯冬曼, 陳武喝, 馬佳洪

(華南理工大學 物理與光電學院, 廣州 510641)

0 引 言

隨著計算機技術的發展,多媒體技術在教學中發揮著越來越重要的作用[1-2],不再局限于作為PPT演示[3]、動畫展示,虛擬實驗室[4-6]應運而生。目前虛擬仿真技術多種多樣,各有優勢、競相發展,常用的有flash[7-8]、Java[9]等。近幾年,隨著3D顯示技術的進步,虛擬仿真向著3D顯示的方向發展,VRML[10]、Java3D[11]、開放式圖形庫(Open Graphics Library,OpenGL)[12]等虛擬仿真技術得到了廣泛應用。

分光計[13]是基礎物理實驗教學的常用儀器,它的基本結構是許多光學儀器的基礎,既能夠培養學生的基本實驗技能,又能培養學生應用理論知識解決實際問題的能力。邁克爾遜干涉儀[14-15]設計巧妙,測量極其精密,是近代許多干涉儀的基礎。光的干涉和衍射現象提示了光的波動性,而單縫衍射[16]是衍射現象中最基本也是最典型的例子。研究衍射現象及其規律,在理論上和實踐上都有重要意義。光的偏振直接有力地證明光是橫波,偏振現象已廣泛應用于科研和生產實際中,對偏振光的觀察和分析,能有效加深對光偏振基本規律的理解[13]。

然而這些實驗操作步驟繁雜,或操作的現象只能操作者一人看到,或儀器多雜難辨,不便于實驗講解。因此,在編程軟件Visual C++框架下,采用OpenGL編程制作了虛擬三維模型,拓展了實驗教學方式,開辟了一條探索物理類虛擬仿真實驗項目的新途徑。

1 OpenGL編程簡介

OpenGL是一個跨編程語言、跨平臺的專業的圖形程序接口,是高性能三維圖形編程和交互式視景處理標準,包括核心函數庫、實用函數庫、輔助函數庫等,有250個函數。這些函數具有以下8個方面功能:幾何建模、幾何變換、顏色設置、光照和材質設置、紋理映射、位圖顯示和圖像增強、雙緩存以及交互選擇。通過幾何建模和幾何變換可以構建復雜的三維場景;通過顏色設置、光照和材質設置、紋理映射、位圖顯示和圖像增強可以模擬接近真實世界的視覺效果;通過幾何變換、雙緩存可以實現實時、流暢的動畫效果;通過交互選擇可以實現交互操作。

OpenGL只是一個圖形接口,需要在一定的開發環境中使用,采用編程環境是Visual C++。C++是一門面向對象的語言,具有語言簡練、靈活高效、易于移植的特點。Visual C++提供了MFC類庫,擴展了C++類層次結構,使開發Windows應用程序更加方便;一般性的界面由Visual C++自己生成,用戶只需要添加自己要實現的功能。

OpenGL的繪圖方式和Windows的繪圖方式是不同的,Windows采用的是圖形設備接口(Graphic Device Interface,GDI)繪圖,而OpenGL采用的是渲染描述表(Rendering Context,RC)繪圖,而且使用特殊像素格式。因此,在Visual C++環境下開發OpenGL應用程序必須為OpenGL創建渲染描述表并設置適合OpenGL的像素格式。

2 虛擬實驗儀器的設計與調整

基于OpenGL,本文構建了分光計、邁克爾遜干涉、光的衍射和偏振等三維模型,和實物儀器一樣,各個部件可以通過鼠標操作,操作結果及實驗現象實時顯示,可以進行相應的虛擬測量,結果符合物理規律。

2.1 程序設計

虛擬儀器不但模型和實物儀器一致,而且各個部件跟實物儀器一樣可調。在建模時,已經將實現調節的幾何變換函數(如glTranslatef、glRotatef)的參數設置為變量,通過調節這些變量,就可以實現儀器的調節。

以分光計為例,要實現平行光管的調節,將鼠標移動到其調節橫向(或縱向)調節螺絲上,通過滾動鼠標滾輪,可以改變橫向(或縱向)傾斜度變量的數值,程序會實時重新繪制模型,顯示調節效果,其部分代碼如下:

void CRenderView::Lightpipe(GLenum RenderMode)

{

glPushMatrix ();

//平行光管同軸旋轉

glTranslatef (0.0, 0.0, 48.0);

glRotatef (m_Rlightpipe4, 0.0, 1.0, 0.0);

glTranslatef (0.0, 0.0, -48.0);

//平行光管傾度旋轉

glTranslatef (0.0, 48.5, 26.0);

glRotatef (m_Rlightpipe3, 1.0, 0.0, 0.0);

glTranslatef (0.0, -48.5, -26.0);

//平行光管

glPushMatrix ();

glPushMatrix ();

//平行光管

glTranslatef (0.0, 0.0, -30.0);

glTranslatef (1.5, 6.5, 3.0);

DrawPipe(m_pqobj, 3.0, 4.0, 4.0, 35.0);

//平行光管透鏡

glTranslatef (0.0, 0.0, -35.1);

DrawPipe(m_pqobj, 2.9, 4.1, 4.1, 3.0);

glPopMatrix ();

glPopMatrix ();

glPopMatrix ();

}

2.2 程序界面

程序界面除了虛擬儀器模型,一般還包括菜單欄、工具欄、狀態欄和觀察視場4個部分,分光計和邁克爾遜實驗儀器增加了刻度盤讀數。以分光計為例進行講解,虛擬分光計模型如圖1所示。菜單欄及其下拉菜單可實現程序的所有操作、設置;工具欄為本程序的常規操作,如取放平面鏡、棱鏡、光柵等;狀態欄顯示當下的操作說明。儀器模型可以從不同角度觀察并調節,目鏡視場實時顯示分光計目鏡中看到的視場,游標盤讀數可直接從界面上讀出。

圖1 虛擬分光計程序界面

虛擬實驗儀器操作非常簡單,實驗操作約定:將鼠標移動到可操作部件上,調節滾輪就可以對該部件進行調節(包括儀器的開啟和關閉)。鼠標點擊空白位置,調節滾輪即對整個虛擬實驗儀器進行左右旋轉操作。按住鼠標左鍵拖動,即對整個實驗裝置進行旋轉操作。

2.3 功能實現

利用OpenGL構建了動態可調的三維模型,同時采用Windows的GDI畫圖模擬實驗的現象。可實現的功能包括但不僅僅包括分光計的調節、折射、衍射實驗,邁克爾遜干涉,單縫衍射和偏振光等。實驗現象會根據儀器的調節實時顯示,基本實現物理實驗教學中的所有功能。

2.3.1 分光計

在虛擬分光計上可以進行目鏡調節、望遠鏡調節、平行光管調節以及各半調節等。以各半調節為例進行講解。

各半調節:放上平面鏡,找到綠十字;開始時,綠十字一般不在水平準線的位置[見圖2(a)]。經各半調節后,不管平行鏡的哪一面正對望遠鏡筒,綠十字都在上水平準線的高度[見圖2(b)]。

(a)

(b)

三棱鏡折射實驗。三棱鏡折射現象是根據折射公式實時計算的,折射條紋的偏轉角度會根據三棱鏡位置的調節而改變,因此可以在虛擬分光計上運用最小偏向角法測棱鏡折射率,如圖3所示。

光柵衍射實驗。衍射現象也是根據衍射公式實時計算的,衍射條紋的偏轉角度會根據光柵位置的調節而改變,也可以利用最小偏向角法或者垂直光柵法進行相關的測量,如圖4所示。

圖3 三棱鏡折射實驗

圖4 光柵衍射實驗

2.3.2 邁克爾遜干涉儀

邁克爾遜干涉儀結構復雜,主要由光源、分光板、補償板、反光鏡、調節拉桿螺絲、大轉輪和微調轉輪等部分構成,如圖5所示。光源包括鈉光、氦氖激光和白光,可模擬等傾干涉條紋、等厚干射條紋等。

圖5 邁克爾遜干涉儀外觀

等傾干涉條紋的調整。調節反射鏡M2背后的傾斜度調節螺絲,使出現干涉條紋[見圖6(a)]。然后通過反復調節水平、垂直拉桿螺絲,把等厚干涉條紋調節成等傾干涉條紋,如圖6(b)所示。最后,為了獲得稀疏等傾干涉條紋,需要調節大轉輪、微調轉輪使干涉條件變稀疏,如圖6(c)所示。

白光等厚干涉條紋的調整。將光源換成白光,調節水平(垂直)拉桿螺絲,使等傾干涉條紋變成弧形,如圖7(a)所示。然后調節反射鏡M1的位置,使干涉條紋變成直線形的等厚干涉條紋,如圖7(b)所示。

(a)

(b)

(c)

(a)

(b)

2.3.3 虛擬單縫衍射實驗

虛擬單縫衍射實驗較為簡單,可模擬菲涅爾衍射實驗及測量其光強分布。通過調節狹縫上方的旋鈕B使狹縫大小合適,在顯示板上觀察到菲涅爾衍射現象,如圖8所示。再選擇工具中的“測量”即可對光強分布進行測量。

圖8 菲涅爾衍射實驗程序界面

2.3.4 偏振光模擬實驗

偏振光模擬實驗界面簡單,操作便捷,可模擬線偏振光、圓偏振光以及橢圓偏振光的實驗現象和操作。圖9為圓偏振光的實驗現象,并顯示出了波形。

圖9 圓偏振光實驗

3 結 語

在Visual C++框架下,基于OpenGL設計了虛擬分光計、邁克爾遜干涉儀、單縫衍射和光的偏振等儀器的三維模型,模擬了儀器的各種操作和調節步驟,實時顯示虛擬操作的實驗現象和測量結果,基本可滿足物理實驗教學中的所有功能。這些三維模型可以作為實驗課件用于實驗講解,也可以作為預習或者復習工具提供給學生,以提高學生的學習興趣和學習熱情。

實踐證明:OpenGL是虛擬仿真儀器制作的有力工具,既可以模擬相對復雜的分光計,也可以用于制作其它物理類虛擬儀器;虛擬儀器對物理實驗教學有很大的促進作用,而且有助于緩解高校實驗資源短缺和日益緊張的空間資源。一言以蔽之,虛擬仿真儀器應該進行推廣,以推進實驗教學改革,提高教學質量和效率。

當然,虛擬分光計還存在一些不足,比如儀器的界面還不夠逼真,無法網絡應用。下一步工作還需不斷改進加強,制作更多更好的虛擬物理實驗儀器。

猜你喜歡
實驗
我做了一項小實驗
記住“三個字”,寫好小實驗
我做了一項小實驗
我做了一項小實驗
記一次有趣的實驗
有趣的實驗
小主人報(2022年4期)2022-08-09 08:52:06
微型實驗里看“燃燒”
做個怪怪長實驗
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
主站蜘蛛池模板: 99er精品视频| 特级做a爰片毛片免费69| 97国产一区二区精品久久呦| 中文字幕无码av专区久久| 97国产一区二区精品久久呦| 亚洲精品国产成人7777| 亚洲天堂网在线视频| 91精品国产自产91精品资源| 亚洲第一极品精品无码| 日韩毛片基地| 国产精品9| 91麻豆精品国产高清在线| 制服无码网站| 亚洲国产欧美中日韩成人综合视频| 三上悠亚在线精品二区| 亚洲aaa视频| 51国产偷自视频区视频手机观看| 中文字幕伦视频| 午夜啪啪网| 中文国产成人久久精品小说| 精品国产一区91在线| 婷婷综合色| 成人欧美日韩| 无码专区第一页| 99久久国产综合精品2020| 免费无码AV片在线观看中文| 久久黄色视频影| 亚洲色无码专线精品观看| 精品国产91爱| 日韩中文精品亚洲第三区| 日韩a级毛片| 99re在线视频观看| 亚洲无限乱码一二三四区| 影音先锋丝袜制服| 欧美日韩北条麻妃一区二区| 国产性精品| 久久大香伊蕉在人线观看热2| 丁香五月亚洲综合在线 | 久操中文在线| 国产性爱网站| 国产91小视频在线观看| 青青操视频免费观看| 色香蕉影院| 在线国产91| 一本综合久久| 亚洲午夜18| 伊人久久久大香线蕉综合直播| 国产在线91在线电影| 国产成人亚洲精品无码电影| 麻豆国产原创视频在线播放 | 青青国产视频| 婷婷六月综合网| 国产91av在线| 国产精品久久自在自线观看| 久久精品国产精品青草app| 国产精品成人免费视频99| 久久大香香蕉国产免费网站| 国产内射一区亚洲| 亚洲欧美综合另类图片小说区| 538国产在线| 国产呦视频免费视频在线观看| 91免费片| 久久久久亚洲精品无码网站| 四虎国产在线观看| 日本一本正道综合久久dvd| 久久这里只有精品2| 第一页亚洲| 久久久久亚洲精品成人网| 欧美亚洲一区二区三区导航| 亚洲小视频网站| 国产一区二区三区在线无码| 亚洲色图欧美激情| 国产精品视频第一专区| 欧美精品色视频| 国产精品主播| 91欧美亚洲国产五月天| 欧美无遮挡国产欧美另类| 欧美成在线视频| 91精品情国产情侣高潮对白蜜| 少妇精品久久久一区二区三区| 亚洲一区二区三区国产精品 | 欧美日韩中文国产|