飞行器虚拟现实仿真研究

时间:2022-10-22 11:52:33

飞行器虚拟现实仿真研究

摘 要:飞行器的虚拟现实仿真是虚拟现实技术在航空航天领域中的重要应用。在这一高复杂研发工作中,如何恰当地利用相关软件开发平台,高效、准确实现目标实体的三维仿真设计、开发是该工作的关键所在。针对这一问题,给出了基于虚拟现实建模语言和3DS Max可视化建模软件进行飞行器三维仿真造型的关键思路和过程方法。

关键词:虚拟现实;VRML;飞行器仿真;浏览器

Research on Aerocraft Virtual Reality Simulation

WANG Haopeng,LIU Bing

(Department of Computer,Aviation University of Air Force,Changchun,130022,China)

Abstract:Virtual reality simulation of aerocraft is a typical application of virtual reality technology in aviation and space.Applying a best software development flat to realize 3D simulation designing and development effectively and determinately is the key work.The paper presents approach and process method of aerocraft 3D virtual reality modeling based on Virtual Reality Modeling Language(VRML) and correlative visual modeling software.

Keywords:virtual reality;VRML;aerocraft simulation;browser

虚拟现实技术又称“灵境”技术,它的提出可以追溯到20世纪80年代。虚拟现实技术综合了计算机图形技术、计算机仿真技术、遥感技术和传感技术等诸多领域,使人们可以进入一个计算机生成的逼真的三维虚拟环境中。VRML作为一种基于WWW的具有一定规范的描述性格式的虚拟现实建模语言,吸取了面向对象的优点,可以生成、修饰三维实体对象[1]。VRML改变了原来WWW简单、交互性差的弱点,将人们的运动行为作为浏览的主体,提供给用户虚拟的三维空间。本文将以VRML为开发平台,研究、给出了对飞行器进行三维仿真构型的方法[2],并提供有效的仿真效果验证。

1 VRML实现三维仿真的工作方式

1996年8月的VRML 2.0增强了交互、动画和编程功能等。VRML 2.0的主要功能大体可以分为以下两大部分:

(1) 创建、修饰三维实体;

(2) 对模型对象编程与外部进行消息交递以实现交互功能。

根据VRML 97规范,目前VRML 2.0支持3种水平上的编程方式:第一种是利用内嵌的VRML Script接口节点中的描述性语言进行仿真建模;第二种方式是利用JAVA Script动态生成VRML三维场景和实体对象(仿真的事件处理仍然用VRML Script接口节点完成);第三种方式是通过VRML 2.0的外部编程接口API进行开发,通过发送或者读取三维场景中节点的事件消息,使VRML 2.0构建的虚拟空间与外部网络空间上的其他对象沟通,进而提高VRML的可用性[3]。

利用VRML构建的三维仿真场景和实体以VRML文件(*.WRL)形式存在。VRML文件使用ASCII或UTF8字符,与其他技术相比,其占用的存储空间很小,这不仅大大加快了3D场景和实体在网络上的传输速度,而且使用户在PC机上就可以方便、快捷地浏览和研究,实现跨平台和多用户网络间实时交互操作。VRML的工作流程如图1所示[4,5]。

2 飞行器的三维虚拟模型的建立

对于简单的三维实体,VRML支持多种规则几何体结构的构型,包括立方体、圆锥体、圆柱体和球体等。这些规则几何体可以由VRML的geometry节点中的基本几何节点box,cone,sphere,cylinder等实现。利用VRML中的Extrusion节点,可以创建较为复杂的三维实体,其变化的弹性较大,控制Extrusion节点外形的字段分别是crossSection和spine。crossSection字段控制断面形状,形成二维轮廓。spine字段是一个三维路径,通过crossSection定义好的断面、面的中心,沿着此路径延伸成三维实体。crossSection字段和spine字段在三维构型中的实现过程如图2所示。

此外,VRML提供的ElevationGrid、IndexedFaceSet和IndexedLineSet节点可用于实现复杂实体的造型,而实体的空间坐标定位、移动则由Transform等节点完成。对于常规的内部节点无法完成的特殊、复杂实体,VRML可以通过PROTO、DEF等自定义实现。

2.1 飞行器实体的虚拟仿真造型

飞行器是典型的复杂三维仿真对象,其构型不只是简单的三维几何体。因此,单纯的使用代码来建模是件十分繁杂的工作。所以,针对飞行器的造型,通常需要借助一些可视化三维造型软件,如:3D Studio MAX。3DS MAX具有即时修改的特点,而且其模型函数丰富,贴图纹理多、模型表面处理方式多样。利用3DS MAX对飞行器的外部及内部进行建模后,将建模结果输出为VRML文件或者作为VRML文件的内嵌对象,然后根据细节层次的选择与生成算法进行引用。具体的建模方法是:启动3DS MAX,在“创建”下拉菜单中进入“辅助物”次级菜单,在VRML 97中提供了12种VRML造型方案。根据提供的造型方案对飞行器进行三维仿真建模,如图3所示。

