(机械电子工程专业论文)面向通信车建模的模型显示及编辑技术研究.pdf_第1页
(机械电子工程专业论文)面向通信车建模的模型显示及编辑技术研究.pdf_第2页
(机械电子工程专业论文)面向通信车建模的模型显示及编辑技术研究.pdf_第3页
(机械电子工程专业论文)面向通信车建模的模型显示及编辑技术研究.pdf_第4页
(机械电子工程专业论文)面向通信车建模的模型显示及编辑技术研究.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

摘要 电磁兼容分析软件是利用计算机帮助我们完成对系统的电磁兼容性设计,要 求对设计对象没有限制,设计过程要简便易行,并且节约成本,缩短产品的开发 周期,这是现代电磁兼容分析软件的发展趋势。在电磁兼容分析软件构成中,几 何建模、网格划分及模型编辑是电磁兼容分析软件前置处理的关键,它直接影响 软件的易用性、适用范围和使用效率。 本文主要研究了通信车电磁兼容分析软件的模型显示及编辑技术方面,包括 以下内容: 1 根据通信车电磁兼容软件模型数据的格式,运用结构化的编程思想,划分并 组织各链表结构分工协作关系,基于图形软件标准,统一各链表的数据接口。 2 以o p e n g l 为基础,设计模型的三维显示系统,并且实现数据结构由数组向 链表的转换,为后续模型编辑的实现奠定基础。 3 在模型三维显示系统中,实现车体模型的实时编辑处理功能,完善图形数据 结构,实现其闭环反馈。 软件基于v c + + 6 o 和o p e n g l 开发平台建立了可进行车体模型显示和编辑的 交互式图形数据结构,研究并实现模型显示和观察,模型面元选择、拾取、删除、 捕捉和绘制功能。初步建立了一个车体模型编辑的软件系统,提出了一种实现模 型编辑的算法思想。 关键词:电磁兼容模型显示模型编辑链表 a b s t r a c t m 狃a l ”i c a ls o f t w a r ef o r t h ee l e c t r o m a g n e t i cc o m p a t i b i l i t yi st h et o o lw i m w h i c h r ec 孤u s ec o m p u t e rt oh e l pu st oc o m p l e t et h ed e s i g no fe l e c t r o m a g n e t i c c o m p a t i b i l i t y t h e r ei s1 1 01 i m “o nt h eo b j e c t sa n a l y z e d ,a n dt h ep r o c e d u r ei sv e r ye a s y a l s ot h e s o 脚踟f er e d u c e st h et i m ea n dt h ec o s tw h i c hi s t h ee l e c t r o m a g n e t i cc o m p a t i b i l i t y a n a l y s i so fm o d e m t r e n d si ns o f t w a r ed e v e l o p m e n t t h i sp 印e rm a i n l ys t u d yt h em o d e ld i s p l a ya n de d i t i n gt e c h n i q u e s f o rt h ea n a l y t i c a l m o d e lo fe l e c t r o m a g n e t i cc o m p a t i b i l i t y o ft h ev e h i c u l a rc o m m u n i c a t i o ns y s t e m , i n c l u d i n gt h ef o l l o w i n gi t e m s : 1a c c o r d i n gt ot h em o d e li n h e r e n tc h a r a c t e r i s t i c sf o re l e c t r o m a g n e t i cc o m p a t i b i l i t y o ft h ev e h i c u l a rc o m m u n i c a t i o ns y s t e m , t h eu s eo fs t r u c t u r e dp r o g r a m m i n gi d e a s , d i v i d e da n do r g a n i z e das u b d i v i s i o no ft h el i s ts t r u c tc o l l a b o r a t i o n ,u n i t yo f a l lt h ed a t a i n t e r f a c el i s t 2o p e n g l b a s e dt od e s i g nt h r e e - d i m e n s i o n a lm o d e lo ft h ed i s p l a ys y s t e m ,a n d a c h i e v et h ec o n v e r s i o no fd a t as t r u c t u rf r o mt h ea r r a yt ot h el i s tt of o l l o w - u pt oc r e a t t h eb a s i sf o rt h er e a l i z a t i o no fm o d e l e d i t o r 3i nt h em o d e lt h r e e d i m e n s i o n a ld i s p l a ys y s t e m ,a c h i e v et h eb o d ym o d e lr e a l - t i m e e d i t i n g ,i m p r o v e t h eg r a p h i c sd a t a b a s ea n di t sc l o s e - l o o pf e e d b a c k b a s e do nv c + + 6 0a n do p e n g ld e v e l o p m e n tp l a t f o r m , w es e tu pt h ei n t e r a c t l v e g r a p h i c a ld a t as t r u c t u r e a b o u tm o d e ld i s p l a ya n de d i t ,s t u d ya n di m p l e m e n tm o d e l d i s p l a y 锄do b s e r v a t i o n ,t h em o d e ls u r f a c ey u a ne d i tf u n c t i o n s ,s u c h a sc h 0 1 c e ,p i c k i n g u p r e m o v i n g ,c a p t u r i n g a n dd r a w i n g i n i t i a l l ye s t a b l i s h e d ab o d ym o d e le d m n g s o f t w a r es y s t e m s ,p r e s e n t sa r e a l i z a t i o na l g o r i t h mf o rm o d e le d i t i n gi d e a s k e y w o r d :e l e c t r o m a g n e t i cc o m p a t i b i l i t y m o d e ld i s p l a ym o d e le d i t l i s t 西安电子科技大学 学位论文独创性( 或创新性) 声明 秉承学校严谨的学分和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名:筮缍箍 日期2 2 坦:z2 旦 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名:赵缝盈 导师签名:缉丝 日期坌虫鱼:2 :墨翌 日期塑! 竺:f :丝 第一章绪论 第一章绪论 1 1 课题研究的目的、意义 现代社会,我们无时无刻不在电磁场的包围中,电和磁的广泛应用不仅使时 代飞速发展,也为人类创造了巨额的财富。然而,它们让我们生活更加便利的同 时,由于电磁波之间的相互干扰等因素,给我们造成了许多不曾意料到的损失。 为了让电磁波能够更好的服务社会,将损失降低,- f 7 学科“电磁兼容”应 运而生。 电磁兼容( e m c ) u 】是指设备或系统在所处的电磁环境中能正常工作且不对环 境中任何其他事物构成不能承受的电磁骚扰的能力。在当今信息社会,随着电子 技术、计算机技术的发展,一个系统中采用的电气及电子设备数量大大增加,而 且电子设备的频带日益加宽,功率逐渐增大,灵敏度提高,联接各种设备的电缆 网络也越来越复杂,因此,电磁兼容问题日显重要。以通信车辆为例,其周边电 磁环境对于信息交互的顺畅与准确性的影响是至关明显的。因此,有必要建立起 完善的通信车系统电磁兼容分析模型,并以此计算出外部电磁环境数据,进而提 出开发方案。 目前,电磁场分析中广泛应用矩量法【2 】进行计算。该算法被认为是一种有效的 数值分析方法。对于通信车系统电磁环境来说,经过面元划分与矩量法计算之后, 形成的网格数目比较大,在各场量的呈现中,还需要处理大量的网格数据。枯燥 无味的数据即使是专业技术人员分析起来也费时费力,并且容易出错。因此可采 用形象直观的图形处理方式来辅助工程技术人员进行分析,减轻其负担,提高整 个电磁场数值计算软件包的性能。在这一背景下,模型编辑处理技术在e m c 软件 前后处理中的应用显得尤为重要。 1 2 国内外相关技术的研究发展与现状 自1 9 6 8 年由约翰逊( w r j o h n s o n ) 和托马斯( a k t h o m a s ) 提出电磁兼容性的 计算机辅助分析以来。2 0 世纪6 0 年代末期电磁兼容性预测技术在美国首先开展研 究。七八十年代得到了迅速发展,当时在预测数学模型的研究、应用软件的研制 和开发、航空航天工程应用的实践等方面十分活跃。美国和俄罗斯都较早地研制 和开发了许多能满足不同工程需要的e m i 预测与分析软件。 国外对有限空间内各类电子设备的电磁兼容性预测和分析已进行了深入的研 究,不但广泛采用了s e m c a p 、l a p 等系统分析软件 3 1 ,而且颁布了多部与系统环 境效应相关的标准,较好地解决了电磁兼容的问题。特别是a n s y s 公司推出的电 磁计算模块f e k o 、a n s o f t 公司的h f s s 软件,这些软件不但可以解决各种电磁计 算问题,而且还提供了强大的后置处理功能,引起了国内外业内专家的格外关注【4 】。 a n s y s 公司推出的电磁计算模块f e k o 是一款用于3 d 结构电磁场分析的仿 真工具。f e k o 仿真基于著名的矩量法( m o m ) 对m a x w e l l 方程组的求解。f e k o 实现了非常全面的m o m 代码,可以解决任何结构类型的问题;f e k o 还针对许多 特定问题,例如平面多层介质结构、金属表面的涂覆等等,开发了量身定制的代 码,在保证精度的同时获得最佳的效率。 为了求解电大问题,f e k o 引入了多层快速多极子方法( m l f m m ) 。f e k o 是世界上第一个把这种方法推向市场的商业代码。这种方法使得精确仿真电大问 题成为可能。在此之前,求解此类问题只能选择高频近似方法。f e k o 中有两种高 频近似技术可用,一个是物理光学( p o ) ,另一个是一致性绕射理论( u t d ) 。在 m o m 和m l f m m 需求的资源不够时,这两种方法提供求解的可能性。f e k o 中通 过混合m o m p o 和m o m 仙t d 来为电大尺寸问题的精度提供保证。 基于以上技术路线,f e k o 可以针对不同的具体问题选取不同的方法来进行快 速精确的仿真分析,使得应用更加灵活,适用范围更广泛,突破了单一数值计算 方法只能局限于某一类电磁问题的限制。由于f e k o 基于严格的积分方程,因此 它不需要建立吸收边界条件,没有数值色散误差,在计算电大尺寸问题时不会因 尺寸增加而误差增大。而且,f e k o 支持工程中的各种激励、模式,可以构建任意 结构、材料的模型,根据用户要求可以考虑多种不同层面的问题。除了计算内核 的高效率和强大的功能外,f e k o 还具有友好的用户界面、完善的前后处理功能以 及良好的接口兼容性。f e k o 前处理的建模功能提供了各种规则几何体的直接创 建,支持全参数化的几何尺寸输入,可以进行多种布尔操作和旋转、扭曲、螺旋、 拉伸等操作。此外,几乎所有目前的主流c a d 软件建立的模型都可以直接输入到 f e k o 中进行计算,这一功能大大简化了复杂模型的构建难度。f e k o 友好的用户 界面使得用户对解的设置和控制变得轻松自如,保证了具备电磁场基础的用户可 以在短时间内完全掌握f e k o 的用法。独特的循环控制进一步增强了分析和控制 的能力。功能强大完善的后处理模块可以得出所有我们关心的物理量,包括s 参 数、阻抗、方向图、增益、极化、场分布、电流、电荷、r c s 、s a r 等,并可以 以非常直观、灵活的二维、三维、动画、图表及文件等方式输出。 如果说,f e k o 是专业的电磁分析工具,那么a n s o f l 公司的h f s s 就是世界 上第一个全面商业化的拥有自主三维结构建模的电磁场仿真软件,它能够进行全 面的全参数化设计,从几何结构、材料特性到分析、控制及所有后处理。该软体 第一章绪论 3 强大的参数化三维建模能力,和高性能的图形能力,大大节省了工程师的设计时 间。直观的分析设置和高级的分析控制确保在全自动化方式下获得设计师所希望 的设计结果。并且,h f s s 有多个机制允许工程师们根据自己的需要去制作用户特 定的设计流程。视窗、对话方块、工具栏、甚至菜单均可被用户通过配量缺省来 支持个性化参数定义。使用者可通过主菜单、工具栏、项目树和文本栏来灵活操 作界面命令。另外,通过脚本语言v b 和j a v a s c r i p t 全面控制h f s s 和专用化定制。 脚本也能支持强大的宏记录,可以用来定义参数化几何结构,执行用户分析流程 或控制从开始到结束的整个设计流程。 经过二十多年的发展,h f s s 以其无以伦比的仿真精度和可靠性,快捷的仿真 速度,方便易用的操作界面,稳定成熟的自适应网格剖分技术使其成为高频结构 设计的首选工具和行业标准,已经广泛地应用于航空、航天、电子、半导体、计 算机、通信等多个领域,帮助工程师们高效地设计各种结构,研究目标特性和系 统部件的电磁兼容电磁干扰特性,从而降低设计成本,减少设计周期。 与国外相比,国内在这方面的研究工作开展得比较晚。2 0 世纪9 0 年代以来, 随着国民经济和高科技产业的迅速发展,一些军种、研究所以及大学陆续建立了 电磁兼容研究室进行电磁兼容性工程设计和预测分析工作,取得了一定的研究成 果。这些研究工作的主要目的就是能够给设计工程师提供一个使用方便、功能强 大的电磁兼容分析软件包,利用计算机实现系统的电磁兼容性设计。本文就是为 实现这个目的做了一些工作。 然而,商用软件亦有其不足,如实体模型的构造一般是由几种简单的体素( 如 三棱锥、四棱柱、圆柱、) 进行布尔运算叠加而成,因此不能进行对复杂形状表面 的精细建模。另外,商用软件对模型表面无法进行染色区分,所以对模型的网格划 分的结果没有很好的方法检查,当划分出现问题时进行排查比较困难。 为此,参考商用软件的优缺点,我们采用o p e n g l 图形开发库进行车体模型编 辑的程序设计j 目前,o p e n g l 在图形设计领域已经成为工业标准,被广泛地应 用于图形与动画绘制、虚拟现实技术和计算机可视化等三维图形设计领域。而v c + + 也提供了与o p e n g l 的接v i ,从而结合二者的特点,能v 很z 好地进行交互式三维 应用程序的开发。 1 3 课题研究内容 本课题组研制的电磁兼容分析软件e m c a n a t 5 】核心计算部分基于矩量法。图1 1 给出了该软件的总体框架图。从图中可以看出,e m c 软件系统框架由用户端和数据 端组成。 在用户端,用户可以通过界面平台调用数据库中的初始模型或网格划分模型 进行操作或修改,继而生成新的模型数据。用户同样可以对表面电流和场强的可 视化结果进行操作,比如云图显示、动态播放与保存等。 数据端主要提供e m c 软件的平台实现以及与数据库的连接。其中包括了初始 几何建模、前置处理、核心计算、后置处理技术。其中,通信车不同天线配置方 案由软件几何建模实现,用户可以直接从数据库中调用各种已建好的模型来进行 计算。对初始模型进行网格划分和优化则由前置处理完成,其结果数据由核心计 算模块进行电磁数据分析处理。其中,核心计算模块运用矩量法求解。后置处理 主要实现电磁数据的可视化。前置处理模块,核心计算模块和后置处理模块也就 是软件在总体上的三个大的功能模块。 数榭端 几垂i i 建模 f j i f 。澄处腭模块 核心汁辫模块 厩瀚处瑗模块 朋广 端 初始榄啦的娃 爪j 修改 啦丘拨,一的娃 示吩修改 耥含t 竖t l l i 线、 i b 流、场强、 办融i 镧鼹吖及 其它汁钉纷粜 图1 1 软件的总体框架 基于o p e n g l 的模型显示和编辑是初始模型、网格划分模型正确性验证及编 辑修改的重要工具,是软件中为矩量法电磁计算提供符合要求的网格划分的保障, 它的好坏直接影响到软件的易用性、适用范围和工程数值分析的精度,因此模型 显示和编辑就显得尤为迫切。 因此,本文的主要研究内容有: ( 1 ) 研究模型显示技术及人机交互技术在电磁兼容分析中的应用: ( 2 ) 基于v c + + 6 0 平台及o p e n g l 技术研究通信车模型和电磁场数据格式,实 现* g e o 文件内部数据结构转换,掌握o p e n g l 相关人机交互三维绘图的理论和技 术。 ( 3 ) 研究基于o p e n g l 的模型验证显示,实现对显示模型的编辑功能和模型文 第一章绪论 件生成。 ( 4 ) 对全文工作进行总结,为进一步的研究工作提出建议。 5 第二章图形交互的基础技术与开发平台 第二章图形交互的基础技术与开发平台 2 1 交互技术及用户接口 7 计算机图形学从早期的被动式绘图发展到今天的交互式绘图,交互技术和用 户接口起着很重要的作用。一个图形系统,必须允许用户能动态的输入点的坐标, 提供选择功能,设置变换参数等。设计人员在使用图形系统时,首先将自己的构 思通过输入输出设备输入到计算机中,计算机对输入的信息进行处理后,及时的 反馈给设计人员;设计人员对反馈的信息进行分析和判断,对错误的信息或不合 理的的部分进行修改、补充,并把修改和补充后的信息在进入计算机,计算机对 这些信息进行再处理、再分析、再判断、再输出。如此反复,直到设计人员满意 为止。这个过程就是人与计算机不断交流信息的过程,这就要求在人和计算机之 间有一个高效的称之为人机界面或用户接口的通讯系统。完成这种交互任务的方 法称为交互技术1 6 7 1 。 2 1 1 交互技术 交互技术包括定位、选择、拾取图形、菜单、定向、定路径、定量、文本、 橡皮筋、徒手画、拖动等技术。 1 定位技术 定位技术用来指定一个坐标,这里需要确定维数,如一维、二维或三维;分 辨率,即定位精度;点是离散点还是连续点。定位技术主要有三种: ( 1 ) 图形输入板、鼠标器或键盘光标键控制光标定位。 ( 2 ) 键入坐标定位。 ( 3 ) 用光笔或叉丝定位。 2 选择技术 选择技术要求确定可选择集合的大小及选择值,这个集合可以是固定的,也可 以是变长的。选择要求有拾取设备,如光笔或任何可以模拟拾取设备的定位设备。 选择技术有以下几种: ( 1 ) 光笔选择。 ( 2 ) 图形输入板或鼠标器控制光标拾取图形。 ( 3 ) 图形输入板、鼠标器或键盘光标键光标点取菜单项。 ( 4 ) 键入名字、名字缩写或排列的唯一序号或标识号作选择。 ( 5 ) 用功能键作选择。 ( 6 ) 语音选择或笔划识别。 3 拾取图形 拾取图形是常用的可变集选择技术。在交互式图形系统的增、删、改操作中, 都是以拾取图形或以拾取图形的某一位置点为基础的。拾取图形的速度和精度又 极大地影响着交互系统的质量。 从屏幕上拾取一个图形,其直观现象是该图形性变颜色,或闪烁,或增亮,其 实际意义是要在处处用户图形的数据结构中找到存放该图形的几何参数及其属性 的地址,以便对该图形作进一步操作,如修改其几何参数、连接关系或某些属性。 下面介绍常用图形的拾取算法。此算法是通过指点方式来拾取图形的。算法假 定:拾取点的坐标是p o ( x o ,y o ) ;坐标系为二维规范化的设备坐标系( n d c o 0 五y 1 0 ) ;要拾取的图形元素满足:屏幕上可见,图形显示区域内包含拾取 点的坐标,系统当前的所有图形名集与可拾取图形名集的交集不为空集,系统当 前的所有图形名集与不可拾取图形名集的交集为空集。 ( 1 ) 点的拾取。对于在n d c 中的一点暑( 而,m ) ,0 0 五,m 1 0 ,该点的显 示区域是以该点为圆心,为半径的一个圆形区域,是交互系统设定的区域精度。 如果 ( x i xo ) 2 + ( y l yo ) 2 , ( 2 1 ) 则只点的显示区域包含了拾取点忍,即对月点拾取成功。 ( 2 ) 符号集( p o l y m a r k e r ) 的拾取。依次判断符号集中的每个符号参考点的 显示区域是否包含了拾取点,如该图素的某个符号的参考点满足点的拾取条件, 则对该图素拾取成功。这里重复调用点的拾取。 ( 3 ) 直线段的拾取。若n d c 中一条直线段的端点为暑( 而,y 1 ) ,昱( 屯,y 2 ) , 该线段的显示区域可近似如图2 1 所示。只只的直线方程为: ( y l y 2 ) x 一( 一x e ) y 一( m 一耽) + y t ( x t x 2 ) = 0 ( 2 2 ) 直线骂、e 的斜率为: k s = 一( 一恐) ( m y 2 ) ,y l y 2 0 ( 2 3 ) 斜率为k b 的直线簇可表示为y = k s x + b 。若分别将昂、丑、最代入的直 线簇方程,得 b o = y o 一如x o ,6 l = m k b x l ,吃= y 2 一k b x 2 对于m y 2 = 0 的情况, = x o ,包= 五,= 而。如果m i n ( b i ,6 2 ) b o m a x ( b , ,6 2 ) ,则只在垦、垦所夹 的区域中。下面再判p o 到直线段毋罡的距离是否小于等于系统设定的区域精度,。 址业贵等茺y 譬y 带2 盟到外协4 ,i ( x 1 一x 2 ) 2 + (1 2 i 。 如果满足以上条件,则对只只直线段拾取成功。 第二章图形交互的基础技术与开发平台 9 ox 图2 1 直线段的拾取 ( 4 ) 三维图形的拾取。三维图形的拾取算法比上述的拾取算法要复杂得多,将 在第四章中结合o p e n g l 将详细介绍,此时需考虑的问题有: 1 拾取空间是n d c :0 0 x ,y ,z 1 o 。 2 拾取区域为球或立方体。 3 需要进行点多边形、点多面体等包含性测试。 2 1 2 用户接口 交互反映了人与计算机运行的程序之间传递信息的形式,而子程序包中每个 子程序的功能以及专用语言中的有关语句都可以按照命令方式提供给用户使用。 交互式用户接口就是基于某种模型,实现用户所需要的输入、选择、拾取、删、 增、改等操作。 1 接口模型 建立一个交互式用户接口模型有两方面的要求:从用户角度,要求模型尽量 接近于现实,而非形式化;而从开发者角度,则要求模型具有严格的形式化描述, 以便于实现。目前,普遍被大家接受和采用的模型是s e e h e i m 模型,模型如图2 2 所示。 其中表示部分负责用户接口的物理表示,即用户接口的外部特性,包括输入 输出设备、屏幕布局、交互技术和显示技术,主要完成如何接收用户数据,数据 如何显示给用户看,并转化成内部表示的形式。对话控制负责处理用户与计算机 之间的对话,包括用户使用的命令和对话结构,它接收用户的输入序列和应用程 序的输出序列,并经过合法性检查。应用接口规定用户接口本身与应用程序之间 的连接,如应用子程序的选择和调用。 这一部分从概念上说,既属于用户接口管理系统,又属于应用程序,其内容 1 q重塑望焦主堡堡塑墼型里重垦塑堡垫查婴窒 包括可调用的与应用程序通信的子程序包、对子程序和数据的限制、错误恢复等 语义信息。 用 图2 2s e e h e i m 模型 2 交互命令的执行过程 交互式用户接口是用户与应用系统的核心功能模块之间的界面,如图2 3 所 示,它负责接收用户向系统输入的操作命令及参数,经检验无误后调出相应的应 用程序模块执行之,执行的结果再以一定形式通知用户。通常系统在接收一条用 户的操作命令时,用户接口要完成如图2 4 所示的对话处理过程。 3 增、删、改操作 交互处理中最常用的是增、删、改操作,另外还有询问、设置等,操作的对 象包括图形、属性以及字符串说明等。定位和拾取是增、删、改操作的基础。增 操作一般对应输出,其动作包括:设定位点、选择输出内容、输入有关参数、输 出存储结果。删操作对应的动作有:拾取删除对象、确认拾取对象、删除对象、 修改存储结构中的内容。改操作应执行的内容是:拾取修改对象、确认拾取的对 象、输入修改参数、输出修改结果,经确认后存储结果。 应用程序的功能模块 命令接收及解释 图形及文字输入 输入信息的回显 。对话 固命令执行后的结果 应用核心 用户接口 工 操作系统及图形软件ij o 图2 3 交互式用户接口界面 图形及文字输出 o 第二章图形交互的基础技术与开发平台 1 1 图2 4 用户接口对话处理过程 2 2 图形软件标准化 随着计算机图形学应用领域的不断扩大,各种软件日益增多,图形设备也在 不断更新换代。为了便于图形软件的移植和开发,就必须制定一个统一的图形软 件标准。 图形软件标准主要是指整个图形系统中几个接口的规定。按此规定研制的图 形软件称为标准化的图形软件。 第一个接口是面向应用程序设计的图形软件功能接口,该接口把应用程序与 物理设备隔开,实现应用程序在源程序级的可移植性。国际标准化组织i s o 为这 个接口制定的标准为图形核心系统g k s ( g r a p h i c sk e r n e ls y s t e m ) 、三维图形核心 系统g k s 3 d 以及程序员层次式交互图形系统p h i g s ( p r o g r a m m e r sh i e r a r c h i c a i n t e r a c t i v eg r a p h i c ss y s t e m ) 。 第二个接口是图形软件与图形输入、输出设备之间的接口,这个接口保证图 形软件与图形设备之间的相互独立性,可以实现图形软件在不同系统、不同配置 之间的可移植性。i s o 为这个接口制定的标准为计算机图形设备接口c g i ( c o m p u t e rg r a p h i c si n t e r f a c e ) 。c g i 可以看作是图形设备驱动程序的一种标准。 第三个接口是图形数据接口,它规定了记录图形信息的数据文件格式。这个 接口使程序与程序之间,或系统与系统之间相互交换图形数据成为可能。i s o 为这 个接口制定的标准为计算机图形元文件c g m ( c o m p m e rg r a p h i c sm e t a f i l e ) 、产品 模型数据转换标准s t e p ( s t a n d a r df o r 也ee x c h a n g eo f p r o d u c tm o d e ld a t a ) 。此外, 基本图形交换规范i g e s ( i n i t i a lg r a p h i c se x c h a n g es p c i f i c a t i o n ) 、图形数据交换文 件d x f ( d a t ae x c h a n g ef i l e ) 也是图形系统广泛采用的图形数据文件工业标准。 2 3v c + + 6 o 程序开发平台及o p e n g l 简介 v i s u a lc + + 6 0 是m i c r o s o f t 公司推出的w i n d o w s 平台下最主要的可视化编程 环境之一,它不仅是c + + 语言的集成开发环境,而且与w i n 3 2 紧密相连,功能相 当强大,可以完成从底层软件直到上层直接面向用户的软件。此外,v i s u a lc + + 还 提供了强大的调试功能。v i s u a lc + + 6 o 是目前最为流行的版本【8 】。o p e n g l 是一个 可供高级编程语言调用的图形显示及观察程序包,已成为目前广泛使用的开发图 形处理软件或模块的工具。 2 3 1v c + + 6 0 概述 v c + + 是一个集成开发环境,在v c + + 中,通常是以“工程( p r o j e c t ) 为单位 来编辑、编译、链接和运行应用程序的。所谓“工程 是进行编译和链接的一些 相关源文件的集合,这些源文件用以创建一个可执行的基于w i n d o w s 的程序或动 态链接库,每个工程还与工程之外的其他一些文件相关,如包括库文件等。用v c + + 创建工程时,同时也创建了许多中间文件:a p s ( 支持r e s o u r c e v i e w ) 、b s c ( 浏览 器信息) 、c l w ( 支持c l a s s w i z a r d ) 、d e p ( 附属文件) 、d s p ( 工程文件) 、d s w ( 工程工作区文件) 、m a k ( 外部生成文件) 、n c b ( 支持c l a s s v i e w ) 、o p t ( 保 留工作区配置) 、p l g ( 建立日志文件) 、c p p ( 源文件) 、h ( 头文件) 。其中工程 文件、工程工作区文件是不能删除或编辑的,否则,整个工程将被破坏。 一个完整的工程由上述文件类型构成 9 1 。这些文件或者由v c + + 的组件自动生 成,或者可以在v c + + 的组件中编辑,并由v c + + 的组件编译、调试和修改。v c + + 的组件包括:资源编辑器、c c + + 编译器、源代码编辑器、资源编译器、链接器、 第二章图形交互的基础技术与开发平台 1 3 调试器、a p p w i z a r d 、c l a s s w i z a r d 、资源浏览器等基本工具。 v c + + 6 0 提供了多种向导工具( w i z a r d s ) ,来帮助开发人员生成各种不同类 型的应用程序的基本框架,从而简化了程序的开发过程。例如使用m f ca p p w i z a r d 可以生成基于m f c 类库的完整的源文件和资源文件框架;使用c u s t o ma p p w i z a r d 可以创建自定义的项目类型,并将其添加到创建项目时的可用项目类型列表中。 在创建应用程序的基本框架之后,还可以使用c l a s s w i z a r d 来创建新类,定义 消息处理函数,覆盖虚函数以及进行其它可视化操作。另外还可以用w i z a r d b a r 来定义消息处理函数、覆盖虚函数以及浏览相关文件等。 所有的应用程序都是由消息( m e s s a g e ) 驱动的,消息是所有程序的核心部分。 与所有其它w i n d o w s 应用程序一样,框架应用程序也要处理w i n d o w s 消息,但框 架应用程序使得消息处理起来更容易、更便于维护并且封装性更好。 应用程序初始化完成后,将调用c w i n a p p 类的成员函数r u n 来处理消息循环。 消息循环不断检索由各种事件产生的消息( 例如,单击鼠标左键,w i n d o w s 将产 生w ml b u t t o n d o w n 消息,而释放鼠标左键,响应产生w ml b u t t o n u p 消息) ,并将消息分发给适当窗i z l 。窗口在接收到消息后,将调用专门的处理函数 来处理相应的消息。消息处理函数通常是某二个类的成员函数,它们大多是由开 发人员编写出来的,不同的成员函数完成不同的功能。实际上,在v c + + 6 0 的开: 发环境下,程序开发过程中心任务就是编写具有不同功能的消息函数。通常可以 使用c l a s s w i z a r d 来创建消息处理函数,然后在源文件的消息处理函数的定义部分 中编写该函数的代码。 常见的消息主要有三种类型,即标准w i n d o w s 消息、控件通知和命令消息。 标准w i n d o w s 消息一般以“w m 为前缀,它通常由窗口和视图处理,这类 消息通常含有一些参数,以确定对消息进行处理的方式。标准w i n d o w s 消息都有 缺省的处理函数,这些函数在c w n d 类中都进行了预定义,在m f c 类库中这些处 理函数的名称都以前缀“o n 开始。常见的标准w i n d o w s 消息有w m c h a r 消 息、鼠标消息、w m p a i n t 消息、w m h s c r o l l 消息、w m v s c r o l l 消息和 w mt i m e r 消息等。 控件通知包含从控件和其它子窗口传给父窗口的w m通知消息。_command 例如当用户修改编辑控件中的文本时,编辑控件将给父窗口发送一条含有 e nc l i c k e d 通知控件通知码的w mc o m m a n d 消息。这样,窗口的消息处理 函数将以适当的方式对该通知消息作出响应。像其它标准w i n d o w s 消息一样,控 件通知也是由窗口和视窗处理的。但是,当用户单击按纽控件时,所发出的 b nc l i c k e d 控件通知消息将作为命令消息来处理。 命令消息包含来自用户乔面对象( 如菜单项、工具栏按纽和加速键等) 的 w mc o m m a n d 消息。命令消息的处理与其它消息的处理不同,命令消息可以被 更广泛的对象( 如文档、文档模板、应用程序对象、窗口和视图等) 处理。如果 某条命令直接影响某个特定的对象,则应该让该对象来处理这条命令。例如,当 应用程序接收到“f i l e 菜单中的“n e w 命令时,将调用c w i n a p p 类的成员函 数o n f i l e n e w 打开新的空文档。绝大多数应用程序的功能都是通过命令消息函数 实现的,因此,这一部分也是程序开发的重点内容。 命令消息和命令消息处理函数是通过消息映射链接起来的。每一个可以接收 消息或命令的对象都有自己的消息映射。当命令的目标对象接收到命令消息后, 将自动搜索其消息映射,搜寻与之相匹配的处理函数。如果找到了相应的处理函 数,就调用该函数实现消息功能。 2 3 2o p e n g l 基本概念 o p e n g l 是一套图形标准,它严格按照计算机图形学原理设计而成,符合光学 和视觉原理,非常适合可视化仿真系统【1o 1 1 1 。 一个完整的窗口系统的o p e n g l 图形处理系统的结构为:最底层为图形硬件, 第二层为操作系统,第三层为窗口系统,第四层为o p e n g l ,第五层为应用软件。 如图2 5 所示: 应用程序 l o p e n o l f 窗口系统 f 操作系统 f 图形硬件 图2 5o p e n g l 图形处理 系统的层次结构 应用程序 l; o l a e r l 3 l 3 2 d l l g u l 3 2 d l l ; 可安装的客户 端驱动程序 i c 1 i e ms e f 、他r , 姗n s r v d l l li 硬件相关d d iw i n 3 2 d d i ll 视频显示驱动程序 图2 6o p e n g l n t 体系结构 第二章图形交互的基础技术与开发平台 1 5 1 o p e n g l 的工作机制 o p e n g l 指令的执行模式采用客户朋艮务器模式。客户即指视图用o p e n g l 进 行绘制作业的应用程序,服务器则是o p e n g l 的内核。所谓客户服务器模式就是 指客户向服务器发出命令请求,而由服务器来对这些命令进行解释执行。这种客 户服务器模式的优势在于使o p e n g l 具有了网络透明性。在大多数情况下,客户 服务器模式是运行在同一台计算机上,此时这种工作模式的优势并不明显。而在 网络环境下,客户n 务器模式可以使多个客户,同时得到位于其它计算机上的服 务器的服务。 o p e n g l 有一系列库函数组成,这些库函数被封装在o p e n g l 3 2 。d l l 动态链接库 中。按照客户服务器工作模式,从客户应用程序中发出的命令请求,实质上就是 对o p e n g l 函数的调用,这种调用首先被o p e n g l 3 2 d l l 处理,接着由w i n s r c d l l 进 一步解释执行,然后传递给d d i ( d e v i c ed r i v e ri n t e r f a c e ) 最后传递给视频显示器 驱动程序,完成显示操作。其工作流程如图2 6 所示。 2 o p e n g l 的基本功能 o p e n g l 具有以下八大基本功能:建模、变换、颜色模式设置、光照和材质设 置、纹理映射、管理位图和图像增强、制作动画、交互技术。 3 o p e n g l 的基本用法 作为图形硬件的软件接口,o p e n g l 的主要任务就是将二维及三维物体描绘至 帧缓存中。在o p e n g l 看来,这些物体都是由一系列用于描述物体或图像几何性 质的顶点或像素组成,o p e n g l 通过执行一系列操作命令,把这些顶点或像素信息 转化成适用于帧缓存的像素数据,并形成最后的显示列表。 4 o p e n g l 图形操作的基本步骤 运用o p e n g l 进行主要的图形操作,以及最终在计算机图形屏幕上绘制出三 维场景的过程,包括五个基本操作步骤。 ( 1 ) 设置像素格式 像素格式规定o p e n g l 进行图形处理的绘制风格、颜 色模式、颜色位数、深度位数等重要信息。 ( 2 ) 建立对象模型这一步骤的主要任务就是根据基本图元建立景物的三 维模型,并对其进行数学描述。 ( 3 ) 建立投影观察体系把几何对象放置在三维空间的适当位置,并设置 三维透视图,对物体进行投影观察。 ( 4 ) 图形特殊效果处理通过设置物体的材质( 包括颜色、光学性能及纹 理映射方式等) ,加入光照及光照条件,增强图形的视觉效果。 ( 5 ) 图形的光栅化这是图形显示的最后步,它把经过前几步处理的景 物模型及其颜色信息转化成可在计算机平面上显示的像素信息,加以显示。 1 再 面向通信车建模的模型显示及编辑技术研究 5 o p e n g l 图形操作的工作流程【1 2 1 o p e n g l 的工作流程如图2 7 所示。 用户指令从左侧进入o p e n g l 系统。指令可分为两部分,一部分指令绘制物体, 另一部分指明在不同的阶段对物体进行的处理。通过估算值对输入的多项式函数 进行计算,从而为曲线等几何物体的近似提供有效的手段,然后对由顶点表示的 几何图元进行操作。在此阶段,对顶点进行转换、光照,并把图元剪切到视见体 中,为下一步的光栅化作准备。光栅化产生一系列图像的帧缓存地址和图元的二 维描述值,其生成结果称为基片,每一个基片适合于在最后改变帧缓存之前对每 个基片进行操作。这些操作包括根据先前存储的深度值,对帧缓存进行有条件的 更新和测试,把将要处理的颜色和已经存储的颜色进行融合或屏蔽,以及对基片 进行逻辑操作和淡化处理。 顶点 数据 像索 数据 图2 7o p e n g l 的工作流程 6 在v c + + 6 0 开发环境下进行o p e n g l 编程的基本步骤为: v c + + 6 0 开发环境下的编程是以事件驱动为基础的,为了编写出与w i n d o w s 紧密结合的图形软件,必须熟悉事件及其处理机制。在v c + + 6 0 开发环境下进行 o p e n g l 编程,就是要把o p e n g l 命令函数融入到v c + + 6 0 程序的事件机制之中, 使之与程序的其它部分结合成一个整体。下面使用v c + + 6 0 编写o p e n g l 程序的 基本步骤: ( 1 ) 利用m f c a p p w i z a r d 建立一个单文档应用程序框架。 ( 2 ) 打开资源编辑器对程序界面上的菜单、对话框资源进行必要的修改。 ( 3 ) 在程序中包含o p e n g l 的头文件和库函数文件。 在视图类c v i e w 的头文件v i e w h 中,包含有关o p e n g l 的头文件,如下: # i n c l u d e “g l 9 1 h 。 # i n c l u d e “g l g l u h 其中9 1 h 是o p e n g l 不可少的,g l u h 表示要用

温馨提示

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

评论

0/150

提交评论