安徽理工大學計算機科學與工程學院 周華平 林浩偉 孫克雷
近年來,隨著計算機技術的迅速發展,拓寬和深化了計算機在數據采集和信息處理方面的應用,尤其是人與信息科學相結合的高新技術——可視化(Visualization)與虛擬現實(virtual Reality,簡稱VR)給計算機的應用帶來了新的活力。在計算機技術創造的三維虛擬環境中,用戶可直接參與并探索仿真對象在所處環境中的作用與變化,可視化及虛擬現實技術的進一步發展必將成為現代科學技術研究的重要手段并將對信息的處理及提高信息的利用率產生深遠的影響。在礦業領域中由于新技術和新設備的不斷引入,增強了礦業對于安全高效、自動化的要求,虛擬現實技術為滿足這一需求提供了有效手段。因此虛擬現實的研究開發無疑對提高煤礦安全生產、礦工安全保護意識和系統優化設計等具有重要的實用價值。
虛擬現實是利用計算機生成一種模擬環境,它通過多種傳感設備使用戶“沉浸”到該環境中,是實現用戶與該環境直接進行自然交互的技術。實際上它就是一種先進的人機接口,通過給用戶同時提供諸如視、聽、觸等各種直觀而又自然的實時感知交互手段,最大限度地方便用戶操作,從而減輕用戶的負擔,提高整個系統的工作效率。虛擬現實技術可以完全徹底地轉化人們的想象力,在計算機中產生另一種境界,將境界的有關信息傳給人的感覺器官,使人們獲得一種全新的感受,讓人覺得其的確是在另外一個三維世界中。虛擬現實技術是一項綜合集成技術,涉及計算機圖形學、人機交互技術、傳感技術、人工智能等領域,它用計算機生成逼真的三維視覺、聽覺、味覺等感觸,使人作為參與者通過適當的虛擬現實設置,自然的對虛擬世界進行體驗和交互作用。

圖1 OpenGL的基本工作流程

