


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
王述运 1,林亚军 1,吕 明 2,郭建光 2(1.海军飞行学院模拟中心,葫芦岛 125001;2.海军飞行学院教研部,葫芦岛 125001)摘 要: 针对某型飞机飞行模拟器仪表仿真的特点,提出了一种在 Windows 平台上采用 Visual C+ 6.0 开发基于OpenGL 的图形仪表的方法,运用 OpenGL 纹理贴图技术实现了图形仪表的绘制。实际应用证明,该方法圆满完成了 航空仪表的仿真,降低了飞行模拟器的整体研制费用,取得了良好的飞行训练效果。关键词: OpenGL; 纹理贴图; 仪表仿真; 图形仪表; 飞行模拟器Design of Graphic Instrument Based on OpenGL for Flight SimulatorWANG Shuyun1 , LIN Yajun1 , LV Ming2 , GUO Jianguang2(1. Department of Simulating Navy Flying Academy , Huludao 125001;2. Department of Teaching Navy Flying Academy , Huludao 125001)Abstract: According to the characteristics of the instrument simulation of a certain aircraft, the article introduces a designmethod of graphic instrument which is based on OpenGL and developed with Visual C+ 6.0 under Windows platform. The graphic instrument was drawn by using the texture mapping technology of OpenGL. The practical applications indicate that this method is completely successful in the simulation of aircraft instrument and reduced the development cost. Good effect has obtained in flight training by using it.Key words: OpenGL ; texture mapping ; instrument simulation ; graphic instrument ; Flight Simulator1引言航空仪表是人与飞机的交互界面,为飞行员提供飞机的 高度、空速、升降速度、航向、姿态以及发动机的工作状态等信息。在实际飞行中,特别是在复杂气象条件下飞行时, 航空仪表的地位尤为重要。同时“仪表飞行”也是飞行训练 的一个重要课目。因此,在飞行模拟器的设计过程中,仪表 仿真系统的设计是影响飞行模拟器性能指标的关键因素之一。 对于飞机实装仪表,既有机械式和电气式,又有模拟电路电子式,具有制作精密、原理及结构复杂、控制信号多样 化、成本高等特点,很难直接应用到飞行模拟器。另一方面, 随着计算机软硬件技术的飞速发展,虚拟现实技术得到了越 来越广泛的应用 1。虚拟仪表又称图形仪表,它是用计算机模拟生成各种仪表表面,动态模拟实装仪表的指示情况,具 有可移植性高,开发、维护费用低,技术开发周期短等特点。在某型飞机飞行模拟器的研制过程中,根据任务要求, 在对座舱结构、仪表布局特点和需求进行分析的基础上,结 合现代仿真技术以及研制经费等综合因素的考虑,采用图形 仪表技术实现部分航空仪表的仿真。在此给出了一种在 Win dows 平台上采用 Visual C+开发基于 OpenGL 的图形仪表的方 法。于操作系统,有着强大的图形功能和良好的跨平台移植能力,具有可靠性高、可扩展性强、伸缩性好、灵活性强、易用等 特点。OpenGL 实现二维和三维的高级图形技术,在性能上表现得异常优越,它包括建模、变换、颜色模式设置、光照与材质设置、双缓存动画以及更先进的能力,如纹理映射、物 体运动模糊等。OpenGL 的这些能力为实现逼真的三维渲染效 果,建立交互的三维景观等提供了优秀的软件工具。3 图形仪表设计方案在此所讨论的图形仪表系统包括图形仪表计算机、显示 驱动卡、图形仪表显示器和模拟仪表板。图形仪表的显示信息来自飞行模拟器的主控计算机,因此系统需要在不同计算机之间进行参数传输,网络通信是必不可少的条件。本系统 采用的是客户服务器结构的应用程序,这种结构非常适用于 分布式处理的计算机网络环境。由于系统是面向 PC 机平台的 应用,因此采用基于 TCP/IP 协议的 Winsock 接口实现网络间 的数据传输。图形仪表计算机完成对图形仪表的驱动和数据 通信,主要包括网络数据接收、数据处理和仪表驱动等功能 模块。为增加图形仪表的逼真效果,设计了模拟仪表板,系 统结构框图如图 1 所示。3.1 软件开发图形仪表软件的开发平台由 Windows 2000/NT、Microsoft Visual C+ 6.0 和 OpenGL 组成。软件开发流程图如图 2 所示。 网络通信程序的建立可参阅文献 2,在此仅讨论基于 OpenGL 的图形仪表实现方法。3.1.1 OpenGL 初始化设置2OpenGLOpenGL 是一个工业标准的三维计算机图形软件接口,是美国高级图形和高性能计算机系统公司 (SGL) 开发的三维图形库。它实际上是与图形硬件完全无关的程序设计 API,独立本文收稿日期:2010-02-16- 95 -电脑编程技巧与维护(6) glFrustum ():设置视场空间范围;(7) glViewport ():设置视场显示范围。3.1.2 纹理贴图的载入与管理所讨论的图形仪表采用纹理贴图的方式进行绘制。纹理 贴图技术也叫纹理映射技术,它是计算机图形学中广泛应用 的一项重要技术。传统的几何造型只能表示景物的形状,无法描述景物表面的微观细节,而利用纹理图像来描述景物表面各点处的反射属性,可以达到模拟景物表面丰富的纹理细 节的目的,提高计算机生成图形的真实性,另一方面,采用 纹理映射的方法可以大大地简化建模的过程。由于所需要的纹理贴图的数量比较多,为了节省系统开销,实现纹理对象之间的快速切换,利用纹理列表实现对纹 理对象的载入和维护,如图 2 所示。对纹理对象的载入与管理主要用到以下几个函数:(1) glGenTextures ():创建纹理对象索引;(2) glBindTexture ():绑定选择纹理对象;(3) gluBuild2DMipmaps ():载入纹理贴图;3.1.3 图形仪表的绘制图形仪表的绘制实质上就是利用 OpenGL 的纹理映射技术 在 VC+ 6.0 下实现图像的动态显示。以升降速度表为例,介绍图形仪表的绘制方法。首先准备两张图片,如图 3 和图 4 所示。图 3 为升降速 度表的表盘掩码图,透明部分为白色 RGB (0xff,0xff,0xff),非透明部分为黑色 RGB (0x00,0x00,0x00);图 4 为升降速度表的表盘图,透明部分为黑色 RGB (0x00,0x00,0x00)。将图 3 与背 景图进行“与”运算 (GL_AND),图 4 与背景图进行“或”运算 (GL_OR),即可完成升降速度表表盘的显示。显示效果如图 5 所示。图形仪表显示器图形仪表 计算机显卡主 控 计 算 机网 络 交 换 机其它系统图 1 图形仪表系统结构框图开始建立网络连接N成功否?YOpenGL 初始化设置载入纹理贴图读取磁盘文件数据,对仪表的坐标位置和缩放系数附值调用仪表绘制模块读取网络数据N成功否?Y调用仪表绘制模块N退出程序?Y图 4 升降速度表表盘图图 3 升降速度表表盘掩码图结束指针的显示方法与表盘的显示方法相同,其旋转运动可通过调用 glRotated () 函数来实现,旋转角度值由主控计算机 发出。升降速度表的显示效果图如图 6 所示。图形仪表软件的仪表显示模块共包括以下 8 个函数,用来完成各块航空仪表的显示。(1) my_draw_biao_kong ():显示空速表;(2) my_draw_biao_dp ():显示地平仪;(3) my_draw_biao_chui ():显示升降速度表;(4) my_draw_biao_wl ():显示无线电罗盘;(5) my_draw_biao_gao ():显示高度表;图 2 图形仪表软件开发流程图像素格式与渲染描述表是建立 OpenGL 程序的基础,Windows 一般的应用程序是使用所谓的设备描述表 (Device Contex)t 进行图形的绘制输出,但 OpenGL 并不使用标准的设备 描述表,它使用渲染描述表 (Rendering Contex)t 完成图形图像的映射,描述表的映射核心是像素格式的设置 3。OpenGL 初始化设置主要完成以下工作:(1) ChoosePixelFormat ():选择像素格式;(2) SetPixelFormat ():设置像素格式;(3) wglCreateContext ():创建环境设备;(4) wglMakeCurrent ():设置环境设备;(5) glMatrixMode ():设置矩阵模式;(6) my_draw_biao_zw(7) my_draw_biao_wy(8) my_draw_biao_tlc():显示转弯侧滑仪;():显示发动机三用表;():显示陀螺磁罗盘。(下转到 110 页)- 96 -电脑编程技巧与维护用户只需通过不断地实践,即可设计出属于自己的功能强大的多媒体播放器。参考文献1 叶核亚,陈瑞编著. Delphi 程序设计实用教程 M . 北京:电子工业出版社,2007.2 陈瑞,等. Delphi 程序设计实用教程. 第 2 版, 北京:电 子工业出版社,2004.作者简介涂玉芬,女,副教授,同济大学电子计算机专业,研究方向: 计算机应用及网络数据库。向隅,男,副教授,北京交通大学应用数学系,研究方向: 数学建模及网络数据库。图 6 运行结果!(上接第 96 页)3.2 模拟仪表板的设计为了增加图形仪表的逼真效果,为图形仪表设计了模拟 仪表板。模拟仪表板的设计必须同时兼顾显示器可用区域尺寸、仪表位置、仪表板上安装的调节旋钮和按钮空间尺寸等因素。根据这些尺寸和影响关系设计模拟仪表板。4结语利用 OpenGL 强大的图形功能,可以轻松地实现逼真的贴 图模型,运用 VC+可对 OpenGL 产生的模型进行更进一步的图 5 升降速度表表盘显示效果图控制和变化。实践证明,基于 OpenGL 的图形仪表建模形象逼真、速度快、效率高,完全适合飞行训练的需要,达到了该 型飞机飞行模拟器的任务要求,大大简化了飞行模拟器的设备组成,降低了整体研制费用,提高了模拟器的设计更改效率,缩短了航空仪表的研发周期。参考文献1 谢晓方,欧阳中辉. 虚拟现实技术及应用 M . 北京:海 潮出版社,2002:35-45.2 陈坚,陈伟. Visual C+网络高级编程 M . 北京:人民邮电出版社,2001:69-78.3 郭兆荣,李菁,王彦. Visual C+ OpenGL 应用程序开发M . 北京:人民邮电出版社,2006:19-21. 图 6 升降速度表显示效果图以上 8 个函数的入口参数由坐标位置、缩放系数和指针 旋转角度等构成。坐标位置和缩放系数均来源于磁盘文件,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 提高围手术期护理质量
- 《联想与想象》课件
- 肝性脑病护理指导
- 集体土地搬迁补偿合同8篇
- 生产品质部年终总结
- 液压机理论讲解
- 《祝福》公开课课件
- 三方购房协议书7篇
- 广东省梅州市兴宁市2023-2024学年高一上学期第二次月考化学试题及答案
- 酒店会员卡制度培训大纲
- 数学高一-高一数学第一次月考卷01(考试版A4)【测试范围:必修第一册第一章~第二章】(人教A版2019)
- 质量信得过班组培训课件
- DL∕T 1768-2017 旋转电机预防性试验规程
- 农户化肥购买合同书
- 充电站运营管理制度(参考模板)
- 体育与健康教学设计《手倒立前滚翻》
- JJG 20-2001标准玻璃量器
- 2024外研版初中英语单词表汇总(七-九年级)中考复习必背
- 《大数据平台部署与运维》课程标准(含课程思政)
- 英语中的时间表达(示范课例)
- 《史记》上册注音版
评论
0/150
提交评论