(机械制造及其自动化专业论文)铸造过程模拟软件后处理技术研究.pdf_第1页
(机械制造及其自动化专业论文)铸造过程模拟软件后处理技术研究.pdf_第2页
(机械制造及其自动化专业论文)铸造过程模拟软件后处理技术研究.pdf_第3页
(机械制造及其自动化专业论文)铸造过程模拟软件后处理技术研究.pdf_第4页
(机械制造及其自动化专业论文)铸造过程模拟软件后处理技术研究.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(机械制造及其自动化专业论文)铸造过程模拟软件后处理技术研究.pdf.pdf 免费下载

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

文档简介

独创性声明 1 1 1 11 11 11 111 1 111iii i i i l l i y 18 8 0 8 0 7 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及 取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得 武汉理工大学或其他教育机构的学位或证书而使用过的材料。与我一 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说 明并表示了谢意。 签名:坐堕垄日期:j 学日 学位论文使用授权书 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权武汉理工大学可以将本学位论文的 全部内容编入有关数据库进行检索,可以采用影印、缩印或其他复制 手段保存或汇编本学位论文。同时授权经武汉理工大学认可的国家有 关机构或论文数据库使用或收录本学位论文,并向社会公众提供信息 服务o ( 保密的论文在解密后应遵守此规定) 研究生( :多玖圭导师( :渺日期训p w 日 武汉理工大学硕士学位论文 摘要 铸造行业是一个国家非常重要的基础工业,关系到整个国家的制造业发展。 随着生产力的不断进步,当今社会已经对铸造业有了进一步的要求,铸造过程 的数值模拟技术就是在这样的背景下开始发展,并逐渐被应用到实际生产中。 铸造过程数值模拟软件的后处理模块直接起到连接用户和计算结果的作用,后 处理模块的主要任务是将计算结果表示为形象的图片或者动画显示到软件界面 上,使用户非常直观地获得计算结果信息,对铸件的质量和浇注系统的结构是 否合理作出判断和评估。后处理模块的质量好坏,直接关系到计算结果的显示, 也关系到整个铸造模拟软件的使用和推广。本课题就是对铸造过程数值模拟后 处理模块进行了重点研究,以v i s u a lc + + 为开发工具,通过相应的图形显示方法 和程序编制,开发出了一个简单的铸造数值模拟后处理模块,进行充型过程的 模拟显示。 本文在研究后处理模块的图形问题时,以o p e n g l 为基础,在网格剖分的 基础上进行后处理开发。铸造过程中的充型状态随着时问的变化,是后处理模 块的重要显示部分,通过分析流场文件和温度文件的格式,得到使用图片进行 模拟显示的方法。另外,需要显示到界面上的除了包括目标数据的目标值,还 包括铸件外轮廓的显示。对可见面进行判断并显示可见面上的外轮廓线,然后 将此目标值的显示结果进行合成,就得到了所需的显示结果。 在进行后处理显示时,本文对铸件实体完成了缩放、平移、旋转等功能的 处理,以从各个角度去观察铸件实体。将处理结果显示为动画的形式无疑会大 大增加后处理的逼真效果,使整个充型过程一目了然的显示出来。另外,对指 定网格单元的温度跟踪模拟,能够帮助用户分析网格单元处是否出现充型缺陷。 本文主要对后处理模块的界面进行了研究和补充,对充型过程随时间的状 态进行了模拟,对网格单元的温度值实现了跟踪模拟,所取得的成果具有一定 的实用性,对以后的相关研究工作也具有重要的参考价值。 关键字:铸造,数值模拟,后处理,充型 武汉理工大学硕士学位论文 a b s t r a c t f o u n d r yi sv e r yi m p o r t a n tb a s i ci n d u s t r yt h a ti si nr e l m i o nt ot h ed e v e l o p m e n to f m a n u f a c t u r i n gt ot h ew h o l ec o u n t r y w i t ht h ed e v e l o p m e n to fp r o d u c t i v i t y , t h e r ea r e m o r er e q u i r e m e n t st of o u n d r yn o w 1 1 l et e c h n o l o g yf o rc o m p u t e rs i m u l a t i o nc a s t i n g i ss t a r t i n gi nt h i sb a c k g r o u n da n dt h e nu s e di np r a c t i c a lp r o d u c t i o n p o s t - p r o c e s s i n g m o d u l ep l a y st h er o l ew h i c hc o n n e c t su s e r sa n dc a l c u l a t i o n - r e s u l t s ,n l em a i nt a s ko f p o s t - p r o c e s s i n gm o d u l ei sd i s p l a y i n gp i c t u r e sf o rt h e r e s u l t st om a k eu s e r sg e t i n f o r m a t i o n sv i v i d l ys ou s e r sc a nj u d g et h eq u a l i t yo ft h eg a t i n gs y s t e m mq u a l i t y o fp o s t p r o c e s s i n gm o d u l ed i r e c t l yr e l a t e st ot h ed i s p l a y i n go fc a l c u l a t i o nr e s u l t s ,t h e u s i n ga n dp r o m o t i o no ft h es o f t w a r e t l l i sp a p e rm o s t l yr e s e a r c h e sp o s t - p r o c e s s i n g t e c h n o l o g yf o rc o m p u t e rs i m u l a t i o nc a s t i n gb yv i s u a lc + + a n dc o r r e s p o n d i n gw a y s t l l i s p a p e r r e s e a c h e st h e p o s t - p r o c e s s i n gd e v e l o p m e n t o nt h eb a s i so f g r i d p a r t i t i o nb yo p e n g l t h ep r o c e s so ff i l i n gp r o c e s s i n gi si m p o r t a n td i s p l a y i n g p a r t sd u r i n gt h ep o s t - p r o c e s s i n gm o d u l e t h i sr e s e a r c hh a ss u c c e e d e di na n a l o gb y u s i n gp i c t u r e s ,谢t ht h ea n a l y s i so ft h e d o c u m e n tf o r m a to nf l o w i n gf i e l da n d t e m p e r a t u r ef i e l d m o r e o v e r , i ti sn e c e s s a r yt od i s p l a yt h eo u t l i n eo ft h ec a s t i n ga n d t h eo b j e c t i v ed a t ao nt h ei n t e r f a c e t h e ns y n t h e s i z i n gt h ed i s p l a y i n gr e s u l t sm a yg e t t h en e e d i n go n e s w h e nt h ep o s t - c a s t i n gs h o w s ,t h i sp a p e rd e a l st h ef o u n d r ye n t i t i e s 、 ,i t i lz o o m i n g , t r a n s l a t i o na n dr o t a t i o nt om a k eu s e r so b s e r v et h e mf r o me v e r ya n g l e i na d d i t i o n , d i s p l a y i n gt h er e s u l t st ot h ef o r mo fa n i m a t i o nw i l lg r e a t l yi n c r e a s et h ee f f e c to f p o s t p r o c e s s i n g a n dt h i sw i l ls h o wo u tt h ew h o l ef i l l i n gp r o c e s sc l e a r l y 1 1 1 et r a c k i n g t ot h eg r i dc e l l sw i l lh e l pu s e r sa n a l y z ew h e t h e rt h e r ei sf l a wa l ln o t t l l i sp a p e rm a i l ya d d st h ei n t e r f a c eo fp o s t p r o c e s s i n gm o d u l e a n dt h ep a p e r s i m u l a t e st h ep r o c e s so ff i l l i n g t h e ni tt r a c k st h et e m p e r a t u r eo fg r i dc e l l s a l lt h e r e s u l t si su s e f u l 1 1 1 e r ei si m p o r t a n tv a l u et ot h ef u t u r er e l e v a n tr e s e a r c h e s k e yw o r d :f o u n d r y s i m u l a t i o n p o s t - p r o c e s sf i l l i n g 武汉理工大学硕士学位论文 摘要 a b s t r a c t 第1 章绪论 目录 1 1 选题背景及意义1 1 2 铸造数值模拟技术的国内外研究现状2 1 2 1 铸造数值模拟技术的发展过程2 1 2 2 铸造数值模拟技术的发展方向3 1 3 本课题研究的内容及意义5 1 3 1 本课题研究的内容5 1 3 2 本课题研究的意义6 第2 章后处理模块部分所使用软件及应用 7 2 1o p e n g l 概j 苤一7 2 1 1 0 p e n g l 简介7 2 2 0 p e n g l 工作过程简介9 2 2 1o p e n g l 函数的语法9 2 2 2 0 p e n g l 是个状态机l0 2 2 3 0 p e n g l 的渲染1 1 2 3 0 p e n g l 在w i n d o w s 环境下的使用1 2 2 3 1 0 p e n g l 的a p i 结构1 2 2 3 2 0 p e n g l 程序结构1 3 2 3 3 渲染场境1 3 2 3 4 像素格式1 5 2 4 使用o p e n g l 时的初始化设置1 9 2 4 1 添加头文件到g l v i e w h 中2 0 2 4 2 修改视图类c g 【,v i e w 2 0 2 5 j 、结j 2 1 第3 章后处理模块界面研究 2 2 3 1 后处理模块的界面设置2 2 m 5 5 充型状态模拟的实现流程5 8 i v 武汉理工大学硕士学位论文 5 6d 、结6 0 第6 章全文结论与展望 致谢。 参考文献 攻读硕士期间发表论文 v 6 4 6 5 6 8 噜 、 ( 武汉理工大学硕士学位论文 1 1 选题背景及意义 第1 章绪论 铸造是机械工业重要的基础工艺与技术,广泛地被应用于机械制造、航空 航天、能源、交通、化工、建筑以及社会生活的各个领域,并随着各相关技术 领域的发展而不断地更新、发展和完善,是我们生产和生活中不可或缺的一项 重要技术【l j 。铸造业也是国民经济的重要组成部分,铸造业的发展与整个国家制 造业的发展息息相关。我国一向重视铸造工业的发展,对于铸造业领域的相关 政策一直良好,在这样的条件和背景下,我国的铸造业得到了巨大和快速的发 展。“十五 期间,我国铸造机械行业主要经济指标的年均增长都在3 0 以上, 年均利润增长达到4 6 。据2 0 0 8 年统计,我国年产铸件3 3 5 0 万吨,是世界铸 造第一大斟2 1 。铸造工业所取得的突出成就和高速发展,为我国制造业水平的提 高和国民经济的发展做出了突出贡献,也为我国未来铸造业和整个工业技术水 平的进一步发展打下了坚实的基础。 铸造行业是一项传统的制造工业,并且有着悠久的发展历史。一直以来, 一个国家铸造工艺水平的高低程度直接决定了这个国家制造业发展的基础,铸 造工业和铸造技术的发展已经越来越受到更多国家的重视。经过多年的发展, 如今铸造技术水平已经得到了很大的提高,各种新的铸造工艺随之而出,并且 取得了非常突出的成果,这些铸造工艺被应用于实际生产过程中,如挤压铸造、 离心铸造、融模铸造等。这些新型铸造工艺的发展和进步,对我国的制造工业 做出了巨大的贡献,这也是我国能成为铸造大国的基础。但随着经济和科技的 发展,如今的制造行业对铸造工艺的水平有了进一步的要求,对于铸件的精度、 生产效率、以及结构组织方面有了更多的要求,铸造工业正朝着高效率、高精 度、高质量、环保低碳等方向发展,传统的铸造工艺已经越来越无法满足铸造 工业的发展要求。 由于铸造是一个非常复杂的过程,其中包括各种物理的、化学的变化,如 温度的变化、体积的收缩、流场的变化等,传统的铸造工艺,其不可视性决定 了铸造工作人员很大程度上只能根据经验来预判铸造工艺是否合理,所有的铸 造工艺以及浇注系统的结构等,都是工作人员凭借经验来设计完成,然后再通 囊 1 慷 产, f 一 叁 武汉理工大学硕士学位论文 过实验的方式来判断结构是否合理【3 】。显然,仅仅通过用户的经验来对这样一个 复杂的铸造工艺进行判断是困难的,判断结果也不一定是准确的。这种传统的 铸造工艺技术停滞不前,必然会导致生产水平无法满足不断增加的生产需要, 相对更为先进的铸造技术呼之欲出,在这样的历史背景下,铸造的计算机模拟 仿真技术的发展和应用成为必然的结果。 随着计算机技术的发展,铸造数值模拟技术逐渐地得到发展和应用。以计 算机为工具,通过数值计算和图像处理的方式对铸造过程中可能出现的不合理 情况进行模拟和预判,能达到优化铸造工艺的目的。这种新型的铸造技术;通 过数值模拟仿真使铸造过程变为可视化,使铸造过程变得直观,让用户易于判 断铸造过程是否合理,给铸造工艺技术的发展带来了质的飞跃。经过几十年的 发展和广大科研人员不断的努力,我国关于铸造数值模拟技术的研究已经取得 了较大的发展,如今相对成熟的商业铸造模拟软件已经面向市场,如清华大学 的f t - s t a r 、华中科技大学的华铸c a e 、华北工学院的c a s t s o f t 等,一批学 者和科研工作者对我国铸造数值模拟的研究开创了先河,所取得的这些成果对 我国铸造业的发展做出了重要的贡献。虽然我国的铸造数值模拟技术已经得到 了很大的发展,但总体来说,我国铸造数值模拟技术毕竟起步较晚,所作研究 的时间和经验有限,所取得的技术成果与国际先进水平还有一定的差距,并且 经过多年的发展,我国的铸造模拟技术依然还有一些难题没有得到解决。因此, 为了满足不断提高的铸造业和国民经济的发展需求以及顺应国际先进技术水平 的方向,我国对于铸造模拟技术的研究要求将会不断加大,进一步提高我国铸 造模拟技术的发展水平成为必然的结果。 1 2 铸造数值模拟技术的国内外研究现状 1 2 1 铸造数值模拟技术的发展过程 铸造数值模拟技术最先是由国外率先提出,并开始进行研究,经过几十年 的发展,已经取得了很重要的成果,开发出了相对完善的商业软件。最近十多 年以来,更多的国家开始认识到计算机应用的重要性,越来越重视铸造过程数 值模拟技术的研究和发展。这样,铸造数值模拟技术就得到了非常快速的发展, 并且已经非常普遍的被应用到实际生产过程中。 ( 1 ) 铸造模拟技术的早期发展 2 武汉理工大学硕士学位论文 铸造模拟技术的研究开始于1 9 世纪6 0 年代,并取得了一定的成果。软件界 面友好,并且成本不高,还具备一定的三维图像显示功能,所取得的这些技术 突破为日后计算机模拟软件的商业化成为可能。 1 9 6 2 年,来自丹麦的学者f u r s u n d 首次采用有限差分的方法对铸件的二维模 型进行了凝固过程的传热计算h i 。1 9 6 5 年,美国通用汽车公司应用瞬态传热通 用程序,对作为汽轮机缸体的铸件进行数值模拟,这次的计算结果已经与实际 测试的结果相近。这些是早期铸造过程计算机模拟软件的雏形,是铸造工业技 术发展的一个里程碑的标志,也为铸造数值模拟技术后来的发展打下了坚实的 基础【5 1 。 ( 2 ) 铸造数值模拟技术的蓬勃发展 进入1 9 世纪8 0 年代,铸造数值模拟技术进入快速发展时期。充型过程的模 拟研究,就是始于8 0 年代,从此就开辟了充型过程研究的新领域【6 】1 7 】。在此期 间,国内外的铸造模拟技术的发展突飞猛进,呈现百花齐放之势。尤其是美国 等发达国家在铸造模拟技术上所取得的成就非常突出【8 l 【9 】。 到了9 0 年代,铸造过程数值模拟技术得到了进一步发展。计算过程中,模 拟逐步从二维向三维转变,仿真处理更加具有真实性。并且对网格的差分方法 和几何信息的处理得到简化,加快了模拟过程的速度,使模拟过程大大节省了 其所占计算机资源,计算精度进一步提高,模拟结果与试验结果更加吻合【l o 】1 1 1 】。 ( 3 ) 我国在铸造过程数值模拟技术上的发展 我国的铸造模拟技术起步较晚,但发展很快。在很多大学以及研究所都进行 着铸造模拟方面的研究,并取得了喜人的成果,一些成熟的商业软件已经被开 发出来,如华中科技大学的华铸c a e 、清华大学的f t - s t a r 、华北工学院的 c a s t s o f t 等。但总体来说,与国外的先进技术相比,还有一定的差距,整体 而言还需要进一步的提高和不断的完善【1 2 】【1 3 1 。差距主要表现在前后处理和可计 算工艺过程的多样性等方面,对于凝固过程微观组织的研究和模拟也仍然还只 处于探索阶段【1 4 】。因此,对我国铸造数值模拟技术的研究有着重大的意义,必 将推动我国铸造技术业的发展,为我国的制造工业做出重要的贡献。 1 2 2 铸造数值模拟技术的发展方向 计算机硬件的发展,对于现代工业的推动作用具有里程碑的意义,也为铸 造数值模拟仿真技术提供了基本条件。近年来,机械c 胱删a e 技术都得 3 f 。 武汉理工大学硕士学位论文 到了长远的发展,在铸造工业中,新型的铸造模拟仿真技术正在逐步的被应用 到实际生产过程中,传统的铸造工艺已经越来越不能满足现代工业的发展,铸 造数值模拟技术为铸造工业的发展添砖加瓦,将为推动我国铸造工业以及国民 经济的发展起到重要作用。 经过几十年的发展,铸造过程的数值模拟技术经过不断的提高和发展,已 经取得了全方位的进步。总体来说,获得界面友好、计算精确、可视化效果逼 真形象并且使用操作方便的产品,是铸造过程模拟商业化软件的发展目标【1 4 1 。 对于铸造模拟软件发展的上述要求,也就是铸造数值模拟技术的未来发展方向, 主要表现在以下几个方面: ( 1 ) 由宏观模拟转向微观组织的数值模拟 现在已经研发出的铸造数字模拟软件,已经能良好的对铸造过程的温度场 等进行模拟,模拟结果基本可靠。随着技术水平的不断提高和各研究人员的不 断努力,铸造数值模拟技术正在由宏观的场境模拟开始转向朝着模拟微观领域 的方向发展。通过计算机可视化的特点,对模拟过程中铸件成型时微观组织变 化的研究和模拟,来了解铸件的结构组织和性能的变化,从而达到控制铸件质 量的目的【1 5 1 。这种研究方向的改变,使铸造数值模拟技术变得更加精细,计算 精度变得更加精确,向微米和纳米级的方向发展。铸造模拟过程中,温度场、 流场等宏观物理量可以利用相应的方程,通过有限元法或者有限差分法等方法 求解。在微观领域,可以通过解析法来分析枝晶端部、共晶薄层或者球粒的动 力学生长。 ( 2 ) 功能更加强大 单个物理量的模拟已经无法满足生产需求,铸造模拟需要一款多样化、多 功能、全方位的模拟软件。为了顺应这个发展趋势,铸造数值模拟的功能,就 由以往单一的温度场、流场、应力场、组织场等的模拟进入耦合的集成阶段。 随着前后处理模块的功能逐渐变得强大,计算界面更加友好【1 6 】。同时,软件中 所导入的铸件实体也能做到与实际生产中的铸件方向、材质等物理量保持一致, 使计算结果更加准确,后处理的结果显示也更加形象,更加方便用户的使用。 总体而言,铸造数值模拟技术更加接近于实际生产过程,使计算机与用户在实 际生产过程中的交互准确形象,因此铸造数值模拟技术越来越广泛的应用于实 际生产中。 ( 3 ) 并行化、敏捷化、数字化、网格化 铸造数值模拟技术,正在向着并行化、敏捷化、虚拟现实方向发展,成为 4 武汉理工大学硕士学位论文 计算机应用于实际生产中的重要技术。铸造数值模拟技术未来的这一发展趋势, 也是未来计算机软件用户实际生产中的主流方向【l j 刀。 并行化是指同时性、同步性。在铸造过程中,铸造过程的数值模拟,与实 际生产过程中的物理量的变化保持一致,使模拟过程更加贴近实际生产。敏捷 化和数字化是现代软件的发展方向,铸造模拟技术的发展同样越来越要求高精 度、高灵敏度。一款操作和运行敏捷的软件,加速了工作者与计算机的信息交 互,有利于操作和计算处理的准确性,使生产效率明显提高。这样就决定了铸 造模拟软件在未来的研究过程中必须要敏捷化、数字化、网格化。在网格环境 下,铸造过程的多尺寸模拟仿真将是未来重要的研究方向【埔l 。 1 3 本课题研究的内容及意义 1 3 1 本课题研究的内容 铸造工艺以及充型凝固过程是一个复杂的过程,关系到多个物理和化学的 不规则变化,主要包括热量、动能、质量和向量等,充型凝固过程是铸造生产 的核心部分,铸件生产的质量好坏以及生产效率主要取决于该过程【1 9 1 。前面已 经提到了传统铸造工艺的种种缺陷和弊端,并且已经对铸造数值模拟技术研发 的必要性和重要性作了论述。经过半个多世纪的发展和广大科研工作者的不断 努力,铸造数值模拟技术的发展已经取得了丰硕的成果,国内外多款铸造模拟 的商业软件已经问世,并且被应用于生产过程中。铸造生产过程中对于模拟仿 真软件的应用,打破了单纯依靠传统铸造工艺进行生产的格局,从思想上补充 了传统的铸造方式,也为今后铸造数值模拟软件的进一步发展及应用打下了坚 实的基础。但目前广泛应用于实际生产中的铸造模拟软件,很多都还没有达到 完全理想的效果,或多或少的存在这样或者那样的问题。随着生产力的高速发 展,铸造数值模拟技术还需要不断发展并逐渐被完善。 铸造数值模拟软件通常被分为前处理模块、模拟的计算模块、后处理模块 和数据库模块四个部分,本课题的任务就是开发一款用于低压铸造的模拟软件, 所开发出来的软件应该具备友好的界面、正确的计算结果、逼真的结果显示以 及内容完整的数据库。作为整个课题的一部分,本文所作的研究主要是以计算 机为工具,以v c + + 为软件平台,开发一款模拟准确、可操作性强的铸造数值模 拟软件的后处理模块。本文的主要研究方向如下: 5 声 l 武汉理工大学硕士学位论文 使用先进的图像处理工具o p e n g l ,将充型凝固过程的计算结果显示为直观 的图像或者动态的画面,直观形象的显示金属液的充型过程的变化和指定单元 网格在充型过程中的温度变化,以达到使铸造充型过程的模拟可视化的效果, 对铸件可能出现的缩孔、缩松等缺陷进行预判,将会大大方便用户的使用,使 生产效率提高。 为了实现以上目标,本文对以下几个部分作出了重要研究: ( 1 ) 后处理模块的界面研究 软件界面是否使用方便是一款软件质量的基础,本文对软件界面进行了增 强和补充,实现了对铸件实体的放大、缩小、平移和旋转等功能的实现,方便 了用户的交互和使用。 ( 2 ) 后处理显示的原理和方法 后处理显示包括铸件外轮廓的显示和计算结果的显示,将两者同时显示在 窗口的同一坐标系下是本文重要的研究目的。所以,本文对铸件外轮廓和计算 结果的显示技术进行了重点研究,为实现可视化模拟打下基础。 ( 3 ) 充型过程中的流场模拟 在金属液被充型到型腔里以后,理论上金属液将会逐步填充型腔里的整个 部分。但实际上金属液不一定能达到完全填充型腔的效果。模拟充型过程随着 时间的变化状态,使充型过程逼真形象。 ( 4 ) 跟踪模拟指定网格的温度值,将温度值随时间的变化表现为曲线图的形 式,以达到判断充型是否完全的目的。 1 3 2 本课题研究的意义 后处理模块是铸造数值模拟软件的重要部分,它好比是铸造模拟软件面向 用户的窗口,直接将计算结果通过形象直观的方式表达出来,让工作人员非常 清晰直观的观察到铸造生产的目标值的变化过程,对铸造工艺的质量好坏进行 预判。后处理模块所显示的信息就是模拟计算的结果,后处理的显示结果是否 正确可靠,直接决定了整个模拟过程成功与否1 2 0 】。后处理模块是否好用,也是 判断一款铸造模拟软件质量好坏的重要标准之一。因此,后处理模块是成功开 发一款铸造数值模拟软件的基础。 6 武汉理工大学硕士学位论文 第2 章后处理模块部分所使用软件及应用 2 1 0 p e n g l 概述 2 1 1 0 p e n g l 简介 o p e n g l ( g l 代表图形库,g r a p h i c sl i b a r y ) 图形系统是图形图像硬件的一个 软件接1 3 ,它允许我们创建交互性的程序,产生移动三维物体的彩色图像【2 。 o p e n g l 被广泛应用,不管是c a d 、娱乐、游戏开发,还是制造业、虚拟现实 等领域,o p e n g l 都发挥着巨大的作用。自诞生以来,o p e n g l 就成为行业里面 应用最为广泛的计算机图形学使用工具,并因此而催生了各种计算机平台和设 备上不计其数的各种软件。 o p e n g l 并不是一个软件,而是图形硬件的一个软件接口,帮助人们编写强 大的三维图形应用程序,绘制出仿真度非常高的三维图形【2 2 】。随着计算机硬件 的高速发展,绝大多数计算机图形加速卡支持o p e n g l 技术,o p e n g l 被广泛兼 容,使用o p e n g l 绘制图形可以获得很快的执行速度。o p e n g l 是一个与硬件无 关的软件接口,适用于各种硬件平台和软件操作系统,如w i n d o w $ ,l i n u x ,m a c o s 等。当然,各类c a d 软件也广泛使用o p e n g l 进行图形绘制与仿真。 使用o p e n g l 图像系统进行编程,可以绘制出非常逼真的,或者是现实生 活中并不存在的图像。o p e n g l 提供的功能主要包括如下部分: ( 1 ) 图形绘制。o p e n g l 可用于绘制复杂的三维图形,其基本点也是立足于最 基础的图形单元,也就是点、线、面,通过绘制基本图元点、线段、多边形来 达到绘制描述三维图形和场景的目的。所有的图元都是首先由顶点来确定,然 后再绘制成更为复杂的图形和场景。 ( 2 ) 图形变换。在各类软件中,例如c a d 软件,通常会需要转换图形的场景、 角度、方向、大小等因素,来满足用户的使用需求。在遇到一些复杂的图形文 件时,还有可能需要用到剖切功能,以了解其内部结构。在o p e n g l 中,可以 通过必要的操作来实现这些功能,如:对模型进行旋转、平移或者缩放等,实 现设置模型的场景和方向;使用投影变换是确定一个视景体,也决定了是否将 图形投影到屏幕上;投影变换和视口变换一起决定了场景怎样映射到计算机屏 7 武汉理工大学硕士学位论文 幕上。 ( 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 中颜色模式有r g b a 模式和颜色索引模式两种。在 r g b a 模式下,每个像素分别保存一个r 、g 、b 值,并可能保存一个a 值。在 颜色索引模式中,每个像素存储一个表示颜色序号的数值,称为颜色索引。每 一个颜色索引也对应一个r g b a 模式下的颜色值 2 3 1 。 ( 4 ) 光照和材质。要实现逼真的图像处理,光照和材质是o p e n g l 进行图像 处理的重要组成部分,这直接关系到图像的处理结果是否逼真。o p e n g l 的光照 模型把光分成独立的四个部分:环境光、散射光、镜面光和发射光。这四个部 分相互独立,可以单独的进行计算,又可以相互叠加起来。在应用程序中,用 户可以设置多个光源,以及它们的属性和位置等因素来达到所需的光照效果。 o p e n g l 的光照模型根据材料所反射的颜色的比例来模拟它的颜色,材料也 有不同的环境、散射和镜面颜色,它们决定了材料对红、绿和蓝光的反射率。 从概念上来说,绝大多数材料属性的设置类似于创建光源时所设置的属性【2 4 】。 ( 5 ) 混合。混合是在场景进行了光栅化并转化为像素以后发生的。对于混合 的理解,最直观的表述方式是单纯把r g b a 看成物体的颜色,把a l p h a 值看成是 控制物体透明度的量。使用混合,可以控制原本存在的物体与现在的新建物体 的组合方式,混合是透明化、数字合成、内部观察等技巧的核心技术。 ( 6 ) 纹理映射。图像处理要求逼真生动,采用单一的色彩进行渲染肯定是不 够的。o p e n g l 就提供了纹理映射的功能,形象一点讲就是把纹理贴图粘贴到三 维物体的表面,使更加生动形象。 ( 7 ) 抗锯齿。计算机生成的图像是由离散的单个点组成,这样就难免会造成 图像与实际效果的误差,使图像的失真。主要表现为图像上的线条等呈现锯齿 状等。o p e n g l 提供了抗锯齿功能,能够解决此问题,使线条变得光滑逼真。抗 锯齿又叫反走样。 ( 8 ) 雾。图像的处理如果过于清晰,有时候就会使渲染效果并不真实,这就 需要一种朦胧的效果。o p e n g l 提供雾的功能,使远处的物体看上去变得模糊一 些,强化了视觉效果,增加了图像的真实度。经过雾处理以后,远离观察者的 物体融入雾中,可以控制雾的浓度,雾的颜色,以及设定坐标值,来满足图像 8 武汉理工大学硕士学位论文 处理的需要。 ( 9 ) 位图显示和图像。位图是由l 和0 组成的矩形数组,作为窗口中一个矩 形区域的绘图掩码。在绘制一幅位图时,假设当前光栅颜色是黄色,那么在位 图为1 的地方,帧缓冲区内的对应像素就是使用黄色像素替代,位图为0 的区 域,像素属性则不受影响,不发生改变。位图所使用最广的功能就是在屏幕上 绘制字符。图像与位图功能相近,只是图像在矩形区域内的每个像素并不是由1 个位来表示。每个图像的像素可以包含多个信息。 ( 1 0 ) 双缓存动画。双缓存也就是前台缓存和后台缓存共同工作完成动画效 果。后台缓存用于计算并生成所需要的画面,前台缓存将后台缓存绘画完成的 图像显示出来。当后台缓存正在绘制一幅图像时,前台缓存正在显示后台缓存 之前绘制好的图像;当后台缓存完成一幅图像的绘制以后,再传递给前台缓存 显示,后台缓存开始进行下一幅图像的绘制。如此反复,就能得到动画效果。 2 2 0 p e n g l 工作过程简介 2 2 1 0 p e n g l 函数的语法 o p e n g l 在编写程序时,使用前缀“西”,并且把组成函数的每个单词的首字 母写成大写的形式( 例如:g l c l e a r c o l o r 0 ) 。实用函数则使用“g l u ”作为函数名的 前缀,( 例如g l u s p h e r e 0 ) 。另外,o p e n g l 还定义了一些类似的但是以前缀g l 开头的常量,这时候所有的单词都需要大写,并且以下划线来分隔( 例如: g lc o l o rb u f f e rb i t ) 1 2 5 】。 有些o p e n g l 函数可以在它们的参数中接受多达8 种不同的数据类型。表 2 一l 列出了对应的o p e n g l 类型定义。不过,每个o p e n g l 的用户在实现程序时 并不一定与表2 1 所表示的方案完全一致对应。如o p e n g l 的c + + 实现就不需要 完全遵循该方案。 表2 1 函数后缀和参数数据类型 后缀数据类型典型的对应的c 语言类型 o p e n g l 类型定义 b8 位整数 s i g n e dc h a rg l b y t e s1 6 位整数s h o r tg l s h o r t 3 2 位整数 i n t 或l o n g g l i n t ,g l s i z e i l f3 2 为浮点数f o a t g l f l o a t ,g l c l a m p f 9 武汉理工大学硕士学位论文 续表2 1 d6 4 位整数d o u b l e g l d o u b l e ,g l c l a m p f u b 8 位无符号整数 u n s i g n e dc h a rg l u b y t e ,g l b o o l e a n u s1 6 位无符号 u n s i g e ds h o r t g l u s h o r t 整数 3 2 位无符号 u n s i g n e di n t 或u n s i g n e d g l u i n t ,g l e n u m ,g l b i t f i e l d u l 整数 l o n g 由表2 1 可知,下面两个函数的调用: g l v e r t e x 2 i ( 1 ,3 ) ; g l v e r t e x 2 f ( 1 0 ,3 o ) ; 这两个函数的调用是等价的。只不过第一个函数把顶点的坐标指定为3 2 位 的整数,而第二个函数则把顶点的坐标指定为单精度的浮点数。 2 2 2 0 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 所维持的状态之一。o p e n g l 还包含有很多其他的状态变量,如 投影变换、多边形绘图、光照的位置等,这些各种不同的状态变量都有着各自 的用途。每一个状态变量在系统中都有一个默认值,在o p e n g l 操作过程中, 随时可以查询每个状态变量属性值,也可以对状态变量进行临肘的修改或者恢 复等操作【2 6 】。 每个状态变量都有一个默认值,并且在任何时候都可以向系统查询当前变 量的状态值。可以使用以下6 个函数中的任意一个来完成该任务: g l g e t b o o l e a n v 0 ,g l g e t d o u b l e v 0 ,g l g e t i n t e g e r v 0 ,g l g e t f l o a t v 0 ,g l g e t p o i n t e r v 0 和g l l s e n a b l e 0 。具体所选择的函数根据希望要返回的结果数据类型来决定。有 些状态变量有更为特定的查询函数,如g l g e t l i g h t * 0 、g l g e t e r r o r 0 或 g l g e t p o l y g o n s t i p p l e 0 等。如果需要对状态变量作临时的修改,应该使用 g l p u s h a t t r i b 0 、g l p u s h c l i e n t a t t r i b o i 垂i 数把状态变量的集合保存到一个属性堆栈 中,以后再使用g l p o p a t t r i r b 0 或g l p o p c l i e n t a t t r i b 0 恢复这些值。这样会使效率 1 0 武汉理工大学硕士学位论文 更高,而不用使用任何查询函数。 2 2 3 0 p e n g l 的渲染 多数o p e n g l 的实现过程都是相似的,一系列相关处理阶段称为o p e n g l 渲染管线。图2 一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 通过几何图元来计算顶点的数据,接下来自 然是进入基于顶点的操作与基本装配阶段。将顶点转换为几何图元,并且完成 装配。装配的主要内容之一,就是图元的裁剪,另外还要进行视口和深度的操 作,最终的结果是得到完整的几何图元。光栅化的功能,就是将几何数据或者 像素数据化为片段。每一个片段对应于一个像素,这些片段将会储存到帧缓冲 区。在光栅化的数据进入帧缓冲区之前,将会进行一系列的操作,经过处理完 的片段最终就会被绘制成相对应的像素储存到适当的缓冲区。 像素数据的处理过程与几何数据的处理过程有些不同之处。它们进入帧缓 冲区之前,都要经过光栅化和片段操作的处理,但像素数据在光栅化和片段操 武汉理工大学硕士学位论文 作之前,还具有像素操作和纹理装配两个处理阶段。先将像素数据进行解包成 适当的数据包,这些数据经过相关的处理进入光栅化或者是纹理装配阶段。纹 理图像的使用,可以使几何图形显得更加逼真。当有多幅纹理图像需要处理时, 将他们储存于纹理对象中,可以很方便的进行不同的纹理图像之间的切换 2 7 1 。 以上就是o p e n g l 处理数据时的立即处理模式,o p e n g l 在处理任何一种数 据时,还可以先将数据储存到显示列表中,而不是立即对数据进行处理。显示 列表就好比是_ 个排队等候的区域,不管是顶点数据还是像素数据,都可以留 存到显示列表里面,以提供使用或者留着以后再使用。 2 3 0 p e n g l 在w i n d o w s 环境下的使用 2 3 1 0 p e n g l 的a p i 结构 图2 - 2w i n 3 2o p e n g l a p i 结构图 图2 2 是w i n 3 2 平台上o p e n g la p i 的结构简图。“o p e n g l ”表示o p e n g l 基本a p i ,这类a p i 的主要功能包括物体的描述、平移、缩放、旋转、光照、材 质、像素、文字、位图处理等。“g l u ”表示实用a p i ,其主要功能包括绘制二次 曲面、复杂的多边形、以及纹理、矩阵管理等。“w g l ”是w i n 3 2 为支持o p e n g l 而特别设计的一套编程接口。 1 2 武汉理工大学硕士学位论文 2 3 2 0 p e n g l 程序结构 o p e n g l 程序的基本结构大致上可以分为如下三个部分: 1 初始化。o p e n g l 里面有两个非常常用的函数g l e n a b l e o 和g l d i s a b l e 0 ,一 般用于o p e n g l 的初始化设置,主要包括颜色模式的选择、深度检验、光照处 理等。 2 设置并观察坐标系下的取景模式和取景框位置及其大小。主要利用以下三 个函数: v o i dg l v i e w p o r t ( 1 e f i , t o p ,r i g h t ,b o t t o m ) :设置屏幕上的窗口大小,括号内的四 个参数分别用来描述屏幕窗口四个角上的坐标; v o i dg l o r t h o ( 1 e t t ,r i g h t ,b o t t o m ,t o p ,n e

温馨提示

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

评论

0/150

提交评论