圖2 三維虛擬漫游系統的總框圖
1)多感知性
除了一般計算機所具有的視覺感知外,虛擬現實系統還具有聽覺感知、力覺感知、觸覺感知、味覺感知和嗅覺感知等。理想的虛擬現實系統應具有人的一切感知功能,目前由于傳感器技術的限制,現有的虛擬現實技術所能提供的感知功能僅限于視覺、聽覺、力覺和觸覺等。
2)用戶投入性
這是VR系統的核心,是指用戶進入到計算機生成的虛擬場景中的能力,用戶在虛擬場景中有身臨其境之感。
3)用戶與虛擬場景的交互性
指用戶與虛擬場景中各種對象相互作用的能力。它是人機和諧的關鍵因素。交互性包括對象的可操作程度及用戶從環境中得到反饋的自然程度、虛擬場景中對象依據物理學定律運動的程度等。VR是自主參考系,即以用戶的視點變化進行虛擬交換,這個過程中最重要的因素是實時性,實時性是指計算機能夠響應用戶的輸入并立即改變虛擬場景狀態的能力。虛擬現實不僅僅是一個用戶與終端的接口,而且可使用戶沉浸在虛擬環境中獲取新知識,提高感性和理性認識,從而產生新的構思并輸入到系統中去,系統會將處理后的狀態實時顯示或由傳感裝置反饋給用戶。
OpenGL(Open Graphics Library)是美國SGI公司開發的三維圖形設計軟件,獨立于操作系統和硬件系統的圖形開發系統的通用接口,被認為是高性能圖形和交互式視景處理的標準,是計算機圖形技術領域的集大成者。在三維仿真建模、虛擬現實技術等領域,OpenGL發揮著重要的作用。OpenGL突出的特點是與平臺無關,它適用UNIX,Windows95/98,MacOS,WindowsNT等多種操作系統,而且在Visual C++2。0及以上版本中都封裝了OpenGL圖形庫。它包括100多個圖形函數,開發者可以用這些函數構造出接近光線跟蹤的高質量的三維景物模型、進行三維圖形實時交互軟件的開發。OpenGL提供的基本功能有:模型繪制、模型觀察、光照處理、色彩處理、位圖和圖像處理、紋理映射、實時動畫、物體運動模糊處理、交互技術等。因此利用OpenGL與Visual C++結合可以開發出完美的3D圖形產品。
OpenGL實現一個完整功能的圖形處理系統結構是:底層為圖形硬件,依次向上為操作系統、窗口系統、OpenGL和應用軟件。其基本工作流程如圖1所示。
OpenGL提供對2D、3D圖形的基本操作,但并不提供描述復雜幾何物體及建立復雜物體模型的手段,即它僅提供繪制復雜幾何物體本身的機制而非描述復雜物體本身的方法,因而,必須尋找自身的三維建模方法才能繪制出適合需要的真實世界。
(1)分割重組法
分割重組法生成一個宏觀物體,需要拆分和重組兩個步驟。拆分過程是將物體人為地細節化,而重組則是將己拆分的圖形片元按一定規律組裝起來,是拆分的逆過程。下面是這兩個步驟的具體過程。
l)拆分
考慮一個宏觀物體,從各個方向將其切分,切分原則應保證每兩切面之間的形狀為方形、圓形或兩者的結合。應根據物體的形狀,選擇恰當的切分點,使切分后的物體比較簡單、規則。采用這一切分原則可以較為細致地刻畫出物體的每個細節,因而方便了圖形的重新組織工作。對物體進行切分之后,可得到由基本幾何形狀組成的切分面(多邊形、圓、方形等),對圓形切面以相近多邊形擬合,獲得合適的多邊形之后,確定重組物體所需的長方體側面數。為方便計算,常取8、16、32、64多邊形來逼近某一曲面。
2)重組
重組的過程也是尋找圖形對象點、線、面關系的過程。還以上述的物體為例,將各部分分別編號并按順序連接兩面對應點,從而形成所需模型。
(2)曲面合成法
在實際的礦井系統仿真中,經常會遇到制作光滑曲面、閉合曲面的情形,如彎道、交叉口以及機械構件等實物造型。為了很好的實現曲面建模,可采用計算機圖形學中較為成熟的Bezier、NURBS等樣條曲一面理論,同時借助OpenGL語言的強大功能來完成曲面設計方法。利用Bezier曲線的形狀(有一組多邊折線的頂點唯一地確定)可以畫出十分光滑的曲線,在多邊形多個頂點中,只有第一個和最后一點在Bezier曲線上,第一條和最后一條折線的方向是Bezier曲線的起點和終點的切線方向,而其余的頂點則用于定義曲線的形狀。改變多邊折線的頂點和改變曲線的形狀有著形象直觀的聯系。
三維漫游系統是包括一個逼真的視、聽、觸覺一體化的特定范圍的虛擬環境,它是一個真實空間或假想空間的實時仿真虛擬空間,用戶借助一定的裝備以自然的方式在該虛擬空間中漫游,從任意角度對環境中的虛擬對象進行觀察,從而產生親臨其境的真實感覺,同時也可以對其中的物體進行操作獲取反饋。在構建煤礦虛擬現實模型的基礎上,進一步建立相應的模型數據庫,通過該數據庫可以構建不同虛擬現實礦井,以便適應不同的煤礦需求。利用目前比較成熟的Vega虛擬現實軟件開發工具,結合煤礦虛擬現實模型,實現煤礦的漫游功能。在漫游功能的基礎上,能夠對礦工進行礦井地圖識別訓練、礦井搜索訓練等任務,使礦工在虛擬環境下能對礦井有所熟悉,并且對各種安全設施所在的方位了如指掌,增加礦工在災變環境下的逃生能力。三維虛擬漫游系統的總框圖如圖2所示。
系統主要包括數據庫管理子系統、三維可視化子系統和礦井三維虛擬環境子系統。數據庫管理子系統主要實現基礎數據庫的維護與管理,能夠對數據庫的記錄進行添加、刪除、修改、查詢及表格顯示。三維可視化子系統主要對礦井實物采用三維的數據模型和數據結構表示。礦井虛擬環境模塊采用一系列的虛擬現實技術構建虛擬的礦井環境,使用戶產生身臨其境的感覺,并能與虛擬環境進行交互。礦井下漫游主要包括:
1)巷道漫游模塊
用戶在巷道里進行自由漫游,并且把控制權交到用戶手中,使其具有很強的漫游感,了解主要巷道的情況,在不下井的情況下清楚地了解到井下巷道的布置狀況,為以后的工作生產以及安全培訓提供了優越的條件。
2)開采工作面模塊
動態模擬出開采工作面的工作情況,使用戶了解礦山穿孔、爆破等階段的情況,起到教學培訓的作用
3)運輸作業模塊
動態模擬出電機車運輸到提升罐籠,以及提升的過程。在這個過程中,用戶可以從各種角度觀察整個過程,并且通過鍵盤來控制各個設備的運動。
Vega是Multigen-Paradigm公司推出的應用于虛擬現實、實時仿真及其它可視化領域的高性能軟件環境。它能夠為用戶提供處理復雜仿真事件的便捷手段,用戶可以簡單迅速地創建、編輯、運行復雜的仿真應用。Vega主要包括2個部分:其一是被稱為Lynx的圖形用戶界面工具箱;另外一個是基于C語言的函數庫。
本系統在Vega體系結構的基礎上采用2層軟件結構設計模式,底層為Vega/OpenGL Performer虛擬現實功能的實現,上層為程序界面和數據庫查詢。這兩層通過公共結構g_pVrInterface實現信息交換,軟件結構清晰明了,增強了程序的健壯性。
井下巷道繪制的實現步驟是:①首先從數據庫中讀取繪制井下巷道的控制數據(如控制巷道斷面形狀的參數、巷道中心線等);②根據讀取的巷道控制數據,利用OpenGL語言繪制出井下巷道(其中包括巷道法向量的計算、巷道紋理坐標的計算等)。
根據淮南礦業集團某礦井下巷道拓撲結構,依據上述煤礦井下三維幾何模型構建方法,繪制出了該礦井下巷道的三維視圖,如圖3所示,圖4是模擬井下瓦斯抽放的三維圖。由其三維幾何模型數據庫,采用成熟的Vega虛擬現實軟件利用VC調用函數庫對Lynx生成的ADF文件進行編程構建了煤礦井下虛擬現實情景的漫游畫面和煤礦井下虛擬工作面,分別如圖5和圖6所示。