仿真建模完成后,在“文件”菜单中选择“输出”,将模型以VRML 97文件保存。

对行器三维仿真实体的仿真材质可由纹理效果、光照效果等节点实现;同时,可以适当补充视点节点为浏览者提供有效的场景、造型浏览视点和向导,增强整个虚拟仿真造型及场景空间的可操作性。

2.2 三维虚拟场景造型

在VRML中可以通过Group节点将一组相关的节点组合在一起,这样的一组节点在虚拟世界中通常是某个特定的空间场景。除此之外,在VRML中还包括以下编组节点,它们分别是:Switch转换编组节点、BillBoard布告牌编组节点、Transform转换编组节点、LOD转换编组节点、Anchor读取文件编组节点、Inline读取文件编组节点和Collision编组节点。这些节点的汇集,即可建立三维仿真飞行器所在的三维虚拟场景空间。其基本的语法形式如下:

Group {

addChildren MFNode eventIn # 输入接口,将指定的节点加到组的子节点列表中

removeChildren MFNode eventIn# 输入接口,将指定节点从组的子节点列表中删除

children MFNode exposedField[]# 包含该Group节点的子节点

bboxCenter SFVect3f field0 0 0# 包围以组子节点的包围盒的中心

bboxSize SFVect3f field-1 -1 -1# 包围该组子节点的包围盒在x,y,z方向的大小

}

根据以上语法形式创建的虚拟场景空间模拟效果如图4所示。

2.3 与虚拟场景交互

利用VRML建立的三维仿真实体具有极强的真实感,而真实性的一个重要方面就是要允许用户和三维对象进行直接的交互。例如:用户对飞行器的仿真模型的动作方式不只是停留在“静观”上,而是要通过控制设备对三维仿真模型的各个角度、部件,甚至内部结构进行实时的动态交互。实现交互的一个基本方法就是使用VRML中的传感器节点。所谓传感器节点,就是指一些能够感知用户各种操作的节点。VRML中可有效应用于行为、交互的节点主要包括:时间传感器(Time Sensor)、触摸传感器(Touch Sensor)、鼠标响应传感器(Cylinder Sensor)、鼠标运动转化传感器(Plane Sensor)、鼠标单击转化传感器(Sphere Sensor)、感知用户活动传感器(Proximity Sensor)和检测用户视野传感器(Visibility Sensor)等。传感器节点的基本语法如下:

Sensor {

Field Value 域值 Field Type 域值类型

Field Show # 域值说明

}

3 应用举例

以假想飞行器为例,结合VRML、3DS MAX 6.0和JAVA Script等技术,可实现该飞行器虚拟现实仿真模型。模型所在VRML文件可以基于Internet Explorer、NetScape、Maxthon等浏览器进行全景的网上漫游。图5和图6是飞行器虚拟现实仿真造型基于VRML的运行效果。其中,图5是该飞行器造型的局部浏览效果;图6是该飞行器造型的全景浏览效果。

4 结 语

本文通过虚拟现实技术的分析、讨论,给出了利用VRML语言对飞行器进行可视化虚拟现实仿真的实现方法。在使用过程中,建模工作主要根据VRML语言在开发三维仿真方面的强大优势和相关建模工具,对各个造型进行设计、组合,并进行空间坐标定位。复杂造型的构建和综合应用,能够使虚拟场景中的三维造型更逼真、灵活和网络高效运行。

参 考 文 献

[1]王昊鹏.基于VRML的三维仿真建模算法研究[J].空军航空大学学报,2005,2(2):41-44.

[2]Leandro Soares Indrusiak,Ricardo Augusto da Luz Reis.3D integrated circuit layout visualization using VRML[J].Future Generation Computer Systems.2001,17(5):503-511.

[3]Walczak K,Cellary W.X-VRML for Advanced Virtual Reality Applications\[J\].In:Computer,2003,36(3):89-92.

[4]黄文丽,卢碧红,杨志刚,等.VRML语言入门与应用[M].北京:中国铁道出版社,2003.

[5]Tomaz Amon,Vojko Valencic.VRML -- Enhanced Learning in Biology and Medicine[J].Future Generation Computer Systems,2000,17(1):1-6.

[6]Taubin G,Horn W P,Lazarus F,et al.Geometry Coding and VRML[J].Proceedings of the IEEE,1998,86(6):1 228-1 243.

[7]王鸣,刘喜昂,宋蔚.基于VRML的虚拟实验系统研究[J].现代电子技术,2006,29(15):105-106,172.

作者简介 王昊鹏 男,1978年出生,吉林长春人,讲师,博士。主要研究方向为虚拟现实仿真。

刘 兵 男,1980年出生,吉林长春人,助教。主要研究方向为计算机软件设计。

上一篇:STTC-MIMO-OFDM系统的信道估计算法 下一篇:相位编码信号脉内特征分析与识别