譚艷麗
(太原工業學院 電子工程系, 山西 太原 030008)
導彈飛行過程的虛擬現實
譚艷麗
(太原工業學院 電子工程系, 山西 太原 030008)
基于Vrmlpad軟件平臺,應用VRML開發導彈飛行過程仿真,通過交互界面的設計、三維對象的建模、模型的數據驅動以及視點的變化,建立了導彈的三維模型,制作了地形、天空等三維仿真場景,該系統能夠實現導彈飛行的可視化仿真,可通過視景仿真終端從任意角度和距離觀察導彈的飛行過程。
虛擬現實; 導彈; 飛行; Vrmlpad
導彈的殺傷力和破壞力極其巨大,而導彈實驗的危險性也不可估量。視景仿真通過建立數學模型來代替導彈系統,構造導彈的三維模型和再現飛行真實環境,能夠達到較逼真的仿真效果,從而避免了導彈實驗可能發生的意外事件[1]。在導彈飛行過程的仿真中會產生大量的數據,虛擬現實(VRML)仿真將生成的數據通過圖像來表示,這種直觀感覺更有利于對仿真結果的分析。
將導彈飛行空間背景分為兩部分:天空和地面,二者之間以地平線分割。在VRML中,通過background節點不同的顏色效果來設定天空和地面的空間背景[2]。
1.1創建天空
應用background節點創建一個顏色由藍色逐漸變為綠色的天空效果圖。源程序如下:
#VRML V2.0 utf8 Group {
children [Background {
skyColor [0.0 0.0 1.0 0.1 0.1 1.0 0.1 0.6 0.6]
skyAngle [1.047 1.571]}]}
效果如圖1所示。

圖1 創建天空圖
在以上VRML文件中,用background節點的skycolor域指定3種天空著色顏色:純藍色、淺藍色和綠色。在skyangle域中,指定3個天空角:0°,45°,90°,將純藍色指定天空角為0°;淺藍色指定天空角為45°;綠色天空角為90°,3個顏色之間的區域顏色自動平滑過渡[3-4]。
1.2創建地面
使用background節點設置場景的地面顏色背景,在groundcolor域設置使用3個地面顏色:0.0,1.0,0.0(綠色);0.0,0.5,0.2(黑色);1.0,1.0,1.0(白色)。在groundangle域設置使用2個地面角度:1.047 rad和1.571 rad。源代碼如下:
#VRML V2.0 utf8 Group {
children [Background {ground
Color[0.0 1.0 0.0 0.0 0.5 0.2 1.0 1.0 1.0]
groundAngle[1.047 1.571]}}
效果如圖2所示。

圖2 創建地面圖
1.3創建全景圖
將以上background節點合在一個VRML文件中,創建一個包含藍色天空和灰色地面的空間背景。源代碼如下:
#VRML V2.0 utf8 Group {
children [Background {
skyColor [0.0 0.0 1.0 0.1 0.1 1.0 1.0 1.0 1.0]
skyAngle [1.047 1.571]
groundColor[0.9 0.9 0.9 0.1 0.1 0.0 1.0 1.0 1.0]
groundAngle[1.024 1.571]}]}
效果如圖3所示。

圖3 創建全景圖
通過運用VRML的擠出造型節點Extrusion來創建的導彈前翼、后翼、彈頭、弾身及彈尾的造型[5]。
導彈前翼源代碼如下:
Shape { appearance DEF my1 Appearance { material Material {} }
geometry Extrusion {
crossSection [-0.02 0.5 -0.02 -0.55 0.02 -0.550.02 0.55 ]
spine [0 0.5 0 0 0.85 0 0 1.0 0 ]
scale [1 1,0.68 1,0 0.33]
solidFALSE }},
Shape { appearance USE my1 geometry Extrusion {
crossSection [0.55 0.02 0.55 -0.02 -0.55 -0.02 -0.55 0.02]
spine [0 0.5 0 0 0.85 0 0 1.0 0]
scale [1 1,1 0.68,0.33 0]
solidFALSE
}
}
效果如圖4所示。

