(机械电子工程专业论文)大型吊装仿真草绘系统的研究与实现.pdf_第1页
(机械电子工程专业论文)大型吊装仿真草绘系统的研究与实现.pdf_第2页
(机械电子工程专业论文)大型吊装仿真草绘系统的研究与实现.pdf_第3页
(机械电子工程专业论文)大型吊装仿真草绘系统的研究与实现.pdf_第4页
(机械电子工程专业论文)大型吊装仿真草绘系统的研究与实现.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(机械电子工程专业论文)大型吊装仿真草绘系统的研究与实现.pdf.pdf 免费下载

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

文档简介

大连理工大学硕士学位论文 摘要 吊装方案的设计对吊装工程的成败起到很关键的作用。三维吊装仿真系统是面向吊 装行业的专用软件。为了能够安全顺利地进行吊装作业,提高对吊装方案设计的精确性、 合理性、高效性和可靠性,开发出这样一套系统是很有必要的。而作为吊装仿真的重要 模块,草绘系统的绘制完成是整个仿真顺利进行的前提和首要条件。因此,对草绘系统 的研究具有一定的现实意义。 草绘系统包括二维草绘及其在三维环境中的实现。该系统的主要任务是模拟出吊装 设备、吊装设备附件以及作业环境的图形特征,并将这些特征信息进行存储和读取。同 时,在二维环境中要进行图形的编辑和预览等等。因此,本文所要研究的主要内容和核 心技术包括以下几项: ( 1 ) 研究系统所需要的面向对象编程技术、内部数据存储技术s t l 、u m l 统一建模 语言、o p e n g l 技术、g d i 图形编程技术以及x m l 技术等。 ( 2 ) 完成需求分析,并建立说明文档。以敏捷开发的设计模式,采用快速原型开发 模型,设计系统的整体架构,完成图形库的建立。运用面向对象的思想,采用多态、封 装和继承的方式编写类库的属性和操作。完成基于o p e n g l 的客户程序员开发工作,建 立草绘系统在三维中的模型。最后完成整个程序的编码和测试工作。 ( 3 ) 采用x m l 技术,完成数据的存储和读取。定义本系统与其它模块之间的接口 和数据结构。 本文系统地研究了草绘系统的设计与实现。提出了符合吊装行业特点二维图形绘制 的设计思想及其在o p c n g l 环境中的实现方法。该方法设计合理,运行高效,对于吊装 仿真行业具有一定的现实意义。 关键词:吊装仿真系统;草绘系统;图元库;g d i ;0 p e n g l 大型吊装仿真草绘系统的研究与实现 t h er e s e a r c ha n dr e a l i z a t i o no f d r a f ts y s t e mo fs i m u l a t i o ns y s t e mf o r l i f t i n g a b s t r a c t t h ed e s i g np r o j e c to fl i f t i n gi n d u s t r yh a sa l li m p o r t a n te f f e c to nt h el i f t i n gi n d u s t r y t h e s i m u l a t i o ns y s t e mf o rl i f t i n gi st h es p e c i a ls o f t w a r ef o rt h el i f t i n gi n d u s t r y f o rt h ep u r p o s e o fc a r r y i n gt h el i f t i n gt a s ks a f e l ya n df a v o r a b l y ,a n da l s oi m p r o v i n gt h et r u s t i n e s so ft h e l i f t i n gp r o j e c t , i ti sn e c e s s a r yt od e v e l o pt h i ss y s t e m a n da sa l li m p o r t a n tm o d u l eo ft h e w h o l es y s t e m ,t h ed r a f td e p a r t m e n ti st h ep r e c o n d i t i o nt oi n s u r et h ew h o l es y s t e mt ob e c a r r i e do ns u c c e s s f u l l y t h e r e f o r e ,t h e r ea r es o m ep r a c t i c a lm e a n i n g so ft h er e s e a r c ho ft h e d r a f ts y s t e m t h ed r a f ts y s t e mi n c l u d e st h e2 dd r a f ta n di t sr e a l i z a t i o ni nt h e3 de n v i r o n m e n t t h e m a i nt a s ko ft h es y s t e mi sf i r s tt os i m u l a t et h el i f t i n ge q u i p m e n t , a n di t sa p p e n d a g e ,a n da l s o t h el i f t i n ge n v i r o n m e n t t h e n , d e s i g nt h ed a t af o r m a to ft h el i f t i n ge q u i p m e n ta n dt h e e n v i r o n m e n t , 鹋w e l l 硒t h ee d i t i n gf u n c t i o na n dt h ep r e v i e wo ft h e2 dg r a p h i c sa n ds oo n t h em a i nc o n t e n ta n dc o r et e c h n o l o g yu s e do f t h et h e s i si n c l u d e : ( 1 ) t h eo b j e c t - o r i e n t e dt h o u g h ti sr e s e a r c h e d , t h es t lt e c h n o l o g yf o rd a t as t o r i n gi s u s e d , a n ds od o s e t h eu m ll a n g u a g e ,t h eo p e n g lt e c h n o l o g y ,t h eg d ig r a p h i c s p r o g r a m m i n gt e c h n o l o g ya n d t h ex m l t e c h n o l o g y ( 2 ) t h eo o a ,o o da n do o p a r eu s e dt od e s i g na n dp r o g r a mi nt h i st h e s i s f i r s t ,u s i n g t h er a dm o d e lt od e s i g nt h es y s t e ms t r u c t u r e s ,a n da l s oe s t a b l i s ht h eg r a p h i c sl i b r a r y s e c o n d ,u s i n gt h eo ot h o u g h t t od e s i g nt h ea t t r i b u t ea n dt h eo p e r a t i o no f t h eg r a p h i c sl i b r a r y t h i r d , c o m p l e t et h e2 dr e a l i z a t i o nj o bi n3 de n v i r o n m e n tb yo p e n g l a n d a tl a s t ,c o m p l e t e t h et e s t i n g j o b ( 3 ) t h ed a t as t o r i n gf o r m a ta n dt h er e a d i n gf u n c t i o ni sr e s e a r c h e db yu s i n gt h ex m l t e c h n o l o g y a n dt h ei n t e r f a c eo f d a t as t r u c t u r e sb e t w e e nt h ed i f f e r e n tm o d e l si sa l s od e f i n e d t h et h e s i sm a i n l yc o m p l e t e st h er e s e a r c ha n dr e a l i z a t i o nj o b so ft h ed r a f ts y s t e m i ta l s o b r i n g sf o r w a r dt h et h o u g h to f2 dd r a f tb a s e do ng d i ,a n di t sr e a l i z a t i o ni n3 de n v i r o n m e n t b a s e do no p e n g l ,a l lo ft h e s er e s e a r c ha n dd e s i g nj o b sa r eb a s e do nt h et r a i t so fl i f t i n g i n d u s t r y t h ew h o l ep r o j e c ti si nw e l ld e s i g n , a n dr u n n i n gi nh i g he f f i c i e n c y t h e r e f o r e ,t h e d r a f ts y s t e r r b l a a ss o m ea p p l i c a t i o nm e a n i n g sf o rt h el i f t i n gi n d u s t r y k e yw o r d s :s i m u l a t i o ns y s t e mf o rl i f t i n g ;d r a f ts y s t e m ;2 dg r a p h i c s ;g d i ;o p e n g l 独创性说明 作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究工 作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得大连理 工大学或者其他单位的学位或证书所使用过的材料与我一同工作的同志 对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。 作者签名:与楼日期:受望卫 大连理工大学硕士研究生学位论文 大连理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位 论文版权使用规定”,同意大连理工大学保留并向国家有关部门或机构送 交学位论文的复印件和电子版,允许论文被查阅和借阅。本人授权大连理 工大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,也 可采用影印、缩印或扫描等复制手段保存和汇编学位论文。 作者签名 导师签名 丝啤年卫月翠目 大连理工大学硕士学位论文 1 绪论 1 1吊装仿真项目来源及其研究意义 随着石油化工、海洋工程、桥梁建设等的快速发展,重达数百吨甚至数千吨的超大 型设备的吊装越来越多,工作现场环境更加复杂,两台起重机乃至多台起重机协同作业 的情况也相应地增多。在这种情况下,为了能够安全顺利地进行吊装作业,并且合理统 筹安排起重机资源,各个建设公司对吊装方案设计的精确性、合理性、高效性和可靠性 都提出了更高的要求【”。 目前,吊装方案的制定主要是以人工方式进行。吊装方案制定人员先到吊装现场考 察,研究吊装作业环境,选择为完成该项吊装任务的所需的平衡梁、索具、吊耳或吊盖 等辅助设备【2 】,并对这些辅助设备进行校核计算及有限元分析;调查可用起重机资源, 然后查阅起重机的性能参数,确定胜任此吊装任务的起重机,最后编写出吊装方案。由 于平衡梁、索具、吊耳等辅助设备繁多,起重机的起重性能参数数据量非常大,因此手 工进行校核计算和选择满足工况要求的起重机的工作就非常繁琐,并且在吊装方案确定 之后不可能立即看到吊装方案实施的效果,这样就不能在真正实施方案之前分析其效率 和可行性。 因此,有必要利用虚拟现实技术,研发一套能在电脑虚拟环境下设计整套吊装方案 并对其进行仿真模拟的虚拟吊装仿真系统。该系统允许用户创建虚拟作业环境和吊装设 备,对所选的平衡梁、索具、吊耳等辅助设备进行校核及有限元分析,根据起重机起重 性能参数数据选择满足工况要求的一组吊装方案,对选定的吊装方案进行逼真的吊装作 业仿真,保存合理、高效、可行的吊装方案。因此可以大大地减轻吊装方案制定人员的 工作负担,提前排除了不可行的方案,提高吊装方案的可行性和安全性,并降低吊装的 成本。 当前,国内仍没有类似的软件产品,国内吊装实施企业对该类软件的应用也仍处于 空白状态。因此,研制这样一套拥有国内自主知识产权的系统,将会拥有广阔的市场前 景。同时,本系统平台可以扩展到所有的工程机械及相关领域,具有良好的延展性。最 后,本系统平台还可以为工程机械虚拟培训、工程机械产品虚拟设计,制造和展示以及 工程机械产品视景动力学系统等后续延展产品打下基础,从而发挥更大的作用,开拓更 广阔的市场。 大型吊装仿真草绘系统的研究与实现 1 2 类似软件的国内外发展现状 针对目前吊装行业的手工作业效率低的这种状况,国外的一些企业和单位进行了一 些研究,并开发了一些软件 2 1 ,比如: ( 1 ) l i k a p l a n 它是德国利渤海尔公司自主研发的辅助吊装方案选择的工具。它允许对利渤海尔生 成的起重机进行吊装方案选择,并能对选中的吊装方案进行简单的二维演示;由于它针 对利渤海尔公司自己生产的产品进行开发,起重机的数据不是以数据库方式而是以普通 文件方式存储,不具有开放性,因此该系统通用性不强。 ( 2 ) l i f l p l a n n e r 它是一款面向吊装的专业软件 3 1 。它能创建作业环境中各种物体,如柱状物、钢架 结构、管道等,也可以导入用其它工具做好的作业环境。它能从起重机数据库中选择起 重机,并进行单机、多机的吊装仿真。 ( 3 ) v o r t e xs i m u l a t i o np l a t f o r m 它是加拿大c m l a b s 公司开发的一款用于地面车辆、地形系统、软土力学、机器 人、海洋探测器、空间机械手等现实物理系统精确建模与实时仿真的开发平台。适用于 实时性、交互式操作及三维图形显示的虚拟仿真。 ( 4 ) p r o f e s s i o n a lt r a i n i n gs i m u l a t o r 它是一款国外的专业吊装培训模拟器。它通过操作椅和操作手柄输入信号,在墙上 的大屏幕上显示逼真的三维场景,使人具有身临其境的感觉。这是一种沉浸型虚拟现实 系统。 在国内,也有一些企业做了一定的探索,开发并使用各种工具提高吊装的工作效率, 比如: ( 1 ) 3 d s m a x 吊装仿真动画 它是中国石化宁波第三建设公司和大连理工大学机械工程学院利用3 d s m a x 合作 开发的,用于演示吊装的效果辅助吊装方案的制定。这种方法形象逼真地模拟了吊装作 业的过程,提前检查实际吊装的效果。但这种方法的缺点是只能针对某一次的吊装作业 制作吊装演示动画,不能进行参数化、不能交互式操作。 ( 2 ) 吊装专家v i s t a 它是由浙江省开元安装集团有限公司研发的一款用于吊装方案编制,汽车起重机、 履带式起重机、桁架臂汽车起重机吊装的工况核算和优化,桅杆吊装中的桅杆受力计算、 桅杆强度核算和桅杆设计,以及其它与吊装有关的核算和设计的校核软件。利用该软件 大连理工大学硕士学位论文 可以进行各种设备的校核计算,但它不能进行逼真的三维吊装作业仿真,不能对某些设 备进行有限元分析等。 1 3 吊装仿真项目的特点 从上面可以看到,虽然国内外开发了一些软件提供了某方面强大的功能,但从吊装 行业实用的角度看,这些软件只实现了吊装所需功能的一部分,还不能很好地满足吊装 行业的要求。为此,开发了三维吊装仿真系统,该系统有以下主要特点: ( 1 ) 根据一定吊装作业工况要求自动选择出一组满足基本工况要求的吊车作业工 况,大大减轻了用户选择吊车作业工况的工作负担,提高了工作效率。 ( 2 ) 根据用户选中其中个吊车作业工况自动地参数化生成相应的吊车三维模型, 逼真形象地显示所选吊车的模型。 ( 3 ) 最为重要的是允许用户创建三维的吊装设备和作业环境,模拟实际吊装的作业 现场,然后利用自动生成的虚拟吊车进行三维吊装演示,仿真实际吊装作业的过程,以 观察吊装情况,辅助吊装方案的制定。 ( 4 ) 提供平衡梁、索具、吊耳和吊盖的校核计算功能并自动输出校核计算书。 ( 5 ) 提供各种形式的吊耳、吊盖、细长容器等的有限元分析,显示并分析设备各部 分的整体应力分布情况。 ( 6 ) 自动输出该吊装方案对应的a u t o c a d 格式的吊车占位、立面图和吊装设备图。 此外,该软件还可以生成制定吊装方案所需的一些材料,如吊装方案的基本信息、图片、 录像等等。 1 4 草绘系统概述 1 4 1 草绘系统的意义 吊装工业是石油化工产业的重要支柱之一。吊装方案的设计对吊装的成败起到了非 常关键的作用。该三维仿真软件的作用是能够还原吊装过程的每一个细节,并在此过程 中进行实时的计算。这些计算包括起重机的稳定性计算,抬吊过程中吊装设备的应力分 析、吊耳的受力分析、起重机与吊装设备、周围环境的干涉检测,碰撞检测等。而这些 计算和仿真的前提条件,是必须有吊装设备的模拟和数据。必须有周围吊装环境的位置 和形状。因此,有必要在进行吊装三维仿真之前,进行数据的创建和设备及环境的模拟。 同时,这样的创建和模拟又必须具有一定的直观性和可靠性,应具有友好的交互界面; 作为三维仿真系统的一部分,它必须嵌入到软件的内部,作为整个系统的个首要模块 大型吊装仿真草绘系统的研究与实现 展示给用户。因此,二维环境下的草绘模块及其在三维环境中的实现就显得尤为重要, 并且它的应用有着重要的市场前景。 1 4 2 国内外研究的现状 目前,国内外对仿真软件的研究与开发较少【4 】。而对三维环境下草绘系统的研究就 更加稀少。参考当今比较有名的几个三维及二维的c a d 软件,如p t c 公司的 p r o e n g i n e e r ,u g s 公司的u g 、s o l i d e d g e ,以及a u t o d e s k 公司的a u t o c a d 等等,虽 然有强大的二维草绘功能,但其数据存储的功能并不能被使用,而且数据格式也不清晰, 不符合吊装仿真的个性需求。同时,对其进行二次开发要受到版权和上述几大公司技术 上的限制,成本较高。因此,采用自主研发的草绘系统势在必行。 1 4 3 草绘系统的特点 作为仿真系统软件的前提和子模块,草绘系统要逼真地、精确地描述出吊装设备及 作业环境的每一个细小的数据细节,并将这些数据传递给三维仿真的其他子模块以供调 用。同时,应设计出友好的、与其他模块风格一致的用户交互界面,展现出吊装设备及 作业环境的各种特征。譬如:吊装设备的图元组成、吊装附件的附着位置、外形尺寸、 作业环境中的场景位置、高度等。因此,可采用基于v c n e t 环境的g d i 及o p e n g l 编程,充分利用s t l 技术和x m l 技术,采用u m l 语言和面向对象的编程思想,开发 出一款功能强大的,符合吊装系统特点的草绘功能模块。 1 5 开发工具的介绍 1 5 1 n e t 平台和n e t 框架介绍 n e t 的三个关键概念n e t 、n e t 平台( p l a t f o r m ) 、n e t 框架f f r a m e w o r k ) 是包含与 被包含的关系,即:n e t 包含n e t 平台( p l a t f o r m ) ,而又包含n e t 框架( f r a m e w o r k ) 。 ( 1 ) 什么是n e t 5 i ? 根据m i c r o s o f t 公司的官方定义:m i c r o s o f t n e t 是m i c r o s o f tx m lw e bs e r v i c e s 平台。 x m lw e bs e r v i c e s 允许应用程序通过i n t e m e t 进行通讯和数据共享,而不管所采用的是 哪种操作系统、设备或编程语言。m i c r o s o f t n e t 平台提供创建x m lw e bs e r v i c e s 并将 这些服务集成在一起。对个人用户的好处是无缝的、吸引人的体验。从商业角度看,n e t 更是微软的一张王牌,是区分其他竞争对手企业同类技术的显著标志,比如s u n 的j a v a 。 所以,就把n e t 看作一个标志就行了。 ( 2 ) 什么是n e t 平台? 一4 一 大连理工大学硕士学位论文 n e t 平台包括用于创建和操作新一代服务的n e t 基础结构和工具、用于实旄多信 息客户端的n e t 用户经验,以及用于启用新一代智能i n t e r a c t 设备的n e t 构造块服务 和n e t 设备软件。 简单地讲,m i c r o s o f t n e t 平台是一个建立在开放互联网络协议标准之上,采用新的 工具和服务来满足人们的计算和通信需求的革命性的新型x m lw e b 智能计算服务平 台。它允许应用程序存因特网上方便、快捷地互相通信,而不必关心使用何种操作系统 和编程语言。从技术层面来说,m i c r o s o f t n e t 平台主要包括两个内核,即通用语言运 行时( c l r ) 和m i c r o s o f t n e t 框架类库,它们为m i c r o s o f t n e t 平台的实现提供底层技术 支持。 ( 3 ) 什么是n e t 框架7 n e t 框架是创建、部署和运行w e b 服务及其他应用程序的一个环境。它包括两个 主要部分:通用语言运行时( c o m m o nl a n g u a g er u n t i m e ) 和n e t 框架( f r a m e w o r kl i b r a r y c l a s s ) 。 通用语言运行时( c l r ) 它是整个m i c r o s o f t n e t 框架赖以建构的基础,它为m i c r o s o f t n e t 应用程序提供了 一个托管代码的执行环境。它实际上是驻留在内存里的一段代理代码,负责应用程序在 整个执行期间的代码管理工作,主要包括:内存管理、线程管理、安全管理、远程管理、 即时编译、代码强制安全类型检查等。实际上,c l r 代理了部分传统操作系统的管理功 能。在c l r 下的代码称为托管代码,否则称为非托管代码。也可将c l r 看作一个技术 规范,无论程序使用什么语言编写,只要能编译成微软中间语言( m s i l ) ,就可以在它的 支持下运行,这使得应用程序得以独立于语言。即时编译器在运行时将中间语言编译成 本地二进制代码,m i c r o s o f t n e t 平台提供了多语言的底层技术支持。c l r 的设计目的 是直接在应用程序运行环境中为基于组件的编程提供支持。c l r 直接支持组件( 包括属 性和事件) 、对象、继承性、多态性和接口。对属性和事件的直接支持使得基于组件的 编程变得更简单,而不需要特殊的接口和适配设计模式。在组件运行时,c l r 负责管理 内存分配、启动和中止线程和进程、强化安全系数,同时还调整任何该组件涉及到的其 他组件的附属配置。组件代码是与处理器无关的、易于验证的中间语言,而不是某一种 特定的机器语言,这意味着组件不但可以在多种计算机上运行,而且可以确保组件不会 覆盖它们不使用的内存,也不会潜在地导致系统崩溃。c l r 根据托管组件的来源( 例如 来自因特网、企业局域网、本地机) 等因素对它们确定适当的信任度,这样c l r 会根 据它们的信任度来限定它们执行如读取文件、修改注册表等一些敏感操作的权限。c l r 下的编程全部是围绕组件进行的。 大型吊装仿真草绘系统的研究与实现 n e t 框架类库( f l c ) m i c r o s o f t n e t 框架类库是一组广泛的、面向对象的可重用类的集合,为应用程序提 供各种高级的组件和服务。它将程序员从繁重的编程细节中解放出来专注于程序的商业 逻辑,为应用程序提供各种开发支持不管是传统的命令行程序还是w i n d o w s 图形 界面程序,或是面向下一代因特嘲分布式计算平台的a s r n e t 或x m lw e b 服务。 1 5 2g d i 简介 g d i 是微软一套全新的图形开发接口,它是一组可用于受控和不受控的c + + 类1 6 】。 在n e tf r a m e w o r k 库中,定义受控的六个名称空间为: s y s t e m d r a w i n g s y s t e m d r a w i n g d r a w i n 9 2 d s y s t e m d r a w i n g d e s i g n s y s t e m d r a w i n g p r i n t i n g s y s t e m d r a w i n g t e x t s y s t e m d r a w i n g i m a g i n g g d i 允许创建独立于设备的应用程序,也就是说不用考虑应用程序将在什么样的硬 件上运行。g d i 是具有有状态的编程型,它位于应用程序与不同硬件之间的中间层,这 种结构让程序员从直接处理不同硬件的工作中解放出来,把硬件间的差异交给了g d i 处理。g d i 通过将应用程序与不同输出设备特性相隔离,使w i n d o w s 应用程序能够毫 无障碍地在w i n d o w s 支持的任何图形输出设备上运行。g d i 是以文件的形式存储在系 统中,系统需要输出图形时把它载入内存,如果转换成硬件命令时遇到非g d i 命令,系 统还可能载入硬件驱动程序,驱动程序辅助g d i 把图形命令转换成硬件命令。g d i 具 有无状态的编程模型,并且易用性更好。g d i 的一个好处就是不必知道任何关于数据怎 样在设备上渲染的细节,g d i 更好地实现了这个优点。例如如果要设置某个控件的前景 和背景色,只需设置b a c k c o l o r 和f o r e c o l o r 属性。g d i 可与w i n d o w s 窗体和w e b 窗体 一起使用。 1 5 3o p e n g l 概述 0 p e n g l 是近几年发展起来的一个性能卓越的三维图形标准阴。它是在多家世界闻名 的计算机公司的倡导下,以s g i 的g l 三维图形库为基础制定的一个通用共享的开放式图 形标准。目前,包括m i c r o s o f t 、s g i 、i b m 、d e c 、s u n 等大公司都采用t o i d e n g l 作为 三维图形标准,许多软件厂商也纷纷以o p e n g l 为基础开发了自己的产品。如动画制作 软件3 d sm a x ,v r 软件w o r l dt o o l k i t ,c a m 软件p r o e n g i n e e r ,g i s 软件a r c i n f o 等。 而且,随着m i c r o s o f t 公司在w i n d o w s n t 和w i n d o w s 9 5 9 8 2 0 0 0 提供- j o p e n g l 标准及 大连理工大学硕士学位论文 o p e n g l _ - - - 维图形加速卡的推出,o p c n g l 开始在微机中广泛应用,同时也为广大用户提 供了在微机上使用以前只能在高性能图形工作站上运行的各种软件的机会。同时由于 o p e n g l 是开放的图形标准,用户原先在u n i x 下开发的o p e n 6 l 形软件很容易移植到 微机上的w i n d o w s 环境下运行【7 j 。o p e n g l 独立于硬件设备和操作系统,许多计算机公司 已经把o p e n g l 集成到各种操作系统中,如u n i x 、w i n d o w s n t 、w i n d o w s 9 x 、w i n d o w s 2 0 0 0 等,以它为基础开发出来的应用程序可以十分方便地在各种平台间移植。o p e n g l 可以 与高级程序设计语言v i s u a lc + + 紧密结合,以更方便地实现有关的图形算法和友好的操 作界面。 o p e n g l 的核- i ) , a p i ( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ) 提供了一组原语来处理点、 线、多边形面、有理多边形曲面和位映射图像等。它们可以描述位置坐标、颜色、表面 法线及纹理坐标等。光栅处理器利用这些原语和o p e n g l 的前图形状态对最终输出象 素进行图形操作。由于o p e n g l t 常适合于操作顶点和象素数据,支持纹理映射,并体 现了一种体系结构,因而有人称其为可视化体系结构。 1 6 面向对象技术概述 程序设计方法经历了由传统的面向过程的设计到目前被日益广泛接受的面向对象的 设计。 1 6 1 传统的结构化设计概念及缺陷 传统的程序设计方法可以归纳为“程序= 算法+ 数据结构”,将程序定义为处理数据 的一系列过程。这种设计方法的着眼点是面向过程的,特点是数据与程序分离,即数据 与数据处理分离。结构化的程序设计核心是算法设计,基本思想是采用自顶向下、逐步 细化的设计方法和单入单出的控制结构。结构化程序设计将任务分成模块,对各个模块 进行独立地设计和测试,这为处理复杂问题提供了有利手段,但这种设计方法逐渐暴露 出缺陷。 主要表现在: ( 1 ) 难以适应大型软件的设计 结构化程序设计方法在一定程度上为解决复杂问题和大型软件设计提供了便利,但 由于数据与数据处理相对独立,在大型多文件软件系统中,随着数据量的增大,程序变 得越来越难以理解,多个文件之间的数据沟通也愈发困难,常常产生意想不到的不良后 果,即所谓的副作用。 ( 2 ) 程序可重用性差 大型吊装仿真草绘系统的研究与实现 基于可重用性的思想是建立一些具有已知特性的部件,从而使软件设计能模仿硬件 组合的方法,在需要时将已知部件插入到程序当中,两非任何问题都需重新设计。但结 构化程序设计方法缺乏具备此能力的工具。对于老问题,处理方法的改变或数据类型的 改变都将导致重新设计,这种额外开销与可重用性相矛盾,称之为重复投入。 1 6 2 面向对象的程序设计概述 面向过程设计缺陷的根源在于数据与数据处理分离,而面向对象程序设计( o b j e c t o r i e n t e dp r o g r a m m i n g ,o o p ) 方法正是克服这个缺点,同时吸纳结构化设计思想的合理部 分而发展起来,这两种设计思想并不对立【s 】。面向对象设计思想将数据和对数据的操作 方法放在一起,形成一个相对独立的整体一对象( o b j e c t ) ,对同类型对象抽象出共性, 形成类( c l a s s ) 。任何一个类中的数据都只能用本类的方法去处理,并通过简单的接口与 外部联系。对象之间通过消,皂, ( m e s s a g e ) 进行通信。 基本概念: ( 1 ) 对象 对象是组成程序系统的基本单位,它包括数据属性,也包括作用于数据的操作( 行 为) 。对象是属性和行为的统一体。对设计者而言,对象是一个程序模块;而对用户而 言,对象则为他们提供了所希望的行为。在对象内的操作通常叫做方法。 ( 2 ) 类 通过抽象的方法,从一些对象中概括出此类对象共有的静态特征( 属性) 和动态特 征( 行为) 形成类。任何一个对象都是这个类的一个具体体现,称为实例( i n s t a n c e ) 。在 程序设计中,“类”表现为一种用户定义的数据类型,用这种数据类型描述该类所具有 的属性和行为,其中属性用数据描述,而行为用一系列函数描述,称为操作。 ( 3 ) 消息 对象之间产生相互作用所传递的信息称作消息。当一个消息发送给某个对象时,包 含要求接收对象去执行某些活动的信息。接收到消息的对象经解释,然后予以响应。这 种通信机制叫做消息传递。 ( 4 ) 面向对象软件的开发方法 面向对象的软件工程遵循分层抽象、逐步细化的原则。软件开发过程包括五个阶段: 面向对象分析、面向对象设计、面向对象编程、面向对象测试、面向对象维护。分析阶 段是按照面向对象的概念和方法,从问题中识别出有意义的对象,及其属性、行为和对 象间的通信,进而抽象出类结构,最终将它们描述出来,形成个需求模型。设计阶段 从需求模型出发,分别进行类的设计和应用程序的设计。类的设计需要应用分层抽象的 大连理工大学硕士学位论文 方法,而应用程序的设计需要根据己设计出的类来构造满足要求的应用程序。统一建模 语言( u n i f i e dm o d e ll a n g u a g e ) 是面向对象系统开发的工具。编程阶段实现由设计表示到 面向对象程序设计语言描述的转换。测试的任务在于发现并改正程序中的错误。经过测 试后的程序进入运行维护期,即投入使用。 ( 5 ) 面向对象程序设计的特点 面向对象程序设计中,对象是程序的基本单元。从类和对象的概念及面向对象设计 方法所提供的支持角度看,该设计方法具有以下几个特点: 封装性 指将一个数据和与其有关的操作集合放在一起,形成一个能动的实体对象,用 户不必了解对象行为实现的具体细节,仅根据对象所提供的外部特性接口访问对象。 多态性 它是指同一个消息可以根据发送消息对象的不同采用多种不同的行为方式。 继承和派生性 它表达的是一种对象类之间的相交关系。它使得某类对象可以继承另外一类对象的 特征和能力。继承性可以简化问题。在开发新程序和修改旧程序时最大限度利用已有的 程序,提高了程序的可重用性,减小代码和数据的冗余度。实现了在一般的类基础上构 造、建立和扩充新类的最有效手段。通过不断的测试的类,更可作为一种资源,广泛适 用其他场合。 对于本设计而言,输入、输出界面都是面向对象的,图元类均是基类的派生类,图 元都拥有相同的由基类所规定的图形接口,封装了所有的图形操作函数,有效发挥了类 库的重用机制。 1 7 研究工作及内容安排 本文的研究工作主要包括: ( 1 ) 对吊装工业特点进行研究,开发一套面向吊装仿真的作业场景和吊装设备及附 件的图形系统,建立符合其特点的图元类库,并设计图形编辑的各种算法等。 ( 2 ) 研究图形的存储方式,定义数据存储与读取格式,建立草绘系统与其它模块之 间的数据接口。 ( 3 ) 完成二维草绘系统在三维中的实现。 本文的组织安排如下: 第一章绪论。总结吊装仿真及其草绘模块的研究现状及存在的问题,并介绍吊装仿 真草绘系统的研究背景、研究意义及目标,概括本文将要进行的研究工作。 9 一 大型吊装仿真草绘系统的研究与实现 第二章分析二维草绘系统的整体设计方案,包括对环境草绘系统和吊装设备及附件 草绘系统的设计。 第三章采用面向对象的建模技术,借助于u m l 建模语言,利用m i c r o s o f tv i s i o 建模 工具实现图形系统的整体建模。 第四章采用面向对象的编程方法,基于w i n d o w s 的m f c 技术,以v i s u a lc + + 为编程 工具,实现整个图形系统,并介绍画面图元与设备数据关联和画面缩放、撤销等系统画 面功能的实现问题。最后描述图形系统与其他模块间的数据的传递、x m l 文件的编写等。 第五章描述二维草绘系统在三维场景中的实现。 第六章总结与展望。 大连理工大学硕士学位论文 2 二维草绘系统总体设计 2 1 草绘系统的研究 草绘系统的主要目的是在二维的环境下模拟出吊装设备及附件和作业环境的形状 及位置信息等等,并将这些信息提供给其他模块使用。同时完成其在三维环境中的实现。 因此可将草绘系统分为二维草绘系统和它在三维中的实现两大部分。而二维草绘又可分 为吊装设备及附件草绘和作业环境草绘两部分。本章和下一章主要介绍二维草绘的设计 及实现,第五章介绍其在三维环境下的实现。 2 1 1 吊装设备及附件的草绘研究 吊装设备和附件的设计和安排,是整个吊装过程中的核心问题和焦点所在。所谓吊 装,就是把吊装设备从一个状态转变为另一个状态的过程。在此过程中,需要模拟出吊 装设备的姿态,外形特征及其附件的位置信息等,还要充分考虑其重量等属性特征。因 此其信息量大,数据多的特点,在设计过程中是必须要认真考虑的。 吊装设备及其附件如图2 1 所示。 图2 1 吊装设备示意图 f i g 2 i t h eg r a p ho f e q u i p m e n t 大型吊装仿真草绘系统的研究与实现 基于吊装设备的构成特征,将其工况分为由水平到竖直,以及由竖直到水平两种状 态分析。在其初始状态为水平时,可采用由左向右连接的绘制模式,并依据每个图形的 重心位置和重心到连接边缘的距离,计算出两个不同图元的连接距离,从而实现其无缝 连接。而在吊装设备初始状态为竖直放置时,应采用从下部向上部的依次连接方式。由 于这种结构的明显线性化,因此采用带表头的链表的形式存储信息。在构成吊装设备的 基本图元信息绘制完成后,应进行吊装设备附件的绘制。这些附件包括紧固吊装设备的 裙座、附着在吊装设备上的以方便工作人员攀爬的环形楼梯和平台、供作业人员使用的 顶部平台、以及吊装时供起重机抬吊的顶部吊耳、吊盖,以及溜尾吊耳等等。很显然, 这些附件是游离于吊装设备基本图元信息之外,但又都与其紧密相连的。因此,采用另 外一条与吊装设备平行的链表存储附件信息是可行的。 2 1 2 作业环境草绘的研究 作业环境是指在吊装现场除待被吊装设备和吊装用起重机外的其他一切场景和设 备。这些场景和设备包括各种用于支持吊装设备的钢架结构,已经成为场景一部分的已 吊装就位的设备,另外还有一些工业及化学工业管道等等。其特点是构成复杂,图形形 状多种多样,并且通常情况下场景占地面积巨大。针对这样的特点,作业环境的草绘设 计必须尽可能多地涵盖图形信息,能够方便地绘制吊装工业特有的管道结构和钢架结 构。不同于吊装设备的绘制,场景草绘采用单个图形的绘制方式,而非组合件的绘制方 式。因此,决定采用s t l 里的链表结构和向量结构进行数据的存储。而不必构建组合类 c c o m p o s i t c 及其对象。作业场景如图2 2 所示。 图2 2 作业场景示意图 f i g 2 2 t h eg r a p ho f e n f i o v e r m e n t 大连理工大学硕士学位论文 2 2 二维草绘内部数据的存储方式 由于草绘系统的数据量很大,且具有不确定性,只有在绘图的那一刻才能确定数据 量的大小。而且,因为要不断地往数据结构中插入、删除、遍历数据,所以对数据结构 的健壮性和存储结构要求较高,要尽可能地减少遍历数据所带来的时间消耗。传统的数 组型数据结构要求在定义的初始情况下就确定容量,这显然无法满足草绘的需要,因为 如果数组定义太小,那么数据无法装下;如果定义太大,那么又造成了空间的浪费和内 存的消耗。综上所述,可采用模板类和s t l 的数据结构进行数据的存储。 2 2 1 模板的使用 模板是c + + 语言中相对较新的一个重要语法现象【钔。模板的建立,能够使程序员快 速建立具有类型安全的类库集合和函数集合,以此方便更大规模的软件开发。因而模板 是c 抖面向对象程序设计的重要补充。 c + + 语言支持模板机制是基于世界万事万物都具有相似性这样一个事实。比如,在 吊装设备和作业环境草绘中,每个图元都有其自己的绘图函数d r a w 、选择函数s e l e c t 、 存储函数s e r i a l i z e ,又都有坐标属性mf f o s x 、mf l o s y ,旋转属性m ,缩放属性fangle m _ z o o m i n 、m _ z o o m o u t 等等。对应于抽象编程的描述也可以有许多相似甚至相同的代 码,只是在事物的内部,其属性和操作的内涵不同。所以描述不同图形,共享相似代码, 成为通常的编程行为。如果代码能够对处理各种图形通用,那么其编程就是通用性编程。 对于类型来说,从类型能够创建出任意个对象,对象视其创建时的初值的不同而不 同。同样对于模板来说,从类模板能够产生出任意类型定义,类型视其创建时的初值的 不同而不同。也可以从函数模板派生出任意函数定义体,函数体也视其创建时的初值的 不同而不同。 这些相似类型或相似函数就是将数据类型设计为参数来生成模板,其相似类型为模 板类,相似函数为模板函数。 2 2 ,2s i l 的使用 s t l 就是s t a n d a r dt e m p l a t el i b r a r y ,译为标准模板库【8 1 。从根本上说,s t l 是一些 “容器”的集合,这些“容器”有l i s t 、v e c t o r 、s e t 、m a p 等,s t l 也是算法、迭代器和 其他一些组件的集合。s t l 的目的就是标准化组件,和v i s t u a lc + + 中的a t l 概念类似, 利用a t l 中自带的模板,程序开发人员就不用重新开发这些组件,这样就可以大量减 少程序员的工作负荷和麻烦。另外,s t l 现在已经是c + + 的一部分,因此不用额外安装, 它被内建在支持c + + 的编译器内。 大型吊装仿真草绘系统的研究与实现 假如给出一组数据类型、一些容器( 比如数据结构中的堆栈、链表和队列) 类型和 一组支持容器的通用算法,那么用传统的c + + 方法开发软件的话,软件的数量是这三个 集合中的元素数目的乘积。如果要让整数、数据和对象包含在链表、队列和堆栈中,并 且每个对象都需要进行基本的数据结构操作,比如进行插入、查找和排序操作,那么利 用传统

温馨提示

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

评论

0/150

提交评论