劉娜 江南機電設計研究所
虛擬現(xiàn)實技術可利用計算機建立模型來描述人、物、環(huán)境及其相互關系,創(chuàng)造一個讓人如同體驗真實場景的三維虛擬世界,在游戲開發(fā)、軍事仿真等領域得到廣泛應用。OpenGL 作為一種開發(fā)可視化仿真系統(tǒng)的圖形API,提供了嚴格遵循計算機圖形學原理設計的點、線、多邊形等基本圖形函數(shù)以及圖形變換、紋理映射、動畫顯示等圖形操作函數(shù),具有很強的二次開發(fā)功能。
本文在Visual C++平臺上利用OpenGL函數(shù)庫建立了導彈飛行視景仿真模型,根據(jù)輸入的導彈飛行數(shù)據(jù)參數(shù),可對導彈飛行彈道進行可視化仿真,對所規(guī)劃的彈道進行可行性驗證。
高品質(zhì)的三維實體模型是形成逼真的視景仿真效果的關鍵條件。OpenGL提供了一系列繪制基本圖元的函數(shù),然后利用繪制的基本圖元按照一定的空間位置組合形成復雜的幾何物體。采用這種方法對于形狀簡單的物體較為容易,且可將繪制模型形成的代碼進行封裝,重復使用,提高建模效率,本文中的導彈模型就是采用此方法建立的。根據(jù)導彈結構特點,把導彈分為彈頭、彈身、舵翼等部分。
對于如飛機等形狀復雜的目標物體,單純利用上述基本圖元組合方法,編程復雜,圖形顯示實時性不能保證。本文對于目標的外形的建立是通過3ds max實現(xiàn)的,利用轉換軟件將其轉換為OpenGL可讀取的文件格式,采用三角形近似逼近的方法繪制目標。
導彈與目標的飛行過程模擬是通過保持視點坐標不變,移動、旋轉以及縮放導彈及目標模型等方式實現(xiàn)的。首先確認視點坐標位置,通過gluLookAt()函數(shù)定義了仿真視點的位置,通過讀取事先開發(fā)的導彈模擬程序的計算文件獲取導彈與目標的位置信息,并利用OpenGL提供的glTranslatef將導彈與目標更新的位置坐標變化轉換到視圖界面中對應的(x,y,z)位置,實現(xiàn)導彈與目標在視景仿真過程中沿著x軸、y軸、z軸平移動作,通過glRotatef函數(shù)設置導彈與目標在飛行過程中旋轉變換;通過glScale 實現(xiàn)導彈與目標沿著x,y,z軸縮放操作。
環(huán)境仿真效果對視景仿真的逼真性和實際的仿真顯示效果具有重要影響,場景仿真越接近真實環(huán)境,對圖形處理的要求就越高。
1)地形繪制
地形作為自然界中復雜程度最高的景物,其模擬繪制方法廣受關注,地形生成可分真實地形與模擬地形可視化兩類,而本導彈飛行視景仿真對地形背景要求只需滿足基本感官效果,不必達到真實地形的逼真程度,因此,本系統(tǒng)采用了隨機高程數(shù)據(jù)生成方法來模擬地形。隨機高程三維地形模擬方法是將三維地形中的地平面分解為網(wǎng)格,根據(jù)網(wǎng)格頂點 ( x , z),利用計算機生成的隨機特征點作為地形高度y值,同時在不同高度值間采用多階曲線擬合方法使形成的地形比較平滑,最后對地形網(wǎng)格進行多重紋理貼圖,形成具有較高逼真性的三維地形。在三維地形繪制中,通過建立頂點位置數(shù)組、顏色數(shù)組及紋理坐標數(shù)組方法,減少函數(shù)的調(diào)用及頂點傳遞次數(shù),提高視景顯示的流暢性。
2)天空背景模擬
天空的構造為視景仿真提供了極好的感官效果。本文采用構建貼有天空紋理的半球形網(wǎng)格方法進行天空體的繪制,通過OpenGL中球面坐標系建立網(wǎng)格頂點坐標f(x,y,z),然后選擇合適的天空紋理映射到網(wǎng)格的方法建立半圓頂形天空模型。由于半球形天空繪制方法形成的頂點數(shù)據(jù)越多,紋理貼圖效果越逼真,霧化效果越均勻,但是頂點數(shù)據(jù)過多會造成天空背景繪制效率變慢,本文采用半球形網(wǎng)格天空繪制方法生成的32×64個天空頂點。
本文根據(jù)導彈與目標模型位置差進行碰撞檢測,當導彈與目標模型位置差小于導彈戰(zhàn)斗部殺傷距離時,確定彈目遭遇,進行爆炸效果的模擬,否則導彈未命中。對爆炸效果的模擬采用了對象的不同繪制方法,在爆炸前是按照幾何圖形繪制方法繪制導彈,讀取OBJ文件并根據(jù)三角近似逼近的方法繪制目標;而在導彈擊中目標后,爆炸效果繪制分為破裂和碎片飛散兩個步驟,模型破裂采用三角近似逼近的方法模擬爆炸碎片,將導彈與目標分成不同的面片,分散來進行繪制的,在爆炸后根據(jù)爆炸原理繪制碎片飛散效果,將導彈與目標殘骸向外膨脹,爆炸碎片隨著距離的增加而逐漸衰減,根據(jù)計算模型對象的各個三角形面片在爆炸作用下的新的位置,利用最初的三角形面片的紋理,將爆炸對象繪制出來,同時賦予爆炸碎片旋轉屬性。
本文利用VC與OpenGL開發(fā)了以某型導彈為例的導彈飛行視景仿真模型,能方便的對場景中的導彈各部分尺寸進行設置,可通過改變性能參數(shù)來達到不同型號的導彈作戰(zhàn)仿真。提供了真實的三維場景,實現(xiàn)了導彈的六自由度可視化演示,對規(guī)劃導彈飛行彈道具有很好的工程應用價值。
[1]胡海,錢江.對機動突防反艦導彈的防御[J].現(xiàn)代防御技術,29(5): 20-23.
[2]玄一民,李紅亮,宋貴寶.潛艦導彈與航母編隊攻防對抗仿真系統(tǒng)設計[J].飛航導彈, 2005.
[3]劉劍威.反艦導彈典型攻擊模式及運動仿真研究[J].指揮控制與仿真,2006.