本文將三維可視化技術和虛擬現實技術應用在復雜的煤礦井下環境中,對煤礦三維建模方法進行了研究,采用OpenGL對煤礦井下情景進行三維建模,并設計了煤礦井下三維漫游系統,對煤礦安全生產、有效管理、高效運行等提供了一種新的思路。
[1]段瑩,管濤,盧金婷.OpenGL在虛擬現實技術中的應用研究[J].軟件導刊,2012(6).
[2]馮芬君,劉靜宇,王維.虛擬現實技術在環藝測繪課程中的應用[J].科技信息,2012(18).
[3]莊惠陽,陳能,朱寧.虛擬現實導游系統的開發與應用[J].中國教育信息化,2012(7).
[4]http://www.longruan.com/htmls/cpjs/mzgl_3.asp.
[5]劉永先,侯先敏.礦井三維虛擬現實系統研究及應用[J].煤炭科技,2010,(4).
[6]武亞峰,林在康,楊曉威,程海星,顧洪江.基于虛擬現實技術的數字化礦井系統[J].煤炭科技,2009(1).
[7]曾偉,姜本琦,鄭確.基于虛擬現實技術的礦井人員培訓系統[J].煤礦安全,2008(5).
[8]王德永,仵自連,杜衛新.虛擬現實技術在礦井生產仿真系統中的應用[J].煤礦機械,2006(10).
[9]韓文驥,王文平,韓可琦,萇道方.基于虛擬現實技術的礦井生產系統可控可視化研究[J].能源技術與 管理,2005(6).
[10]程結海,張震宇,萬剛.基于虛擬現實技術的三維礦井漫游系統研究[J].礦業研究與開發,2005(4).