导弹飞行过程的虚拟现实
第35卷第5期 长春工业大学学报(自然科学版) Vol畅35No.5导弹飞行过程的虚拟现实
谭艳丽
(太原工业学院电子工程系,山西太原 030008)
摘 要:基于Vrmlpad软件平台,应用VRML开发导弹飞行过程仿真,通过交互界面的设计、三维对象的建模、模型的数据驱动以及视点的变化,建立了导弹的三维模型,制作了地形、天空等三维仿真场景,该系统能够实现导弹飞行的可视化仿真,可通过视景仿真终端从任意角度和距离观察导弹的飞行过程。
关键词:虚拟现实;导弹;飞行;Vrmlpad
中图分类号:TP312 文献标志码:A 文章编号:1674‐1374(2014)05‐0543‐04
Missileflightprocessvirtualreality
(DepartmentofElectronicEngineer,TaiyuanInstituteofTechnology,Taiyuan030008,China)
TANYan‐li
Abstract:Basedonvrmlpadplatform,missileflightprocessissimulatedwithVRML.The3Dmodelofthemissileisestablishedbydesigninginterface,building3Dobject,finishingdata‐drivenandviewchanges.The3Dearthtopographyandskyscenesarecreated.Thesimulationsystemcanrealizethemissileflightvisualization,andtheflightprocesscanbeviewedfromanydistanceandangleatterminals.
Keywords:virtualreality;missile;flight;Vrmlpad.
0 引 言
导弹的杀伤力和破坏力极其巨大,而导弹实验的危险性也不可估量。视景仿真通过建立数学模型来代替导弹系统,构造导弹的三维模型和再现飞行真实环境,能够达到较逼真的仿真效果,从
[1]
而避免了导弹实验可能发生的意外事件。在导弹飞行过程的仿真中会产生大量的数据,虚拟现实(VRML)仿真将生成的数据通过图像来表示,
这种直观感觉更有利于对仿真结果的分析。
1 虚拟场景中背景的建立
将导弹飞行空间背景分为两部分:天空和地面,二者之间以地平线分割。在VRML中,通过background节点不同的颜色效果来设定天空和
[2]
地面的空间背景。1.1 创建天空
应用background节点创建一个颜色由蓝色
收稿日期:2014‐07‐20
作者简介:谭艳丽(1978-),女,汉族,山西太原人,太原工业学院讲师,硕士,主要从事信息通信、图像处理、模式识别方向研究,E‐
mail:wubotyl@126.com.
逐渐变为绿色的天空效果图。源程序如下: #VRMLV2.0utf8Group{
children[Background{
skyColor[0.00.01.00.10.11.00.10.60.6]skyAngle[1.0471.571]}]}
件中,创建一个包含蓝色天空和灰色地面的空间背景。源代码如下:
0utf8Group{ #VRMLV2.
children[Background{
skyColor[0.00.01.00.10.11.01.01.01.0]skyAngle[1.0471.571]
90.90.90.10.10.01.01.01.0]groundColor[0.
效果如图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.047rad和1.571rad。源代码如下:
#VRMLV2.
0utf8Group{Colorchildren[0.0[Background1.00.00.0{g0round g效果如图roundAngle2
[1所示.
047。
1.571]}}.50.21.01.01.0]图2 创建地面图
1.3 创建全景图
将以上background节点合在一个VRML文
效果如图groundAngle3
[1所示.
024。
1.571]}]}图3 创建全景图
2 导弹三维模型的建立
通过运用VRML的挤出造型节点Extrusion来创建的导弹前翼、后翼、弹头、弾身及弹尾的造型[5]。
导弹前翼源代码如下:
Shape{appearanceDEFmy1Appearance{material
MaterialgcrossSectioneometry{}}
Extrusion{
550.020.55]
[-0.020.5-0.02-0.550.02-0.spinescale[00.5000.85001.0solidFALSE[11,0.Shape{appearance}}68,
1,00.33]0] crossSection[0.550.02USE0.55my1-0geometry.02-0Extrusion.55-0.02{
-0.550.02]
spinescale[00 [1solidFALSE1,.1500.0680,0.85.3300]01.00] }}
效果如图4所示。
shininess0.7
specularColor10.70 } }
crossSection[1.000.92390.38270.70710.7071 0.38270.92390.01.0-0.38270.9239 -0.70710.7071-0.92390.3827-10 -0.9239-0.3827-0.7071-0.7071-0.
57geometryExtrusion{creaseAngle1.
图4 导弹前翼
导弹后翼源代码如下:
Shape{appearanceDEFmy2Appearance{material
Materialgeometry{}}
Extrusion{
0.80crossSection.02]
[0.80.020.8-0.02-0.8-0.02-spinescale [1[0solid1-,13.2500-2.500-2.00]FALSE0.77,0}}.24,0]gShapeeometry{appearanceExtrusion{USEmy2
0.02crossSection0.8]
[0.020.80.02-0.8-0.02-0.8-spinescale [1[0 1-solidFALSE,03..772510,000-2.500-2.00]}}.24],]
}]}
效果如图5
所示。
图5 导弹后翼
导弹弹头与弾身源代码如下:
Shape{appearanceAppearance{materialDEFMy
MaterialdiffuseColor{
110
3827-0.9239
-10.3827-0.92390.7071-0.7071 0.9239-0.382710]spine 0[03.-8223.2500030.8430.5000031..850000]scale [00.06.400..40600.4.040.400.04.3800.02.380.0200]
solidFALSE } }
效果如图6
所示。
图6 弹头弹身
3 导弹飞行过程仿真
VRML通过一个给定的时间传感器以及一
些类的插补器节点对场景中的动画进行控制[6]
。其基本思想是通过一个时间传感器给出某时钟,该时钟用以控制动画效果,且包含某些动画控制参数,如动画效果的开始时间、停止时间、循环周期以及是否循环等;然后通过该时钟的事件输出在虚拟世界中驱动插补器节点产生相应的动画效
546
[7]
长春工业大学学报(自然科学版) 第35卷
}
DEFdaodan2OrientationInterpolator{key[0,0.5,1]
keyValue[1000,1000.5,1001〗}]ROUTEclock.fraction_changedTOdaodan1.set_ROUTEclock.fraction_changedTOdaodan2.set_ROUTEdaodan2.value_changedTOview.orienta‐ROUTEdaodan1.value_changedTOdongfeng.
果。导弹飞行过程的动画由多发送事件经过4
个阶段组成:触发阶段、逻辑处理阶段、记时阶段、
[8]
引擎和目标阶段。源代码如下: #导弹飞行过程控制: Group{
children[DEFclockTimeSensor{cycleInterval10
DEFdaodan1PositionInterpolator{key[0,0.1,0.2,0.3,0.4,0.5, 0.6,0.7,0.8,0.9,1]
keyValue[010,040,080,0110,0150,0200, 0240,0270,0300,0350,0400]loopTRUE}enabledTRUE
}
fractionfractiontion
translation
动画效果如图7
所示。
图7 导弹飞行过程
4 结 语
通过VRML中的background节点创建了天空、大地以及导弹飞行背景图。运用挤出造型节点Extrusion创建了导弹的前翼、后翼、弹头、弾身、弹尾,建立了导弹的三维模型。通过导弹飞行过程动画流程4个阶段实现了导弹飞行过程的仿真。采用数学模型代替导弹系统,一定程度上避免了导弹实验可能发生的意外,实现了导弹飞行的可视化仿真。参考文献:
[1] 屈年赦.三维建模和可视化方法的研究[D]:[硕士
学位论文].阜新:辽宁工程技术大学,2005:21‐24畅[2] 吴义明,齐欢.导弹对抗的视景仿真[J].计算机仿
真,2005,22(8):28‐31.
[3] 凌峰.飞行视景仿真系统研究与开发[D]:[硕士学
位论文].西安:西北工业大学,2003:56‐60畅[4] RobertStone.Virtualrealityforinteractivetrain‐
ing:anindustrialpractitioner’sviewpoint.[J].Hu‐[5] 董光波.某型导弹飞行攻击阶段仿真的研究与实现
[J].系统仿真学报,2003,15(3):408‐411畅
[6] 康凤举.现代仿真技术与应用[M].北京:国防工业
出版社,2001:30‐32畅
[7] JDGans,DShalloway.Qmolaprogramformolec‐
ularvisualizationonWindows‐basedPCs[J].J.[8] 简小征.某导弹飞行过程的可视化仿真研究[D]:
[硕士学位论文].西安:西北工业大学,2004:78‐80畅Mol.Graph,2001,19(6):557‐559畅
man‐ComputerStudies,2001,55(4):699‐711畅
导弹飞行过程的虚拟现实
作者:作者单位:刊名:英文刊名:年,卷(期):
谭艳丽, TAN Yan-li
太原工业学院电子工程系,山西太原,030008
长春工业大学学报(自然科学版)
Journal of Changchun University of Technology (Natural Science Edition)2014(5)
2014(5)
引用本文格式:谭艳丽. TAN Yan-li 导弹飞行过程的虚拟现实[期刊论文]-长春工业大学学报(自然科学版)