110 Vehicle 类主要描述了飞行器的各种参数。Vehicle 类的操作集中需要调用LoadVehicle
函数来载入飞行器模型文件,InitVehicle 函数负责初始化模型。飞行器的三维模型是使用三维
建模软件生成的,Vehicle 类中Model 成员即可表示模型的文件属性,Model 的数据类型为:
Struct
{
115 int nbvertx; //向量数
VWT_3D *vertex; //向量矩阵
VWT_3D *normal; //法向量矩阵
VWT_UV *uv; //uv 坐标
int nblist; //面片数
120 VWT_3D *list; //面片矩阵
}
其中VWT_3D 为三维坐标类型,表示x、y、z;VWT_UV 表示贴图坐标u、v。
3 三维场景
一般的三维场景模块都是根据需求编写代码实现的,而场景的建立往往比飞行器模型建
125 立要复杂的多,因为动态的天气系统和复杂的植物建筑模型加大了开发的难度,所以一般的三
维场景仅仅采用地形贴图建立视景,这样真实感就折中了。
本文中所开发的三维场景模块采用vieWTerra 平台上的场景编辑工具来生成。在该软件
平台上,可以不编写代码或编写较少的代码来实现真实的场景模块。
通过vieWTerra 的编辑工具,用户以一个直观的方式实时创建自己的场景,并直接进入3D
浏览器130 ,对创建的场景做出修改。用户可以在vieWTerra 库所提供的400 多个3D 模型中选择
创建,通过拖放操作、绘制和其他功能即时地更改地面、植物或者移动植被、添加河流和湖
泊、修建公路、铁路、整个城市等。放置在场景中的每一个模型都自动的受动态的环境影响,
如风吹、下雨、雪覆盖等效果。
4 仿真结果
135 本文采用vieWTerra2009 版本作为开发平台,在Windows XP + Visual Studio 2008 环境
下开发完成了该飞行仿真系统。测试平台配置为2GHz RAM;1G 内存;3D 加速视频卡;
256M VRAM。
本文采用某型飞机作为示例,载入模型,输入飞行数据后进行飞行模拟。飞行模拟过程中,
系统不断接受用户指令并实时响应。用户可以在飞行过程中通过鼠标左右键控制视角,观察
140 飞机在逼真环境中的飞行过程,体验真实的飞行感受。
国际规定的飞行仿真速度要求大于60 帧/秒,本文系统的运行速度为75帧/秒,完全满足规
定要求,并且飞行场景逼真,过程连续,满足了系统在真实感和沉浸感方面的要求。
效果如图所示:
145 图4 飞机飞过沙漠的场景
Fig.4 the plane flies cross desert
图5 飞机在云雾中穿梭的场景
Fig.5 the plane flies in mist scene
150
5 结论
本文给出了基于vieWTerra 平台的飞行仿真系统,具有良好的真实性、实时性、交互性。
飞行器模型采用3D MAX 建模软件生成,真实感强。利用vieWTerra API,对飞行器的飞行特
效如尾焰进行模拟,对飞行器的飞行姿态进行仿真。使用vieWTerra 场景编辑工具建立的三维
场景,具有开发周期短、操155 作方便、代码量低、效果显著等特点。但是vieWTerra 平台的SDK
并不是免费的,虽然可扩展性强、开发效率高,但这需要一定的开发成本。因此,应视具体需求,
应用vieWTerra 平台到实际工程中。
[参考文献] (References)
160 [1] 叶舸、田兆峰、闫楚良.基于OpenGL 的飞机飞行实测数据可视化研究[J].航空学报,2011,32(5):1-7
[2] 田丽、李东军、林宋.基于Multigen-creator/Vega 平台的运动仿真研究[J].机械工程师,2007,25(10):48-50
[3] 王乘、李利军、周均清.Vega 实时三维视景仿真技术[M].武汉:华中科技大学出版社,2005.
[4] 卢惠民.飞行仿真数学建模与实践[M].北京:航空工业出版社,2007.
[5] 贾荣珍、彭晓源、王行仁.飞行模拟器建模、验模和性能测试与评估[J].航空学报,1998,19(1):41-44.
165 [6] 李春香.飞行数据可视化技术研究 [J].中国安全科学学报, 2009, 19 (1):166-171.
学术论文网Tag:代写论文 代写代发论文 |