圖4 導彈前翼
導彈后翼源代碼如下:
Shape{ appearance DEF my2 Appearance { material Material {}}
geometry Extrusion {
crossSection [0.8 0.02 0.8 -0.02 -0.8 -0.02 -0.8 0.02]
spine [0 -3.25 0 0 -2.5 0 0 -2.0 0]
scale [1 1,1 0.77,0.24 0]
solid FALSE}},
Shape { appearance USE my2
geometry Extrusion {
crossSection [0.02 0.8 0.02 -0.8 -0.02 -0.8 -0.02 0.8]
spine [0 -3.25 0 0 -2.5 0 0 -2.0 0]
scale [1 1,0.77 1,0 0.24]
solidFALSE }},
]
}
]
效果如圖5所示。
導彈彈頭與弾身源代碼如下:
Shape { appearance Appearance { material DEF My Material {
diffuseColor 1 1 0
shininess 0.7
specularColor 1 0.7 0
}
}
geometry Extrusion{ creaseAngle1.57
Curcio等[4]在2001年首次利用直接接觸式膜蒸餾濃縮NaCl溶液并得到NaCl晶體。Felinia等[5]設計了不同結構和形狀的中空纖維膜,并應用到直接接觸式膜蒸餾結晶中處理高濃度NaCl溶液從中回收水和NaCl晶體,研究表明單層的聚偏氟乙烯(PVDF)膜比雙層PVDF膜更具有抗潤濕能力。關云山等[6]用膜蒸餾—結晶耦合技術從高濃度KCl-MgCl2-H2O溶液中回收KCl,他們在實驗中研究了溶液的濃度、循環流速對膜性能的影響。但是,膜蒸餾技術在鹵水濃縮方面的應用研究比較少。
crossSection [1.0 0 0.9239 0.3827 0.7071 0.7071
0.3827 0.9239 0.0 1.0 -0.3827 0.9239
-0.7071 0.7071 -0.9239 0.3827 -1 0
-0.9239 -0.3827 -0.7071 -0.7071 -0.3827 -0.9239
-1 0.3827 -0.9239 0.7071 -0.7071
0.9239 -0.3827 1 0]
spine [0 -3.25 0 0 0.5 0 0 1.0 0
0 3.822 0 0 3.843 0 0 3.850 0]
scale [0.4 0.4 0.4 0.4 0.38 0.38
0.06 0.06 0.04 0.04 0.02 0.02
0 0]
solid FALSE
}
}
效果如圖6所示。

圖6 彈頭彈身
VRML通過一個給定的時間傳感器以及一些類的插補器節點對場景中的動畫進行控制[6]。其基本思想是通過一個時間傳感器給出某時鐘,該時鐘用以控制動畫效果,且包含某些動畫控制參數,如動畫效果的開始時間、停止時間、循環周期以及是否循環等;然后通過該時鐘的事件輸出在虛擬世界中驅動插補器節點產生相應的動畫效果[7]。導彈飛行過程的動畫由多發送事件經過4個階段組成:觸發階段、邏輯處理階段、記時階段、引擎和目標階段[8]。源代碼如下:
#導彈飛行過程控制:
Group {
children [ DEF clock TimeSensor {
enabledTRUE
cycleInterval 10
loop TRUE }
DEF daodan1 PositionInterpolator {
key [ 0,0.1,0.2,0.3,0.4,0.5,
0.6,0.7,0.8,0.9, 1]
keyValue [0 1 0,0 4 0,0 8 0, 0 11 0,0 15 0, 0 20 0,
0 24 0,0 27 0,0 30 0,0 35 0,0 40 0]
}
DEF daodan2 OrientationInterpolator{
key [ 0,0.5, 1]
keyValue [1 0 0 0,1 0 0 0.5 ,1 0 0 1〗 } ]
}
ROUTE clock.fraction_changed TO daodan1.set_fraction
ROUTE clock.fraction_changed TO daodan2.set_fraction
ROUTE daodan2.value_changed TO view.orientation
ROUTE daodan1.value_changed TO dongfeng.translation
動畫效果如圖7所示。

圖7 導彈飛行過程
通過VRML中的background節點創建了天空、大地以及導彈飛行背景圖。運用擠出造型節點Extrusion創建了導彈的前翼、后翼、彈頭、弾身、彈尾,建立了導彈的三維模型。通過導彈飛行過程動畫流程4個階段實現了導彈飛行過程的仿真。采用數學模型代替導彈系統,一定程度上避免了導彈實驗可能發生的意外,實現了導彈飛行的可視化仿真。
[1] 屈年赦.三維建模和可視化方法的研究[D]:[碩士學位論文].阜新:遼寧工程技術大學,2005:21-24.
[2] 吳義明,齊歡.導彈對抗的視景仿真[J].計算機仿真,2005,22(8):28-31.
[3] 凌峰.飛行視景仿真系統研究與開發[D]:[碩士學位論文].西安:西北工業大學,2003:56-60.
[4] Robert Stone. Virtual reality for interactive training:an industrial practitioner’s viewpoint.[J].Human-Computer Studies,2001,55(4):699-711.
[5] 董光波.某型導彈飛行攻擊階段仿真的研究與實現[J].系統仿真學報,2003,15(3):408-411.
[6] 康鳳舉.現代仿真技術與應用[M].北京:國防工業出版社,2001:30-32.
[7] J D Gans, D Shalloway. Qmol a program for molecular visualization on Windows-based PCs[J].J.Mol.Graph,2001,19(6):557-559.
[8] 簡小征.某導彈飛行過程的可視化仿真研究[D]:[碩士學位論文].西安:西北工業大學,2004:78-80.
Missile flight process virtual reality
TAN Yan-li
(Department of Electronic Engineer, Taiyuan Institute of Technology, Taiyuan 030008, China)
Based on vrmlpad platform, missile flight process is simulated with VRML. The 3D model of the missile is established by designing interface, building 3D object, finishing data-driven and view changes. The 3D earth topography and sky scenes are created. The simulation system can realize the missile flight visualization, and the flight process can be viewed from any distance and angle at terminals.
virtual reality; missile; flight; Vrmlpad.
2014-07-20
譚艷麗(1978-),女,漢族,山西太原人,太原工業學院講師,碩士,主要從事信息通信、圖像處理、模式識別方向研究,E-mail:wubotyl@126.com.
TP 312
A
1674-1374(2014)05-0543-04