譚艷麗
(太原工業(yè)學(xué)院 電子工程系, 山西 太原 030008)
導(dǎo)彈飛行過程的虛擬現(xiàn)實
譚艷麗
(太原工業(yè)學(xué)院 電子工程系, 山西 太原 030008)
基于Vrmlpad軟件平臺,應(yīng)用VRML開發(fā)導(dǎo)彈飛行過程仿真,通過交互界面的設(shè)計、三維對象的建模、模型的數(shù)據(jù)驅(qū)動以及視點的變化,建立了導(dǎo)彈的三維模型,制作了地形、天空等三維仿真場景,該系統(tǒng)能夠?qū)崿F(xiàn)導(dǎo)彈飛行的可視化仿真,可通過視景仿真終端從任意角度和距離觀察導(dǎo)彈的飛行過程。
虛擬現(xiàn)實; 導(dǎo)彈; 飛行; Vrmlpad
導(dǎo)彈的殺傷力和破壞力極其巨大,而導(dǎo)彈實驗的危險性也不可估量。視景仿真通過建立數(shù)學(xué)模型來代替導(dǎo)彈系統(tǒng),構(gòu)造導(dǎo)彈的三維模型和再現(xiàn)飛行真實環(huán)境,能夠達到較逼真的仿真效果,從而避免了導(dǎo)彈實驗可能發(fā)生的意外事件[1]。在導(dǎo)彈飛行過程的仿真中會產(chǎn)生大量的數(shù)據(jù),虛擬現(xiàn)實(VRML)仿真將生成的數(shù)據(jù)通過圖像來表示,這種直觀感覺更有利于對仿真結(jié)果的分析。
將導(dǎo)彈飛行空間背景分為兩部分:天空和地面,二者之間以地平線分割。在VRML中,通過background節(jié)點不同的顏色效果來設(shè)定天空和地面的空間背景[2]。
1.1創(chuàng)建天空
應(yīng)用background節(jié)點創(chuàng)建一個顏色由藍色逐漸變?yōu)榫G色的天空效果圖。源程序如下:
#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 創(chuàng)建天空圖
在以上VRML文件中,用background節(jié)點的skycolor域指定3種天空著色顏色:純藍色、淺藍色和綠色。在skyangle域中,指定3個天空角:0°,45°,90°,將純藍色指定天空角為0°;淺藍色指定天空角為45°;綠色天空角為90°,3個顏色之間的區(qū)域顏色自動平滑過渡[3-4]。
1.2創(chuàng)建地面
使用background節(jié)點設(shè)置場景的地面顏色背景,在groundcolor域設(shè)置使用3個地面顏色:0.0,1.0,0.0(綠色);0.0,0.5,0.2(黑色);1.0,1.0,1.0(白色)。在groundangle域設(shè)置使用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 創(chuàng)建地面圖
1.3創(chuàng)建全景圖
將以上background節(jié)點合在一個VRML文件中,創(chuàng)建一個包含藍色天空和灰色地面的空間背景。源代碼如下:
#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 創(chuàng)建全景圖
通過運用VRML的擠出造型節(jié)點Extrusion來創(chuàng)建的導(dǎo)彈前翼、后翼、彈頭、弾身及彈尾的造型[5]。
導(dǎo)彈前翼源代碼如下:
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 導(dǎo)彈前翼
導(dǎo)彈后翼源代碼如下:
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所示。
導(dǎo)彈彈頭與弾身源代碼如下:
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]設(shè)計了不同結(jié)構(gòu)和形狀的中空纖維膜,并應(yīng)用到直接接觸式膜蒸餾結(jié)晶中處理高濃度NaCl溶液從中回收水和NaCl晶體,研究表明單層的聚偏氟乙烯(PVDF)膜比雙層PVDF膜更具有抗?jié)櫇衲芰?。關(guān)云山等[6]用膜蒸餾—結(jié)晶耦合技術(shù)從高濃度KCl-MgCl2-H2O溶液中回收KCl,他們在實驗中研究了溶液的濃度、循環(huán)流速對膜性能的影響。但是,膜蒸餾技術(shù)在鹵水濃縮方面的應(yīng)用研究比較少。
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通過一個給定的時間傳感器以及一些類的插補器節(jié)點對場景中的動畫進行控制[6]。其基本思想是通過一個時間傳感器給出某時鐘,該時鐘用以控制動畫效果,且包含某些動畫控制參數(shù),如動畫效果的開始時間、停止時間、循環(huán)周期以及是否循環(huán)等;然后通過該時鐘的事件輸出在虛擬世界中驅(qū)動插補器節(jié)點產(chǎn)生相應(yīng)的動畫效果[7]。導(dǎo)彈飛行過程的動畫由多發(fā)送事件經(jīng)過4個階段組成:觸發(fā)階段、邏輯處理階段、記時階段、引擎和目標(biāo)階段[8]。源代碼如下:
#導(dǎo)彈飛行過程控制:
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 導(dǎo)彈飛行過程
通過VRML中的background節(jié)點創(chuàng)建了天空、大地以及導(dǎo)彈飛行背景圖。運用擠出造型節(jié)點Extrusion創(chuàng)建了導(dǎo)彈的前翼、后翼、彈頭、弾身、彈尾,建立了導(dǎo)彈的三維模型。通過導(dǎo)彈飛行過程動畫流程4個階段實現(xiàn)了導(dǎo)彈飛行過程的仿真。采用數(shù)學(xué)模型代替導(dǎo)彈系統(tǒng),一定程度上避免了導(dǎo)彈實驗可能發(fā)生的意外,實現(xiàn)了導(dǎo)彈飛行的可視化仿真。
[1] 屈年赦.三維建模和可視化方法的研究[D]:[碩士學(xué)位論文].阜新:遼寧工程技術(shù)大學(xué),2005:21-24.
[2] 吳義明,齊歡.導(dǎo)彈對抗的視景仿真[J].計算機仿真,2005,22(8):28-31.
[3] 凌峰.飛行視景仿真系統(tǒng)研究與開發(fā)[D]:[碩士學(xué)位論文].西安:西北工業(yè)大學(xué),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] 董光波.某型導(dǎo)彈飛行攻擊階段仿真的研究與實現(xiàn)[J].系統(tǒng)仿真學(xué)報,2003,15(3):408-411.
[6] 康鳳舉.現(xiàn)代仿真技術(shù)與應(yīng)用[M].北京:國防工業(yè)出版社,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ǎo)彈飛行過程的可視化仿真研究[D]:[碩士學(xué)位論文].西安:西北工業(yè)大學(xué),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-),女,漢族,山西太原人,太原工業(yè)學(xué)院講師,碩士,主要從事信息通信、圖像處理、模式識別方向研究,E-mail:wubotyl@126.com.
TP 312
A
1674-1374(2014)05-0543-04