(电力电子与电力传动专业论文)飞机刹车视景仿真系统的研究与实现.pdf_第1页
(电力电子与电力传动专业论文)飞机刹车视景仿真系统的研究与实现.pdf_第2页
(电力电子与电力传动专业论文)飞机刹车视景仿真系统的研究与实现.pdf_第3页
(电力电子与电力传动专业论文)飞机刹车视景仿真系统的研究与实现.pdf_第4页
(电力电子与电力传动专业论文)飞机刹车视景仿真系统的研究与实现.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

(电力电子与电力传动专业论文)飞机刹车视景仿真系统的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西北工业大学硕士论文 a b s t r a c t ht h ep a p 盱b a s e d t h ce x i s t i n gh 棚w a r e - 缸- m e - l o 叩h i l s i m u l 矾i o ns y s t 锄 o fa i r c r a f l 胁:a l 【i n 舀t h ca i r 峨劬:a k i 蜡v i s u a l 蜘u l a t i 蛐s y s t e m ( a b v s s ) 缸 d e s i 印c d 觚dd 钾d 叩c dt h 】吣n g h 邺i n g m p u t c rg m p h i c st e c h n o l o g y ,d j r e c t 洲 t h m l o g y s c f i a l 伽m u n i c 越i 蛐t 妇o l o g y 锄dm u 撕t t i 托a dt e d m o l o g y t h c a b v s sd i a n 驽瞄t h ca 咖a l i t yw h ic :h 击s p l a y st h cs i m u l a t j 加r e s i l l 协u s i l i gt h cc u r y c a n dd a t a ,a n d 嘣砸恤r c a i 劬cd y n a 哦斯删gt h em l co f 缸础 衄a l 【i n gp i o 豁 f i r s d y t h i sm 鼯i sa n a l y 戳落t h ca l 叫h i ls i m u h t i a c t l l a l i t yo fa i “棚 b 托a k i n 厶狮ds h a w st h ed e v c i o ph i s t o r ya n dt h cc u n e n tr 舒e 岫北s u l 协o fv i s l l a l s i m u l 越j o n ;s a n d l y 0 p c n g lt c d m o l 9 9 y ,m u n 硼b i 谢t e c h l o g ya n d s e i ! i a l 跚m u n i c a 瞌咂t c c h n o l o g y 鹤t h eb 岱i ct e c h n o l o g yo fa b v s s i si n t m d u c c d ;l a 吼i y t h cf i l n d i o n 柚dm o d c l i n gr e q u 髂ta b 0 哪c a c h no ft h ch i ls i m l l l a 廿伽s y s 蛐o f a i 册nb r c a l 【i n gi n d u d i n g “s l l a ls i m u l a t i s y s t c m ,t h e 墙i c 曲g i l m t i o f d c v c l o p 鲫i 蛐e n t ,t h c 锄p i n g 扯dt h eb 勰i cc l a 鹞鲫h i co ft h cw h o l c s i m u l a t i 蛐f t w a 砧i s 强p a t i a t c d a :b v s s i n d u d c st h 蛳口a r t s : 如t i t ym o d e l i n g , v i n u a ls n c锄dd a 协 锄m u 眦i o l 娼1 1 i c t i t ym o d c l sw h i c hi sl d e dt h 咖g hm f cp r o 霉r 猢i n gi s d c s i 舭c du s i n gt h c 讲d f c 璐i a l 慨e d j m c n s i 佃a lm o d c l i n g 双m w a r e - 3 d sm u d ( n i i 矗ls n cd c v c l o p c db yo p c n g l 由c c h l o g yw h i c h n t a i 璐b u i l d i n go ft l 圮 霉g r a p h ys i m l l l a t i o n ,t h em 柚a g c m 锄to f 柚g l 髂o f “钾肌dt h c 妇a 把s i m u h t i o n , i sn 圮m a i n b o d yo ft h ca b v s s 1 k 鲫g m p h ys i m u l a l i j n d u d 龉s k 弘伊咖n d 卸d t h e 珊w a y ;e i g h ta n g e l so fv i e w 柚d 锕ol 由l do f 叩e 枷n gm o d 髂w h i c ha t h c k e y l ) 叫do p e n t i n gm o d e 趾dt h cm a n u a lm o d ca 坞。饪色r e d ;t h ed i m 砒cs i m l l l a t i w h i c h 锄s i m u l a t em i n 锄ds n o wi sd c v c l o p c db yt h e 阳r t i c l cs y s t c mt c c h i 吣1 0 9 y d a t a 姗m u 洲o n s 托_ i v e st h es i m u l a t i o nd a t aw h ic _ hm a i 【e sm ea i “:r a f tm o d c lm o v c 恤咀g ht h es e i i a lp o r i t oi m 邮v ct h ec f f i d 锄c yo fa b v s s ,aw o 血盱n l 犯a dj s 删c dt 0m 砌t 叫t h c 辩d a lp o n 也咖g h 曲gm u n i t h m a ds 鲥mp o r tp m 掣a 咖i n g t c c h n o l o g y t h ev i e w e fc 蛆1 0 0 ki l l t o 。a n a l v z c 她dc v a l u a 把t h cw h o l cs i m u l a t j c o u r s ea g a 缸 粕da 翰i nu s i n gt h cs 啪c 碍r df i i 眦缸咂盐dt h cs o 蛐cp l a y b a c kf i l m :t i 蚰o i 董酬b y a b v s s ;t h c 岫de 侬斌w h i c hi s 咖l p l c t c du s i n gd i r c c t s o 岫dt c i 出n o l o g y 佃商滢a s 骼t h cf a c i l i t yo fs 如“甜i o n :i t o 佃叩肾o v ct h cu “l i t y m a n yd 缸l dw i n i o w sw h i c h c a n n f i g i l 他t h es i m u l a t j 蚰i n f o j 皿a t i 衄d b o u tt h c n 仃0 u i n go ft h cs i m u l a l i 仰 c o u r a d c s i g n e d n 坨如do f t h i st h c s i s ,t h c 亿s c a r c h 锄dd 嚣i 辨o f a b v s si ss u m m a r i z c d 1 h e s i m u l a t i 曲瞄l i l to fa b v s ss h o w st h 砒a b v s sj s 啦出t 柚d ns h o wt h cw h o l e b 】a l 【i n g u r s cb a s i c a l l ya n dt h em l e s0 ft h ep a 姗c t e 娼 k e y w o r d s :a b v s s ,0 p 印g lm u l t i t h 啪d ,f i a lp o r t 舳u l i j c a t i 西北工业大学业 学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻读学位期间论文:作 的知谚 产权单位属于西北工业大学。学校有权保留并向国家有关部门或机构送交论文的复 印件和电子版。本人允许论文被查阅和借阅。学校可以将本学位论文的全部或部分内容编 入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 同时本人保证,毕业后结合学位论文研究课题再撰写的文章一律注明作者单位为两北工业 人学。 保密论文待解密后适用本声明。 学位论文作者签名瑚 z z 。7 年弓月;。日 指导教师签名:,垄幽 矿;月7 。日 西北工业大学 学位论文原创性声明 秉承学校严谨的学风和优良的科学道德,本人郑重声明:所呈交的学位论文,是本 人在导师的指导下进行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容 和致谢的地方外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成 果,不包含本人或其他已巾请学位或其他用途使州过的成果。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式表明。 本人学位论文与资料若有不实,愿意承担一切相关的法律责任。 学位论文作者签名:盈差蓟封 弘。7 年3 月岁d 日 西北工业大学硕士论文 第一章绪论 1 1 研究背景与意义 第一章绪论 真正的飞机刹车试验要耗费巨大的人力和物力,同时伴随着人员伤亡的风 险。因此在实航试验之前,先要对飞机刹车系统进行地面模拟试验。目前通常采 用系统仿真的方法对飞机刹车系统进行设计和试验。系统仿真是以系统论理、形 式化理论、随机过程与统计学理论和优化理论为基础,以计算机为工具,对具有 不确定性因素的显示系统或未来系统进行试验研究的理论和方法。半实物仿真是 系统仿真的一个重要分支,它是在条件允许的情况下尽可能在仿真系统中接入实 物,以取代相应部分的数学模型,这样更接近实际情况,从而得到更确切的信息。 飞机刹车系统的半实物仿真试验通过部分实物接入整个仿真回路,不仅可以 及早发现系统设计中的缺陷,确定最佳控制策略以降低风险、缩短设计周期、减 少试验成本,而且有助于新技术、新理论在飞机刹车系统设计中的应用与推广。 但是现阶段飞机刹车半实物系统的仿真结果与效果比较简单,基本上是以仿真曲 线和数据表格等形式给出,仿真过程中的飞行与机轮速度、运动姿态的变化是通 过图表形式显示出来。该方式不易于观察和分析飞机刹车过程,并且给挖掘隐藏 于数据中的本质特性带来了很大困难,缺乏直观性 视景仿真技术是以计算机实时三维图形生成技术为实现途径,结合文字、动 画、声音等处理技术,对真实环境进行视觉和听觉上的模拟,建立逼真的虚拟环 境,以便利用此虚拟环境完成仿真试验研究的一门综合技术。目前视景仿真不仅 广泛应用于工程设计、游戏、艺术造型、大众传媒等领域,而且正以其直观、形 象、符合人们思维方式的优势进入军事训练,航海、航天飞行、武器对抗、战术 战法研究等科研领域。因此虽然视景仿真系统对于飞机刹车半实物仿真系统还是 一个崭新的领域,但是具有广阔的前景和很高的实用价值 现代信息技术,特别是计算机技术、网络技术、虚拟现实技术的迅速发展, 可以使整个真实的飞机刹车试验演变成声音、图像、文字、数据等数字化信息构 成的虚拟刹车环境。视景仿真技术把真实的刹车环境营造成了三维立体的虚拟环 境,观察人员可以沉浸在逼真、虚拟的刹车环境中对仿真进程进行交互和干预, 增强了仿真的现实性、逼真性和透明性。飞机刹车视景系统的应用逼真再现了飞 机刹车的全过程,实现了飞机刹车过程的实时可视化,不仅直观动态的模拟了飞 机的刹车过程,而且为研究飞机在不同环境下的刹车特性提供分析依据,弥补了 飞机刹车半实物仿真的不足,具有很强的工程实际意义。 西北工业大学硕士论文第一章绪论 1 2 视景仿真技术的发展 1 2 1 视景仿真技术 视景仿真技术n 卜伽作为计算机仿真的主要表现手段,它是采用计算机图形 图像技术,根据仿真- ,目的,构造仿真对象的三维模型或再现真实的环境,达到 非常逼真的仿真效果,它使用户产生身临其境的交互式发展环境,实现用户与该 环境直接自然交互,从而为研究者提供了进一步改进的直观依据。视景仿真是计 算机技术、图形处理与图像生成技术、立体影像和音像、信息合成技术、显示技 术等诸多高新技术的综合应用,它是可视化技术在计算机仿真中的体现。视景仿 真技术是虚拟现实技术中最重要的部分,它与虚拟现实技术的唯一区别在于交互 方式。虚拟现实技术是通过头盔显示器、数据手套等多传感器辅助设备交互,而 视景仿真技术主要通过显示器、键盘和鼠标完成交互。 1 2 - 2 发展历程 1 9 6 5 年,s u t h c r l 柚d 在m 口会议上的终极显示报告中首次提出了包括具 有交互图形显示、力反馈设备以及声音提示的虚拟现实系统的基本思想,从此, 人们正式开始了对虚拟现实系统的研究探索历程。随后的1 9 6 6 年,美国麻省理 工m r r 的林肯实验室正式开始了头盔显示器的研制工作。在这第一个h m d 的 样机完成不久,研制者又把能模拟力量和触觉的力反馈装置加入到这个系统中。 1 9 7 0 年,出现了第一个功能较齐全的m 曲l 系统。基于从6 0 年代以来所取得的 一系列成就,美国的j a 枷i 丑n i 口在8 0 年代初正式提出了“v i m l a l r e a l i t y ”一词。 2 0 世纪8 0 年代,美国宇航局( n a s a ) 及美国国防部组织了一系列有关虚 拟现实技术的研究,并取得了令人瞩目的研究成果,从而引起了人们对虚拟现实 技术的广泛关注。1 9 8 4 年,n a s aa m 髂研究中心虚拟行星探测实验室的 m m 0 0 r c c 、r y 和j h u m p h r i 髓博士组织、开发了用于火星探测的虚拟环境视觉显 示器,将火星探测器发回的数据输入计算机,为地面研究人员构造了火星表面的 三维虚拟环境。在随后的虚拟交互环境工作站( w ) 项且中,他们又开发了 通用多传感器个人仿真器和遥感设备。 9 0 年代以后,迅速发展的计算机硬件技术与不断改进的计算机软件系统相匹 配,使得基于大型数据集合的声音和图像的实时动画制作成为可能;人机交互系 统的设计不断创新,新颖、实用的输入输出设备不断地进入市场。这些都为虚 拟现实系统的发展打下良好的基础。虚拟现实技术的广泛应用,使得人们对迅速 西北工业大学硕士论文 第一章绪论 发展中的虚拟现实系统的应用前景充满了希望和信心。 3 国内外视景仿真技术研究现状 在视景仿真领域卜伽,美国一直处于领先地位,在该领域的基础研究主要 集中在感知、用户界面、后台软件和硬件四个方面美国宇航局( n 删研究的 重点放在对空间站操纵的实时仿真上,他们大量运用7 面向座舱的飞行模拟技 术。北卡罗来纳大学u n c ) 的计算机系开发了一个帮助用户在复杂视景中建立实 时动态显示的并行处理系统。麻省理工学院( m m 于1 9 8 5 年成立了媒体实验室, 建立了一个名叫b o u 0 的测试环境,用于进行不同图形仿真技术的实验。华盛 顿大学华盛顿技术中心的人机界面技术实验室( h 1 1 ri a b ) 进行感觉、知觉、认知 和运动控制能力的研究。a v cs j l 璐等人研制出虚拟现实撤退模型来观看系统如何 运作伊利诺斯州立大学研制出在车辆设计中,支持远程协作的分布式虚拟实现 系统,不同国家、不同地区的工程师们可以通过计算机网络实时协作进行设计 乔治梅森大学研制出一套在动态虚拟环境中的流体实时仿真系统。美国加州 m 明t c f y 的海军研究生院n p s 可视化实验室( v i s l a b ) 在航行器的虚拟环境和仿真 方面进行了大量的工作,旨在实现以艘e 分布式交互仿真( d 璐) 网络协议支 持下的航行器三维实时可视化仿真与虚拟环境。美国w r j g h t p a t t e 墙蛐空军基地 的“3 d 图像和计算机图形实验室”是在s g l 4 d 口伽工作站上建立了空间卫星的 虚拟环境来仿真近地空间和描述3 d 图形卫星模型环绕地球轨道的运行状态,使 得仿真者对仿真对象信息的把握更加充分。 在欧洲,德国d a 麟咖i d t 的f f 粕n h o f e r 计算机图形学研究所开发一种名为“虚 拟设计”的组合工具,可使得图像伴随声音实时显示德国国家数学与计算机研 究中心( g m d ) 专门成立了一个部门,研究虚拟现实表演,冲突检测,装订在箱 子中的物体的移动,高速变换以及运动控制。英国的b f i s t o i 有限公司发现虚拟 现实应用的焦点应该集中在软件与整体综合技术上,该公司将v i z 分成三大类 别;实际环境检测、虚拟环境控制、虚拟环境显示。英国的l c i c c s t c r 市的游戏 产业生产出虚拟现实游戏机。游戏者使用操纵杆通过屏幕进行对抗演习,参加对 抗演习的虚拟物体和交战人员与虚拟物进行空战,当有多个人共同参与游戏时, 参加游戏的人还可以与虚拟物合成。 日本是当前实用虚拟现实技术的研究与开发领先的国家之一,主要致力于建 立大规模虚拟现实知识库的研究。另外在虚拟现实的游戏方面的研究也做了很多 工作。东京技术学院精密和智能实验室研究了一个用于建立三维模型的人性化界 面a 京都的先进电子通信研究所( j 弧t ) 系统研究实验室的开发者们正在开发一套 系统,它能用图像处理来识别手势和面部表情,并把它们作为系统输入。东京大 西北工业大学硕士论文第一章绪论 学的广濑研究室重点研究虚拟现实的可视化问题,现在已经有了4 项成果:一个 类似c a 的系统、用h m d 在建筑群中漫游、人体测量和模型随动、飞行仿真 器。 我国和一些发达国家相比在该领域还有一定的差距。我国的九五规划、国家 自然科学基金会、国家高技术研究发展计划等都把虚拟环境仿真列入了研究项 目。北京航空航天大学计算机系是国内最早进行虚拟现实研究、最有权威的单位 之一,他们着重研究了虚拟环境中物体物理特性的表示与处理;在虚拟现实中的 视觉接口方面开发出了部分硬件,并提出了有关算法及实现方法;实现了分布式 虚拟环境网络设计,建立了网上虚拟现实研究论坛,可以提供实时三维动态数据 库,提供虚拟现实演示环境,提供用于飞行员训练的虚拟现实系统,提供开发虚 拟现实应用系统的开发平台,并将要实现与有关单位的远程连接。国防科技大学 多媒体实验室是国内最早开展基于图像的虚拟现实研究的单位之一。从1 9 9 4 年 开始,我们研制第一个基于图像的虚拟信息空间生成平台h v s ,该系统已在几 十家部队与地方单位得到成功的应用。1 9 9 9 年,该校又成功地研制出一个协同 虚拟现实系统虚拟空间会议系统v s t ,关于v s t 的论文发表在1 9 9 9 年度的 国际a c m 多媒体年会上,引起国内外专家的广泛关注。浙江大学c a d c g 国家 重点实验室开发出了一套桌面型虚拟建筑环境实时漫游系统,该系统采用了层面 迭加的绘制技术和预消隐技术,实现了立体视觉,同时还提供了方便的交互工具, 使整个系统的实时性和画面的真实感都达到了较高的水平。清华大学计算机科学 和技术系对虚拟现实和临场感的方面进行了研究,他们还针对室内环境水平特征 丰富的特点,提出借助图像变换,使立体视觉图像中对应水平特征呈现形状一致 性,以利于实现特征匹配,并获取物体三维结构的新颖算法。西安交通大学信息 工程研究所对虚拟现实中的关键技术立体显示技术进行了研究。他们在借鉴人类 视觉特性的基础上提出了一种基于j p e g 标准压缩编码新方案,并获得了较高的 压缩比、信噪比以及解压速度,并且已经通过实验结果证明了这种方案的优越性 北方工业大学c a d 研究中心是我国最早开展计算机动画研究的单位之一,关于 虚拟现实的研究已经完成了2 个。8 6 3 ”项目。空军指挥学院进行的“空战可视 化仿真系统”研究,为用户提供了一个从多视点、多角度、多层次观察空战进程 的平台和机制,其画面造型逼真,形象生动,基本达到了实时性要求,取得了比 良好的效果。西北工业大学c a d c a m 研究中心,上海交通大学图像处理及模 式识别研究所,长沙国防科技大学计算机研究所、华东船舶工业学院计算机系、 安徽大学电子工程与信息科学系等单位也进行了一些重要研究工作和尝试。 从以上国内外在视景仿真方面的研究现状可以看出,目前视景仿真的研究涉 及的主要领域包括航空航天、武器装备、游戏等。但是在飞机刹车领域,视景仿 西北工业大学硕士论文 第一章绪论 真还是一个空白,正由于如此,本文将对飞机刹车系统半实物仿真中的视景仿真 进行一次深入细致地研究,以期使飞机刹车系统的半实物仿真能够取得更好的实 验效果 1 4 论文的主要研究工作 本文针对当前飞机刹车半实物仿真以数据和曲线的形式显示仿真结果,不能 满足观察者除了获取代表性数据之外,还能看到真实系统运行过程的场景的要 求。设计实现了飞机刹车视景仿真系统。 论文首先论述飞机刹车视景仿真系统的研究背景、意义以及视景仿真系统的 编程基础,然后给出视景系统的总体设计方案及应用计算机技术和o p c | 略l 技术 进行飞机刹车系统视景仿真软件的设计方法,并重点研究系统设计过程中的关键 技术,最后对研究结果进行分析总结 论文的章节安捧如下: 第一章绪论部分,阐述飞机刹车视景仿真系统研究的背景和意义,综述视景 仿真技术的发展历程以及国内外发展现状,给出论文的主要研究内容 第二章介绍飞机刹车视景系统的技术基础:o p c n g l 技术、串口通讯技术以 及多线程技术。 第三章给出飞机刹车半实物仿真系统的组成、结构以及各仿真节点的建模方 法、飞机刹车视景仿真系统的总体设计方案,包括开发环境的配置、视景系统的 组成以及视景仿真软件的功能模块构成等。 第四章研究应用计算机技术和三维图形技术实现飞机刹车视景系统的软件 设计 第五章给出系统实际运行和测试情况,并对运行结果进行分析评估。 第六章总结论文的研究工作,并对今后的研究方向进行展望。 西北工业大学硕士论文第二章视景仿真系统的编程基础 第二章视景仿真系统的编程基础 目前微软的主流操作系统w i n d o 孵的图形开发系统来说,开发视景仿真系 统主要有三种技术选择,o p c n g l d i r e c 和o p e n g v s 乜1 。但是o p 皿g l 是业 界最流行也是支持最广泛的视景仿真技术,几乎所有厂商都在底层实现了对 o p c n g l 的支持和优化,所以本系统的开发选择0 p c n g l 技术。为了提高视景仿 真的实时性,系统还用了多线程技术和串口通讯技术。所以0 p c n g l 技术、多线 程技术和串口通讯技术构成了飞机刹车视景系统的技术基础。 2 1o p e n g l 技术 2 1 1o p e n g l 简介 o p c n g l ( 即开放性图形库o p c ng m p h i 璐u b r a l y ) ,是一个三维的计算机图 形和模型库,最初是美国s g i 公司为图形工作站开发的一种功能强大的三维图 形机制( 或者说是一种图形标准) 。它源于s g l 公司为其图形工作站开发的m i s g l ,在跨平台移植过程中发展成为o p c n g l o p c n g l 被设计成独立于硬件,独立于窗口系统,在运行各种操作系统的各 种计算机上都可用,并能在网络环境下以客户服务器模式工作,是专业图形处 理、科学计算等高端应用领域的标准图形库它低端应用上的主要竞争对手是 m s d i r c c t 3 d ,该图形库是以c o m 接口形式提供的,所以极为复杂,稳定性差, 另外微软公司拥有该库版权,目前只在w 妯d o w s 平台上可用。d i 地c t 3 d 的优势 在速度上,但现在低价显卡都能提供很好的o p c n g l 硬件加速,所以做3 d 图形 开发使用d i 删d 已没有特别的必要,在专业图形处理特别是高端应用方面目 前还没有出现以d i r c c t 3 d 技术为基础的例子,而游戏等低端应用也有转向 0 p 姐g l 的趋势。 利用o p c n g l 可以创作出具有照片质量的、独立于窗口系统( w 枞i n g s y s t c m ) 、操作系统( o p c m t i n gs y s i c m ) 和硬件平台的三维彩色图形和动画 o p c n g l 的核心库包括1 多个用于3 d 图形操作的函数,主要负责处理对象外 形描述、矩阵变换、灯光处理、着色、材质等和三维图形图像密切相关的事情。 o p e i i g l 工具库所包含的辅助函数是o p c n g l 基本函数的补充。这些函数的功能 相对高级,可以用于处理坐标变换、错误处理、绘制球体、锥体、柱体、曲线、 曲面等图形实体。 计算机硬件性能的提高和o p e n g l 本身的不断发展,使得o p c n g l 不再只属 西北工业大学硕士论文 第二章视景仿真系统的编程基础 于专用图形工作站。如今,开发人员可以在各种硬件平台利用o p g l 进行图形 软件开发 o p c n g l 可以运行在当前各种流行操作系统之上,如m o s 、u n i x 、w i n 曲哪 9 5 脚、w m 汜叩口、一i i i n 峨、o p e n s t 印、p y t h 蛐、b c 0 s 等。各种流行 的编程语言都可以调用0 p c n g l 中的库函数,如c 、c + + 、f o r 仃锄、a d a 、j 盯a o p c n g l 完全独立于各种网络协议和网络拓扑结构。目前,m i 翎硝m 公司、s g i 公司、j 盯公司的u l i i x 软件实验室、m m 公司、d e c 公司、s u n 公司、m ,公 司等几家在计算机市场占主导地位的大公司都采用了0 p c n g l 图形标准。值得一 提的是,由于枷c 脚n 公司在w 妇i o 、璐n t 和w i n d o 眦9 5 侈8 中提供o p 蜘g l 标准,使得0 p 曲g l 在微机中得到了广泛应用。尤其是在0 i 煳g l 三维图形加速 卡和微机图形工作站推出后,人们可以在微机上实现c a d 设计、仿真模拟、三 维游戏等,从而使得应用0 p g l 及其应用软件来创建三维图形变得更有机会、 更为方便。 2 1 2o p e n g l 的工作原理 0 l 掰晒l 恤是一种过程性的图形a p i ,它并不是描述性的。事实上,程序人 员并不需要场景的性质和外观,而是事先确定一些操作步骤,这些步骤正是实现 一定的外观或效果所需要的。这些步骤涉及到许多o p c n g l 命令的调用,这些命 令可以在三维空问中绘制各种图元,例如点、直线和多边形等。另外0 p 髓g l 还 支持光照和着色、纹理贴图、混合、透明、动画以及其他许多特殊的效果和功能 0 p 锄g l 并不包含任何用于窗口管理、用户交互或文件巩) 的函数。每个宿 主环境( 例如m i 翻 s o f iw i n d o w s ) 自己拥有一些函数实现上述功能,并且负责 实现向o p 锄g l 递交窗口绘制的控制方法。 2 1 2 泛型实现 如前所述,泛型实现就是软件实现,而与之相对的硬件实现则是为一种特定 的硬件设备( 如图形卡或图像生成器) 所创建的。从技术上说,一个系统只要能 够显示一种泛型实现所生成的图形图像,那么这种泛型实现就可以在这个系统上 运行 图2 1 示意了当一个应用程序运行时o p c n g l 和泛型实现所占据的典型位 置。 西北工业大学硕士论文第二章视景仿真系统的编程基础 图2 10 p c n g l 在一个典型应用程序中的位置 在典型情况下,程序将会调用许多函数,其中一些函数是由编程人员自己编写的, 另外一些则是由操作系统或编程语言的运行时函数库所提供。想要在屏幕上创建 输出w m d o w s 应用程序通常会调用一种叫做图形设备接口( g d i ) 的w i n d o 吣a p i 函数。g d i 包含了许多方法,允许在窗口中编写文本、绘制简单的2 d 图形等。 通常,图形卡厂商会提供一个硬件驱动程序,g d i 接口可以使用这个驱动程 序在监视器上创建输出。o p 锄g l 的软件实现接受应用程序的图形请求,构建( 光 栅化) 3 d 图形的一幅彩色图像,然后把这幅图像提供给g u i ,后者将图像显示 在监视器上。在其他操作系统中,工作原理相似,只是用该种操作系统的本地显 示服务来代替g u i 2 1 2 2 硬件实现 o p g l 的硬件实现通常采用图形卡驱动程序实现,图2 - 2 显示了硬件实现 与应用程序的关系,其方式类似于图2 1 所显示的软件实现。但是应当注意, o p c n g l 调用的调用将传递给硬件驱动程序,这个驱动程序并不把它的输出传递 给w 妯d o w sg u i 以进行显示,而是直接与图形显示硬件进行通讯。 o p c n g l 的硬件实现常常又称为加速实现,因为有硬件协助的3 d 图形的性 能远远胜于单纯的软件实现。图2 2 中并没有显示一个事实:即使在o p c n g l 的 硬件实现中,有时它的部分功能依然由软件实现,而这种软件实现属于驱动程序 的一部分,其他的特性和功能可以直接传递给硬件,这就是接下来要讲的 o p e n g l 管线的实现思路。 西北工业大学硕士论文第二章视景仿真系统的编程基础 2 2 3 管线 图2 2 在典型的应用程序中硬件加速o p e n g l 的位置 管线( 砷1 c l i n c ) 这个术语用于描述一种过程,它可能涉及两个或更多个独 特的阶段或步骤。图2 0 示出了o p c n g l 管线的一种简化视图,当应用程序进行 0 p c n g l a p l 函数调用时,这些命令被放置在一个命令缓冲区中,这个缓冲区最 终填满了命令、顶点数据、纹理数据等。当缓冲区被刷新时( 或者由程序控制, 或者由驱动程序的数据所决定) ,命令和数据就被传递给管线的下一个阶段。 顶点数据首先进行转换和光照,描述物体几何形状的点在转换阶段被重新计 算,以确定这个物体的位置和方向,同时所进行的光照计算将确定每个顶点应该 具有的颜色亮度 图弱。脚l 管线的简化视图 当这个阶段完成后,数据就被输入到管线的光栅化部分。光栅阶段根据几何 图形、颜色和纹理数据实际创建彩色图像,并且图像被放入到帧缓冲区中。帧缓 冲区就是图形显示设备的内存,这意味着该幅放入缓冲区的图像就会在屏幕上显 西北工业大学硕士论文第二章视景仿真系统的编程基础 示,这是3 d 图形渲染的基本过程。 2 1 3o p e n g l 工作流程 o p 如g l 的工作流程图如图2 - 4 所示,可以将o p c n g l 的整个工作流程看作 三个方面的操作即:几何操作、像素操作和像素段操作。 1 几何操作 ( 1 ) 针对每个顶点的操作 每个顶点的空间坐标需要经过模型取景矩阵变换、法向矢量矩阵变换,若允 许纹理自动生成,则由变换后的顶点坐标所生成的新纹理坐标替代原有的纹理坐 标,再经过当前纹理矩阵变换,传递到几何要素装配步骤。 ( 2 ) 几何要素装配 不同的几何要素类型决定采取不同的几何要素装配方式。若使用平直明暗处 理,线或多边形的所有顶点颜色则相同;若使用裁剪平面,裁剪后的每个顶点的 空间坐标由投影矩阵进行变换,再由标准取景平面进行裁剪,再进行视口和深度 变换操作。如果几何要素是多边形,还要做剔除检验,最后生成点图案、线宽、 点尺寸的像素段,并赋上颜色、深度值。 2 像素操作 由主机读入的像素首先解压缩成适当的组份数目,然后进行数据放大、偏置, 并经过像素映射处理,根据数据类型限制在适当的取值范围内,像素最后写入纹 理内存,使用纹理映射或光栅化生成像素段;如果像素数据由帧缓冲区读入,则 执行放大、偏置、映射、调整等像素操作,再以适当的格式压缩。像素拷贝操作 相当于解压缩和传输操作的组合,只是压缩和解压缩不是必须的,数据写入帧缓 冲区前的传输操作只发生一次。 西北工业大学硕士论文第二章视景仿真系统的编程基础 3 像素段操作 当使用纹理映射时,每个像素段将产生纹素。再进行雾效果计算、反走样处 理。接着进行裁剪处理、一致性检验( 只在r g b a 模式下使用) 、模板检验、深 度缓冲区检验和抖动处理。若采用颜色索引模式,像素还要进行逻辑操作;在 r g b a 模式下则进行混合操作。 根据着色模式不同,决定像素段采取颜色屏蔽还是指数屏蔽,屏蔽操作之后 的像素段将写入到适当的帧缓冲区。如果像素写入模板或深度缓冲区,则进行模 板和深度检验屏蔽。而不用执行混合,抖动和逻辑操作。 2 2 多线程编程技术 线程似柳是进程的一条执行路径,它包含独立的堆栈和c p u 寄存器状态, 每个线程共享所有的进程资源,包括打开的文件、信号标识及动态分配的内存等。 一个进程内的所有线程使用同一个地址空间,而这些线程的执行由系统调度程序 控制,调度程序决定哪个线程可执行以及什么时候执行线程。线程有优先级别, 优先权较低的线程必须等到优先权较高的线程执行完后再执彳亍。在多处理器的机 器上,调度程序可将多个线程放到不同的处理器上去运行,这样可使处理器任务 平衡,并提高系统的运行效率。 多线程编程包括在撇日3 2 方式下和m f c 类库支持下两种方式,原理是一致 的,进程的主线程在任何需要的时候都可以刨建新的线程。当线程执行完后,自 动终止线程;当进程结束后,所有的线程都终止所有活动的线程共享进程的资 源,因此,在编程时需要考虑在多个线程访问同一资源时产生冲突的问题。当一 个线程正在访问某进程对象,而另一个线程要改变该对象,就可能会产生错误的 结果,应用时要解决这个冲突。下面主要介绍本系统要用到的懒n 3 2 方式下的 多线程编程。 w 白0 2 a n 是硼n d o w s 操作系统内核与应用程序之间的界面,它将内核提供 的功能进行函数包装,应用程序通过调用相关函数而获得相应的系统功能。为了 向应用程序提供多线程功能,w i 3 2 a p i 函数集中提供了一些处理多线程程序的 函数集。直接用w i n 3 2a p l 进行程序设计具有很多优点:基于w i n 3 2 的应用程序 执行代码小,运行效率高,但是它要求编写的代码较多,且需要管理所有系统提 供给程序的资源,工作效率降低。 1 用w i n 3 2 函数创建和终止线程 w i n 3 2 函数库中提供了操作多线程的函数,包括创建线程、终止线程、建立 互斥区等。在应用程序的主线程或者其他活动线程中创建新的线程的函数如下; h j 帅l e t e 弧m a d ( i j p s e c u r n y :甜1 n r m u l _ e sl p l 硫a d a 蜘b u t c s , 西北工业大学硕士论文第二章视景仿真系统的编程基础 d w 0 r dd w s t a c k s i z c ,l p l t e a ds i r a r l h o u i 硎e 峪t a n a d d r c 路,l p v o m l p p a n m c t 盯,d w o r d 凼虻r c a t i 咖n a 萨,u ,d w o r dl m a d i d ) : 如果创建成功则返回线程的句柄,否则返回m 儿l 。创建了新的线程后,该线程 就开始启动执行了但如果在d w c 觚i 凡a g s 中使用了c r e a 托s u s p d m e d 特性,那么线程并不马上执行,而是先挂起,等到调用r c 锄m c l h a d 后才开始 启动线程,在这个过程中可以调用下面这个函数来设置线程的优先权: b 0 0 ls e a d p r i o f ! i t yo i a n d l e h n l 把a d ,i n tn p r i o f i t y ) ; 当调用线程的函数返回后,线程自动终止。如果需要在线程的执行过程中终止则 可调用函数: v o de x i t l l l r c a d p w 0 r d 蛐i t c 【c ) ; 如果在线程的外面终止线程,则可调用下面的函数: b o o l t c m i n a 蛐坤a d ( i a n d l em 砌d ,d w 0 r dd w e 】【i t c o d c ) ; 但应注意:该函数可能会引起系统不稳定,而且线程所占用的资源也不释放。因 此,一般情况下,建议不要使用该函数。 如果要终止的线程是进程内的最后一个线程,则线程被终止后,相应的进程 也应终止。 2 线程的同步 在线程体内,如果该线程完全独立,与其他线程没有数据存取等资源操作上 的冲突,则可按照通常单线程的方法进行编程。但是,在多线程处理时情况常常 不是这样,线程之间经常要同时访问一些资源。由于对共享资源进行访问引起冲 突是不可避免的,为了解决这种线程同步问题,w i n 3 2 a p i 提供了多种同步控制 对象来解决共享资源访问冲突。这些机制都会用到w j 2 a p l 提供的一组能使线 程阻塞其自身执行的等待函数。这些函数在其参数中的一个或多个同步对象产生 了信号,或者超过规定的等待时间才会返回。在等待函数耒返回时,线程处于等 待状态,此时线程只消耗很少的c p u 时间。使用等待函数既可以保证线程的同 步,又可以提高程序的运行效率。最常用的等待函数是: d w o r d 协t f o r s i n g l c o b j c c t l e h h 粕d l c ,d w o r dd w m i l l i s 咖出) ; 而函数w 狃f b r m u n i p l e o b j e c t 可以用来同时监测多个同步对象,该函数的声明 为: d w o r d w 酗t f o f m u n i p l e o b j e d ( d w o r dn c 0 u 咄c o n s t 地卅d l e l p i i a n d l e s ,b o o lb w a i t a l l ,d w o r dd w m i l l i s e c o n d s ) ; ( 1 ) 互斥体对象 m u t 强对象的状态在它不被任何线程拥有时才有信号,而当它被拥有时则无信 号,m u t c x 对象很适合用来协调多个线程对共享资源的互斥访问。 西北工业大学硕士论文第二章视景仿真系统的编程基础 ( 2 ) 信号对象 信号对象允许同时对多个线程共享资源进行访闯,在创建对象时指定最大可 同时访问的线程数当一个线程申请访问成功后,信号对象中的计数器减一,调 用r e i e 嘲咯啪a p h o 此函数后,信号对象中的计数器加一其中,计数器值大于或 等于o ,但小于或等于创建时指定的最大值。如果一个应用在创建一个信号对象 时,将其计数器的初始值设为0 ,就阻塞了其他线程,保护了资源等初始化完 成后,调用r d c a s c s 锄a p h o 他函数将其计数器增加至最大值,则可进行正常的存 取访闯 ( 3 ) 事件对象 事件对象蛐t ) 是最简单的同步对象,它包括有信号和无信号两种状态。在 线程访问某一资源之前,需要等待某一事件的发生,这时用事件对象最合适。例 如:只有在通讯端口缓冲区收到数据后,监视线程才被激活。 ( 4 ) 捧斥区对象 在捧斥区中异步执行时,它只能在同一进程的线程之间共享资源处理。虽然 此时上面介绍的几种方法均可使用,但是,使用排斥区的方法则使同步管理的效 率更高。 2 3 串口通讯技术 w i n d o 啪下的串口通讯哺州不是通过应用程序直接控制硬件,而是通过 w i n 曲哪操作系统提供的设备驱动程序来进行数据传递串口在w i n3 2 中是作 为文件来进行处理的,而不是直接对端口进行操作。对于串口通讯,w 诅3 2 提 供了相应的文件i ,0 函数与通讯函数与通讯设备相关的结构有 c 0 m m c o n f i g ,c o m m p r o p ,c o m m l l m e o u r s ,0 0 m s l ,d c b , m o d e e 、,c a p s ,m o d e m s e l 珈孵s 共7 个,与通讯有关的w i n 曲吣a p i 函数共有2 6 个。w i n 曲啪环境下实现串行通讯有三种方法 1 使用v c + + 提供的串行通讯控件m s c i 哪m m s ( ) 舢是枷铷啪n 公司提供的简化w i n d o w s 下串行通讯编程的a c t i v c x 控件,它为应用程序提供了通过串口收发数据的简便方法。但姻c o 唧不是工具 箱控件,在v c 中使用该控件时首先要将该控件插入到当前p m j e d 中,通过菜单 p 啊c c l a d dt op r o j c c t - c o m p o n e 幽锄dc 叫叻l 插入即可,再将该控件从工 具箱中拉到对话框中。此后的主要工作是设置和监视控件提供的对w 砌o w 通讯 驱动程序的a n 函数的接口即m s c 硼m 控件的属性和事件。在a 蚓;w i z a r d 中 为新创建的通讯控件定义成员对象,通过该对象便可以对串口属性进行设置, m s c c 吼m 控件共有2 7 个属性。 西北工业大学硕士论文 第二章视景仿真系统的编程基础 2 在单线程中实现自定义的串口通讯类 控件简单易用,但由于必须拿到对话框中使用,在一些需要在线程中实现通 讯的应用场合,控件的使用显得捉襟见肘。此时,若能够按不同需要定制灵活的 串口通讯类将弥补控件的不足,以下将介绍如何在单线程中建立自定义的通讯 类。 该通讯类c s i m p l c c 岫m 需手动加入头文件与源文件,其基类为c 0 b j c d ,大 致建立步骤如下: ( 1 ) 打开串口,获取串口资源句柄 通讯程序从c l 髓t c f n e 处指定串口设备及相关的操作属性,再返回一个句柄, 该句柄将被用于后续的通讯操作,并贯穿整个通讯过程。c r c 砒e f n c ( ) 函数中有几 个值得注意的参数设置:串口共

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论