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