【摘 要】本文闡述了使用Box2D物理引擎及常見的GDI開發的區別,在此基礎上描述系統的總體結構,并舉例說明物理試驗仿真。
【關鍵詞】Box2D 物理 仿真
【中圖分類號】TP391.9 【文獻標識碼】A 【文章編號】1674-4810(2012)09-0011-01
通過計算機技術虛擬物理試驗環境,進行物理試驗演示,能夠有效減少投資成本,消除試驗設備的折舊率,且試驗可以反復多次、無誤差地進行。通過虛擬物理環境能夠讓學生解決實際的物理問題,從而更直觀地進行物理分析,了解物理過程。高中物理實驗是難度較大的一門實驗課程。實際上,高中物理實驗的內容主要是按傳統實驗的內容來編制,通過教師畫圖、講述來描述整個實驗過程。做仿真實驗可以不受時間、地點、人次限制,學生隨時可以進行,能很方便地借助大量的網絡資源預習、復習實驗,緩解了傳統實驗教學長期受到課堂、課時限制困擾這一問題,使實驗教學內容在時間、空間上得到了延伸。因現根據高中物理的教學實踐, 開發了一套高中物理虛擬仿真實驗軟件開發工具。
一 開發工具選擇
1.基于GDI與Box2D的開發比較
基于GDI的物理仿真系統開發,可以不考慮編譯器和操作系統的使用,開發者只需要開發過程,但是開發者需要自行處理自己的圖形化界面以及物理仿真中的公式和運行效果,開發工作量較大,實施困難較多,不利于開發。圖1是筆者開發的基于GDI的物理仿真系統的圖形化部分。
圖1 基于GDI的物理仿真系統圖形功能
Box2D物理引擎有C++、flash、Java等版本,支持跨平臺,Box2D引擎集成了圖像處理功能,用戶不必處理復雜的圖像繪制工作,可以大大減少開發過程,開發者可以專注于處理。
2.開發環境的選擇
Box2D物理仿真引擎為開源,支持.cmake文件,需要使用中間軟件如CMake將該開源代碼轉換為Visual Studio 2010支持的.sln工程文件,進而使用后者進行進一步開發。
CMake是一個跨平臺的編譯工具,可以使用自己的組態文件CMakeLists.txt文件及源碼文件,生成各種makefile或者project文件,從而滿足用戶使用gcc或者Visual C++進行進一步構建應用程序。
本開發是基于Windows平臺的軟件開發,操作系統選擇Windows XP sp2,物理引擎選用Box2D,中間軟件使用CMake,編譯器采用Visual Studio 2010。
二 系統構建思想
1.實驗實例
系統主要實現高中物理的力學部分實驗,本文以“滑輪”試驗為例,說明系統在實現這一功能的思想和構建過程。物理過程模型見圖2。軟件能夠實現對物理量的設置,如重力加速度、物體的質量、初始狀態燈,同時軟件能夠實時展示試驗過程中的各種物理量,如某個瞬間的物體加速度、速度等。
2.軟件結構
軟件分為框架、屬性、模型三部分??蚣苡糜诩虞d和保存程序的配置信息、存儲文件以及控制和展示實驗;模型部分用于動態生成仿真中所需要的物理模型;屬性部分用于設置物理模型的屬性以及整個物理實驗的環境。屬性設置部分見圖3。
三 結束語
虛擬實驗配合真實的實驗使用能完善實驗教學體系,滿足實驗教學的需要和發展,提高教學效率和教師的教學科研能力,促進教師業務知識的更新,使實驗教學手段和教學內容豐富多樣,利于學生更好地掌握實驗方法、提高知識的應用能力,為創造性能力的形成打下了基礎。使用Box2D物理引擎能夠快速開發剛性的高中物理實驗,構建生動的演示界面,能提高學生的學習興趣,使學生對計算機有更深的了解,開闊學生的視野。
參考文獻
[1]蔡青.仿真實驗的應用與大學物理實驗的教學改革[J].成都信息工程學院學報,2006(01)
[2]高亞妮、梁海生.物理實驗教學與創新能力的培養[J].中山大學學報論叢,2004(03)
[3]譚守標、霍劍青、王曉蒲.計算機虛擬技術在大學物理仿真實驗教學系統中的應用[J].中國科學技術大學學報,2005
[4]王民英.“多媒體仿真實驗”在物理教學中的實踐與思考[J].甘肅科技縱橫,2008(02)
〔責任編輯:王以富〕