




已阅读5页,还剩50页未读, 继续免费阅读
(工程力学专业论文)基于VTK的有限元后处理软件开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 有限元分析过程中产生相当数量的数据信息,将这些数据可视化可以使研究人员能够 直接、迅速地观察到计算模拟结果。v t k 是一个复杂的、功能强大的开源工具包,由数百 个c + + 类构成,主要用于3 d 的图形处理和可视化。本文根据有限元后处理的需求,以 v c + + 6 0 和v t k 为开发工具,实现了一个有限元后处理程序所需要的主要功能。完成的 主要工作和成果为: 1 收集和整理了科学计算可视化技术及可视化技术在有限元中应用的资料,介绍了相 关的图形学基本原理和有限元基本理论,研究了v t k 类库的对象模型、数据结构、可视 化数据流的设计方法。 2 利用v t k 类库开发了三维有限元数据场可视化程序,实现了有限元计算的三维几何 模型图、网格模型图、三维几何模型上任意剖面的彩色云图、等值线图、三维几何模型的 彩色云图、等值面图、单元收缩图、矢量图,每个图形都可以进行平移、旋转、放大,并 且将本程序和a b a q u s 软件分别对同一个三维有限元计算数据进行可视化,将可视化结 果进行对比分析,验证了本程序的正确性。 3 总结了论文的研究工作并提出了进一步研究的方向。 关键字:可视化,v t k ,有限元,后处理 a b s t r a c t l 吣o fd a t aa r ec r e a t e di nt h ef i n i t ee l e m e n t ( f e m ) a n a l y s i s 矾e nt l l ed a t aa r ev i s 砌i z e d , n l ef e ms i m u l a t i o nr e s u l t sc a l lg e td i r e c t l ya n dq u i c “yb yr e s e a r c h e r s v t ki sac o m p l i c a t e d p o w e m l lo p e ns o u r c et o o l k i t ,b e i r 培c o m p o s e do fh l l r l d r e d so fc hc l a s s ,w h i c hi sm a i n l yu s e di n 3 dg m p h i cp r o c e s s i n ga n dv i s u a l i z a t i o n t t l i sp a p e rb a s e do nr e q u i r eo ff e mp o s td i s p o s a l c a i e do u tp r i m a 巧觚c t i o n s ,w h i c ha r en e e db yaf e m p o s td i s p o s a lp r o g r 锄,b yv c + + 6 0a l l d v t k 嬲d e v e l o p m e n tt 0 0 1 t h em a i nw o r k sa i l da c h i e v e m e n ti sc o m p l e t e da r ea sf o l l o w s : f i r s t l y ,t h ed o c u l n e n t a t i o na b o u tt h et e c h n i q u eo fs c i e n c ec o m p u t a t i o nv i s u a l i z a t i o na i l d l e a p p l i c a t i o no fv i s 砌i z a t i o nt e c l l i l i q u ei nf e m a r ec o l l e c 砌a n dc l a s s i f i e d c o r r e l a t i v eb 嬲i c 脚l l i c st h e o 巧a n df e mm e o 巧a r ei n t r o d u c e d t h eo b j e c tm o d e l 、t l l ed a t as t m c t u r ea n dt h ed a _ t a s 仃e 锄o fv i s 砌i z a t i o na b o u tv t k l i b r a r ya r es t u d i e d s e c o n d l y ,av i s u a l i z a t i o np r 0 鲫na b o u t3 df e md a t af i e l d si sd e v e l o p e do nt l l eb a s eo f v t kl i b 删啊w r h i c ha c t u a l i z e d3 dg e o m e t 巧m o d e l ,m e s hm o d e l ,c o l o rc l o u dg r 印h ,i s o l i n e 掣a p ho fa r b i t r a 巧s e c t i o np l a n e ,c o l o rc l o u dg r 印h ,i s o s u r f l a c eg r 印h ,c e l ls 嘶n k e dg r 印h ,v e c t o r g 即p ho f3 dg e o m e t r ym o d e l u s e rc a nt m s l a t e ,r o t a t eo rz o o mt l l eg 阳p h b e s i d e s ,o n e c a l c u l a t i o nd a :t ai sv i s u a l i z e db yt l l ep r o g 删【i la n da b a q u ss o f h 硼,a i l dac o n t r a s ta b o u tt h e s 锄ev i s u a lg r 印ha r em a d e ,w h i c hp r o v em ec o 玎e c t i l e s so ft h e p r o g r a l = 1 1 f i n a l l y ,ac o n c l u s i o na i l dt h ed i s c u s s i o na b o u tt l l en e x ts t i l d yo nt h j st o p i ca r eg i v e n k b y w o r d s :v i s u a l i z a t i o n ,v t k ,f i n i t ee l e m e n t ,p o s td i s p o s a l i i 学位论文独创性声明: 本人所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的 研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包 含其他人已经发表或撰写过的研究成果。与我一同工作的同事对本研究所做 的任何贡献均已在论文中作了明确的说明并表示了谢意。如不实,本人负全 部责任。 论文作者( 签名) : 彳纽叁醴 锄年月纱侣 学位论文使用授权说明 河海大学、中国科学技术信息研究所、国家图书馆、中国学术期刊( 光 盘版) 电子杂志社有权保留本人所送交学位论文的复印件或电子文档,可以 采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文 的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅。论文 全部或部分内容的公布( 包括刊登) 授权河海大学研究生院办理。 论文作者( 签名) :么塑叁趁 渺年占月2 一日 第一章绪论 1 1 选题目的和意义 第一章绪论 有限元分析过程中产生相当数量的数据信息,这些信息要被分析者理解并加以利用, 数据可视化是必不可少的。可视化技术通过计算机软件将数据转化为图像,利用颜色、密 度、透明度、文字等可视化元素,通过等值线、等值面、云图、矢量图等形式,将数据转 变为可见的图形或者图像,在短时间内传递大量信息,使研究人员能够直接、迅速地观察 到计算模拟结果。它不仅丰富了科学和工程计算的过程,而且给研究人员带来了灵感和启 迪,赋予人们深入观察事务内部的洞察力,帮助科研人员发现新现象、新规律,提高分析 问题和解决问题的能力。 我国在有限元分析理论方面研究人员多、成果丰富,各个行业的数值计算人员都开发 了一些规模不等的专业应用程序,这些程序为解决各个专业的特殊问题发挥了重要作用, 但这些软件一般规模小,前后处理功能弱,表现能力不足,制约了程序功能的发挥。当前 商业有限元软件层出不穷,如s u p e r s a p 、a n s y s 、a b q u s 、m a r c 、a s 玎等都被广 泛使用。这些软件对计算结果的可视化功能很强,使用方便、使用面广。虽然通用有限元 软件的可视化功能发展到一个成熟的阶段,但是仍然不能包罗万象,尤其对一些特殊的专 业领域。目前的商业软件仍然在数据接口、表现形式等方面不能满足要求,国内大型有限 元软件开发尚处于发展时期,整体上与国际水平有不小的差距,大型有限元软件开发涉及 到除有限元本身以外的多个专业领域,分析当前国内大型有限元软件开发的现状,有理由 认为,当前的瓶颈并不是有限元理论基础和计算方法,而是与其相关的软件工程学、计算 机图形学、网格生成技术、科学数据可视化技术等。为此,本文在调研国内外有限元后处 理技术的基础上,着重研究了国际先进的可视化开发工具包v t k ,在此基础上结合有限元 可视化的具体要求,进行了三维有限元后处理程序开发,实现了有限元处理的主要需求, 为后续进一步开发完整的后处理软件打下了基础。 河海大学硕士论文 1 2 科学计算可视化技术概述 1 2 1 科学计算可视化的基本概念 科学计算可视化( v i s c ) 这一术语是在1 9 8 7 年由b h m c c o 瑚i c k 等根据美国国家科学 基金会召开的“科学计算可视化讨论会”的内容撰写的一份报告中正式提出的。科学计算 可视化【l 】是运用计算机图形学和图像处理技术,将计算过程与结果中的数据转换成图形及 图像的形式在屏幕上显示出来并进行交互处理的理论,方法和技术。实际上,随着技术的 发展,科学计算可视化的含义已经大大扩展,它不仅包括科学计算数据的可视化,而且包 括工程计算数据的可视化,如有限元分析结果等。它涉及到计算机图形学,图像处理,计 算机辅助设计,计算机视觉及人机交互技术等多个领域,是一门新兴的交叉学科,几乎所 有的科学和工程技术领域都可以利用它来加强信息的传递和理解。 科学计算可视化【2 】的关键是“图形数字化”。其实质就是将任何图形或图像通过实际坐 标与屏幕象素坐标的转换,看作为在屏幕上的点阵图。利用计算机对这些有一定坐标位置 的点的存贮和显示,颜色或深浅的变化,以及几何位置计算,可以生成不断变化的并可以 用数学式子来描述的多姿多彩的生动图画。这就从根本上消除了图与数的界限:有一幅图 就有一组数,图与数之间可以通过计算机的计算频繁地进行转换。有了数就可以像通常在 纸上作图那样将图画在屏幕上;反过来,在作图时有了图,相应的数就应存入了计算机中, 也就极其自然地得到了数。 科学计算可视化【3 j 利用现代计算机强大的图形功能把科学计算中产生的数字信息转变 为直观的、以图像或图形信息表示的、随时间和空间变化的物理现象或物理量,如使用交 互网格生成的有限元模型,结构受荷载作用过程中变形图上位移变化等,以充分发挥人的 视觉潜力,并允许与计算和数据进行交互,使科学家们能够观察到不可见的对象,洞察到 自然现象及其规律。 实现科学计算的可视化可以大大加快数据的处理速度,使目前产生的庞大的数据得到 有效的利用;它可以在人与数据,人与人之间实现图像通信,而不仅是目前的文字通信和 数字通信,从而可使人们观察到传统的科学计算中发生了什么现象,成为发现和理解科学 计算过程中各种现象的有力工具,它还可以使人们对计算过程实现引导和控制,通过交互 手段改变计算所依据的条件并观察其影响。 总之,科学计算的可视化将极大地提高科学计算的速度和质量,实现科学计算工具和 环境的进一步现代化,从而使科学研究工作的面貌发生根本性的变化,甚至被誉为“第二 2 第一章绪论 次计算机革命”。 1 2 2 科学计算可视化的发展和研究现状 1 9 8 6 年,美国科学基金会州s f ) 专门召开了一次研讨会,会上提出了科学计算可视化, 第二年美国m c c o m i c k 等向美国国家科学基金会提交了“科学计算可视化研究报告”以后, 美国国家科学基金会正式把科学计算可视化列为重点资助项目【4 1 。这标志着科学计算可视 化技术正式被提出。 最早开展科学可视化工作的当属美国的l o s a l a n l o s 国家实验室。他们的工作始于2 0 世纪5 0 年代。所用的设备从最初的打印机、打印绘图仪和笔式绘图仪到6 0 年代的图形交 互设备和动画( 电影) 胶片制作设备,都是当时最先进的。l i v e n n o r e 实验室在可视化方面的 工作开展的也比较早,他们在7 0 年代就用上了t m d s ( t e l e v i s i o nm o n i t o rd i s p l a ys y s t e m ) 电视监视显示系统。这种系统可以以图形显示计算结果,交互地进行网格构造,并在计算 过程中重新划分网格。 我们国家的科学可视化工作在2 0 世纪6 0 年代以前以打印纸查数据然后手工描图为 主,因此,打印的纸带经常堆积如山,而真正有用的数据却少的可怜,工作效率非常低。 随着计算机软硬件技术的迅速发展,计算速度提高,存储空间增大,到了7 0 年代, 绘图手段由手工描图逐渐发展到用磁带记录计算结果,然后脱机到x y 绘图仪上绘制曲 线图、网格图和等值线图。8 0 年代以后,绘图软件发展迅速,出现了使用图形中断联机显 示多种图形的先进方式,并且制作科学计算中的动画录像也变得比较普遍了。 2 0 世纪8 0 年代,科学计算可视化的重要趋向是由科学家独立编写程序向直接利用软 件包方向发展。他们的工作方式是建立可用于实践目的的数据库,并将此数据库与可提供 各种菜单选择的软件包相结合。这一方式比独立编写程序简便的多,但以牺牲灵活性为代 价。 2 0 世纪9 0 年代初,国外己陆续推出了一些较为成熟的可视化软件系统,如后处理型 的a p e 、w 打e f 而n t 、p v w 打e 、g a s 和砒p ,跟踪型的a 、,s ,驾驭型的j z 等。在微机 上推出了一些分析绘图软件包,如科学计算工具箱,g r a f t o o l 、c o r e l d r a w 等。我 国的浙江大学c a d & c g 国家重点实验室也开发出了拥有独立知识产权的通用交互式可视 化环境的软件g i v e ( g e n e r a ji n t e r a c t i v ev i s u a l i z a t i o ne n v i r o 衄e n t ) 。这些软件的出现为可视 化研究者提供了极大的方便。 科学计算可视化分为三个方面,对应三种处理方式,即跟踪( 1 r a c k i n 曲、事后处理( p o s t 气 河海大学硕士论文 p r o c e s s i n g ) 、驾驭( s t e e r i n g ) 。事后处理把计算与计算结果的分析分成两个阶段进行,两者 之间不能进行交互处理;跟踪是针对实时显示的计算结果,判断计算过程的正确与否以确 定是否继续进行计算;驾驭过程使科学家能对计算过程加以实时控制,修改或增减某些变 量和参数,以保证计算过程的正确进行。 科学计算可视化比较早期开展应用是在流场分析、地质结构、油气矿藏的资源描述、 医疗诊断、c t 成像等方面。其在医学领域中的应用尤为成熟。在国外已经有了显示三维 医学图像的商品化计算机系统,加拿大的a i l e g r o 系统就是其中一例。近年来,在国外有 关的文献及展示会上,介绍了一批科学计算可视化的研究成果和应用,比较著名的有:( 1 ) 分布式虚拟风洞。这是美国国家宇航局a m e s 研究中心的研究项目,虚拟风洞采用一台超 级计算机和两个虚拟环境构成。它能用计算机生成视感像风洞一样的流体试验环境。( 2 ) c t 数据的动态显示。这是美国国家超级计算机应用中心( n c s a ) 研究项目。它利用远程的 并行计算资源,用体绘制技术实现c t 扫描数据场的动态显示。其具体内容是显示一个狗 的心脏跳动周期的动态图像。( 3 ) 燃烧过程动态模型的可视化。这是美国西北大学的研究 项目,可以显示发生在非绝热的气体燃烧中复杂的空间瞬态图像。( 4 ) 胚胎的可视化。依 利诺大学芝加哥分校研制了一个在工作站和超级计算机上实现的可视化应用软件。其内容 是对一个七周的人类胚胎实现交互的三维显示,是由卫生和医学图像博物馆所得到的数据 重构而成的。这一项目展示了对人类形态数据实现远程访问和在网络资源中实现分布计算 的可能性p j 。 自1 9 9 0 年以来,科学计算可视化是国际会议讨论的一个热点问题。美国电气和电子 工程师学会( i e e e ) 每年举行一次有关科学计算可视化的学术会议,出版论文集。自1 9 9 5 年 开始,美国i e e e 会刊中增加t 计算机图形与可视化会刊“i e e et r a i l s a c t i o n s v i s u a l i z a t i o na l l d c o m p u t e rg r a p h i c s 。我国科学计算可视化研究与应用己普遍开展,并建立了不同规模的大、 中、小各种系统。如中国科学院计算技术研究所c a d 开放实验室开发的数据场可视化系 统对原始地貌、地面高程、卫星云图、医学图像及军用目标的模拟数据等的可视化显示处 理和实验,取得了满意的效果;中国气象局国家卫星气象中心,从提高防灾减灾天气预报 的准确性出发,也开展了相应的研究,其主要目的是将气象卫星每天对我国及其周边地区 遥感得到的近万兆的数据进行计算与分析,把结果提供给气象预报员作为天气预报的重要 依据【6 】;清华大学的唐泽圣教授主持完成了国家自然科学基金重点项目“科学计算可视化 的理论和方法研究 ,并且在1 9 9 9 年出版了这方面的专著f 7 1 。 目前,可视化技术的研究热点有:( 1 ) 体元可视化技术。包括体元图形学、体元绘制 4 第一章绪论 技术、体元数据转换技术、体元的实时绘制和并行计算等:( 2 ) 可视化交互手段与工具的 研究,包括感知和认识技术、交互性探讨、折中的可视化技术、虚拟现实界面、自动可视 化技术等;( 3 ) 数据造型技术的研究。包括体元造型、等位面的构造、多尺度数据造型、 采样数据造型、基于模型的分割与绘制技术等;( 4 ) 可视化基础技术的研究。包括模型研 究,如数据模型、视觉模型等;有效性与可检验性,如缺省参数、有效矩阵等;系统性与 策略性;基础显示算法及交互操作( 分割、拓扑、适应等) 等;( 5 ) 矢量场和张量场的可 视化。包括简单点集应用莫斯理论的分解,多样性造型、拓扑结构与雷伯图、物体的可视 重构等【引。 1 3 可视化技术在有限元分析中的应用 1 3 1 有限元可视化的应用 如前所述之科学计算可视化的三个层次,有限元可视化按功能也可分为三个主要层 次: ( 1 ) 有限元计算结果数据的后处理 将有限元计算过程和可视化过程分开,在脱机状态下对计算的结果数据或测量数据实 现可视化,以能全面掌握模型中物理量的客观分布,如极值大小及位置,幅值集中的位置 及区域大小等,为进一步工程设计提供可靠的数值分析依据。 ( 2 ) 有限元计算过程的实时跟踪及显示 在进行科学计算的同时,实时地对计算过程的中间数据或测量数据实现可视化,以了 解计算状态和物理量的变化。 ( 3 ) 有限元计算过程的交互处理 这一层次的功能不仅要求能对过程数据进行实时地处理与显示,而且还可以通过交互 方式修改原始数据,边界条件或其他参数,使结果更精确,表现形式更加丰富,实现用户 对科学计算过程的交互控制和引导。可见,它对可视化软件的交互能力要求很高。有限元 分析过程中既有大量的初始信息需要加工,同时也产生相当数量的结果信息。这些信息要 被分析者理解,以图形的形式表达是非常重要的。因此是否具备完善的前后可视化处理功 能,成为当前评价有限元分析系统是否具有生命力的主要因素之一。而前后可视化处理功 能的实现也就成为有限元可视化的主要内容【9 1 。 从科学计算可视化涉及的主要技术领域来看,数据场的可视化是科学计算可视化的核 河海大学硕士论文 心问题。而有限元计算结果所形成的数据场往往是三维空间标量数据场,即数据值一一对 应于空间的某个几何位置。不失一般性,通常标量场一般有二维和三维之分,相应的可视 化方法分为以下几类: 1 ) 二维标量数据场 云图绘制 等值线绘制 2 ) 三维标量数据场 消隐技术 体绘制方法 任意剖切技术 等值面绘制 进一步,在三维数据场的切片或表面上可重复利用二维数据场的可视化技术绘制云图 与等值线等绘制技术。至于有限元可视化的后两个层次,即实时跟踪和驾驭控制的实现, 所涉及到的基本绘制技术也几乎全己包括,只不过是在增加了控制进程的条件下对其的综 合使用,如实时显示计算中数据的变化状态,则类似于以帧动画的形式将静态画面依次播 放。以上提及的方法普遍应用于各种有限元可视化软件中1 0 】。 1 3 2 有限元分析中的可视化技术 有限元分析广泛应用于各种领域问题的求解。例如飞机、卫星、运载火箭等航空航天 结构设计分析,土木工程中的水库大坝、桥梁、建筑结构强度分析和岩石高边坡的稳定分 析,各种机械部件,机械系统,电子器件的力学分析,人体器官和医疗器械的力学计算, 以及地壳板块运动等领域。 纵观国内外,从事有限元计算数据的可视化程序开发的科研人员是枚不胜举【1 1 ,1 2 】,开 发的可视化程序也是各具特色。但总结来看,有限元分析中的可视化技术可分为标量场的 可视化技术和矢量场的可视化技术两大类。标量场的可视化方法主要有彩色云图、切面图、 等值线图、等值面图和等值体图等,其中以等值线图和彩色云图最为常用。矢量场的可视 化方法主要是箭头线段表示方法,有位移矢量图、应力矢量图等。 1 4 本文主要工作 本文利用v t k 可视化工具包,结合科学计算可视化技术开发了三维有限元后处理程 6 第一章绪论 序,完成的主要工作为: 1 ) 综合介绍了v t k 可视化工具包的基本组成及总体特性; 2 ) 实现有限元计算的三维几何模型和网格模型的显示; 3 ) 实现在三维几何模型上的任意剖面的彩色云图、等值线图; 4 ) 实现三维几何模型的彩色云图、等值面图、矢量图; 5 ) 实现单元收缩和透明度控制; 本文的组织结构为: 第二章简要介绍了相关的图形学基本原理,为后续的研究工作提供了理论基础。 第三章综合性解析了v t k 可视化工具包,主要详述了该工具包的设计和基本功能, 以便研究者对v t k 有一个全面的了解。 第四章介绍了有限元的基本理论和剖析了三维有限元后处理程序的重点部分,包括程 序开发的基本思路、数据文件的构成、主要功能的详述等。 第五章将本程序运用于工程项目并且和a b a q u s 软件的可视化成果作对比,验证了 本程序的正确性。 第六章为本文的结论与展望 7 第二章计算机图形学理论基础 第二章计算机图形学理论基础 2 1 计算机图形学概述 计算机图形学( c o m p u t e rq - a p l l i c s ) 是近5 0 年来随着计算机图形设备技术不断进步和图 形软件系统功能不断增强而发展起来的一门新兴学科。它主要研究怎样用计算机生成、处 理和显示图形。这门学科所要涉及和探讨的主要问题有产生图形的算法、图形信息的处理 技术、图形信息的存储技术、图形语言和图形软件的标准化等等。计算机图形学的应用领 域非常广泛,包括计算机辅助设计与制造( c a d c a m ) 、地理信息系统、医学诊断、计算机 动画及艺术创作、科学技术以及事物管理等方面。在有限元数据场的可视化中也要用到计 算机图形学的一些基本概念和算法理论。本章简要介绍与此相关的基本知识。 2 2 三维图形的显示流程 计算机本身只能处理数量,图形在计算机内也是以数量形式进行加工和处理的。被显 示的对象要被图形化显示出来,必需将被显示的对象数量化,这就通过在被显示的对象所 在的空间中定义一个适合的坐标系来完成。这个坐标系称为世界坐标系。计算机对数量化 了的显示对象作了加工处理后,要在图形显示器上显示或在绘图机上绘制,这就要在显示 器屏幕或绘图机幅面上定义一个二维直角坐标系,这个坐标系称为屏幕坐标系【l 3 1 。 为了使显示的对象能以合适的位置、大小和方向在屏幕坐标系中显示出来,需要对该 对象在世界坐标系中作平移、放大、缩小和旋转等变换。另外世界坐标系中的对象要在二 维的屏幕或图纸上显示出来,必须要通过投影,投影的方法有两种,即平行投影和透视投 影。 有时为了突出图形的某一部分,只把图形的某一部分显示出来,这时可定义一个窗口。 一种简单的做法是在投影平面上定义一个矩形,这是一个二维窗口,只有窗口内的图形被 显示出来,窗口外的部分则不被显示。二维窗口的作用类似于照相机的取景器,在屏幕或 绘图纸上也可定义一个矩形,称为视区,窗口内的景物就在视区内显示。因此二维窗口是 在投影平面上指定要显示的内容,视区则是在屏幕或绘图纸上指定显示的位置。根据上面 所述,三维图形的显示流程如图2 1 所示【l 引。 8 河海大学硕士学位论文 嚣篓鬟h 投影的三维变换ll 渺 对窗口 裁减 2 3 三维图形的几何变换 图2 1 图形的显示流程 窗口至视 区的变换 显示或 绘图 驴隐乏: 巧d = i 吃l 啦2呸3i 【l 吃l 口3 2码3 j 则新坐标系下的点( x ,y ,z ) 和老坐标系下对应点( x ,y ,z ) 的几何变换关系为 鞋掰 亿, 若点( x ,y ,z ) 是由点( x ,y ,z ) 在x ,y 和z 轴方向分别移动距离缸,妙和心得到的, 挑 亿2 , 若点( x ,y ,z ) 经缩放变换后得点( x ,y ,z ) ,这两点坐标间关系的矩阵形式为 妻 = 誊 丢 兰 茎 c 2 3 , 若给定坐标为( x ,弘z ) = ( r c o s 口,s i n 口,z ) 点绕z 轴旋转口角后得点( x ,y ,z ) ,则这两 第二章计算机图形学理论基础 点坐标间关系的矩阵形式为 一s 1 n ( z c o s 口 0 洞 ( 2 4 ) 阡捌 i j = 遗靴 如果要绕空间任一通过坐标原点的轴旋 转,还要给出这根轴的方向向量的坐标 4 ,彳,4 ) 。为了实现这一旋转变换,可先建立 一个新的坐标系d 班,见图2 2 ,的指向和 旋转轴( 4 ,4 ,4 ) 所指方向一致。把要作旋转变耳 换的对象先从嬲弦坐标系变到d 彬坐标系,在 x 图2 2 似弦坐标系 d 彬坐标系中绕d z 轴旋转要求转动的角度,再把旋转后的对象从d 彬坐标系变换到原坐 标系锨弦中,这样绕给定的通过原点的轴的旋转便完成了。 先建立两个坐标系n 班和d 面之间的变换关系。上面已讲到d ;轴的取法,。d ;轴可取 经过。点并和o z 轴垂直的任一直线上。为了方便,若4 2 + 彳,2 o ,则o x 轴的方向可取成 向量( 一4 ,4 ,o ) 的方向,否则可取( 一4 ,o ,4 ) 的方向。d z 轴方向的单位向量为: 七= ( 4 ,4 ,4 ) 4 2 + 4 2 + 4 2 = ( 6 3 。,6 3 :,6 3 ,) 当4 2 + 彳,2 0 ,d x 轴方向的单位向量为: 扛( 一4 ,4 ,o ) 4 2 + 4 2 = ( 2 j i 。,岛:,6 l ,) 若4 2 + 彳,2 = 0 ,则取 l n 口 口 宝m 0 c s i i 1j xy。z 河海大学硕士学位论文 江( 一4 ,o ,4 ) 厢= ( 6 l 。,岛:, d y 轴的单位方向向量为歹= 七f ,即 歹= ( 岛,6 3 :一岛:岛,6 1 。6 3 ,一6 1 ,岛。,6 l :6 3 。一6 1 2 j 3 :) = ( 6 2 ,吃:,6 2 ,) 则从坐标系n 甲至坐标系d 彬的变换矩阵为: 6 1 。 6 2 , 6 3 。囊 主 = 彳 茎 c 2 5 , 因向量i ,j 和k 是互相正交的单位向量,可知矩阵a 的逆矩阵就是a 的转置矩阵a t , 即 6 l 。 6 2 。6 3 1 1 4 = 彳r = l 岛26 2 2 岛2l l _ 岛, 6 2 , 包,j 即r ( 2 6 ) 至 = 么丁 戛三:警; 彳 喜 c 2 7 , 2 4 三维图形的投影变换 将三维图形投影到二维的视平面主要有两种方法:平面投影和透视投影。两种投影方 法的区别在于投影中心与投影平面之间的关系不同。如果投影中心到投影平面的距离是有 限的,那么这种投影就是透视投影;如果它们之间的距离是无限的,那么就是平行投影。 透视投影所产生的视觉效果类似于照相系统和人的视觉系统,真实感较好,比较逼真,但 却不能反映物体的真实形状和尺寸。本文只简单介绍透视投影【1 7 ,1 8 】。 如下图2 3 和2 4 所示坐标系和视点c ( 艺,儿,乙) ,空间中任一点q ( x ,y ,z ) 在假定的投 第二章计算机图形学理论基础 影平面z = o 上的投影点为p ( x p ,蚱,o ) ,q 。、尸和c 分别为q 、尸和c 在懈平面上的正投 影。由图2 4 可得 x p x c x x c - - 二二- - - - - = - - - - z cz c z z x x 图2 3 投影示意图图2 4 在。趁平面的正投影 整理得: = t + ( x t ) = ( 2 8 ) 二一二 同理得: 蚱2 儿+ ( y 一咒) 意 ( 2 9 ) 这两式就是透视投影的计算公式。把空间任一点得坐标代入就可求出在平面z = o 上的 投影点。 2 5 三维图形的消隐 图形消隐处理是计算机图形学中的一个基本问题,由于存在不透光的物体,因而阻挡 了来自某些物体部分的光线到达观察者,这些部分成为隐藏部分,隐藏部分是不可见的, 为了使计算机生成的图形能真实地反映这一情况,必须把隐藏的部分从图中消除,这一过 程统称为图形的消隐【1 9 2 0 】。 图形的消隐包括线消隐和面消隐两类,消隐的对象是三维图形。线消隐就是把表示三 维物体的每一条线与每个组成物体的不透明面进行遮蔽测试,把被遮蔽的不可见线段或者 线段的不可见部分与可见线段或可见部分区分开来,最后画出可见线段或可见线段的可见 部分,不画( 或用虚线画) 不可见线段或线段的不可见部分。面消隐就是把每一个组成物体 1 2 河海大学硕士学位论文 的面( 平面或曲面) 与每一个不透明的面进行遮蔽测试,把完全可见的部分、部分可见的与 完全不可见的、部分不可见的区分开,最后显示那些可见面或面的可见部分,就可以获得 经过消隐出来的立体浓淡图。 图形消隐的内容很丰富,消除隐藏线的算法主要有背面移去法等。消除隐藏面的算法 主要有画家算法、z 缓冲器算法、扫描线z 缓冲器算法和w 姗o c k 算法等。本文只简单介 绍面消隐的几种算法【2 。 ( 1 ) 画家算法。该算法就是按多边形距离观察者的远近来确立先后级别,距观察者 远的优先级低,近的优先级高。根据确立的优先级别,从优先级低的多变形开始,依次把 多边形的颜色填入帧缓冲器中以形成该多变形的图形,直到优先级最高的多变形的图形送 入帧缓冲器后,整幅图就显示好了。这与油画画家首先涂抹背景,然后绘制前景而不需要 擦除背景相类似,因此这种算法叫画家算法。画家算法的优点是简单,容易实现。它的难 点在于需要确定诸多边形的排列顺序。 ( 2 ) z 缓冲器算法。该算法是用帧缓冲器保存各像素颜色值,z 缓冲器保存各像素处 物体深度值,z 缓冲器中的单元与帧缓冲器中的单元一一对应。应用时,z 缓冲器全部单 元初始化为z 的极小值。当要改变某像素颜色时,首先要判断当前多边形的深度值是否大 于该像素原来深度值。如果大于,则替换像素原来的颜色;否则像素颜色保持不变。z 缓 冲器算法的优点是简单稳定,利于硬件实现;缺点是需要一个额外的z 缓冲器,并且在每 个多边形占据的每个像素处都要计算深度值,计算量大。 ( 3 ) 扫描线z 缓冲器算法。该算法将整个绘制区域分割成若干个小区域,然后一个 区域一个区域地显示,这样z 缓冲器的单元数只要等于一个区域内像素的个数就可以了, 大大减小了z 缓冲器的容量。如果小区域取屏幕上的扫描线,那就是扫描线z 缓冲器算法。 ( 4 ) w 抽o c k 算法。这种算法就是利用面积的连贯性进行消隐出来的算法,其基本思 想是:首先观察整个窗口区域,如果窗口内的景物己经足够简单,如窗口内已没有可见物 或者窗口已被一个可见的面充满,则可以直接显示输出了,否则对这个窗口进一步四等分, 再对每一个子窗口进行判断,直到窗口足够简单或窗口边长减少到一个光栅为止。 河海大学硕士学位论文 第三章v t k 类库设计及其功能研究 3 1v t k 类库产生及其功能 3 1 1v t k 类库产生 随着计算机技术的不断发展,计算机的处理能力也越来越强。现在我们用普通的计算 机就可以完成那些以前只有在高级u l l i x 图形工作站才具有的复杂的图形、图像处理功能。 医学成像技术、卫星探测技术、地质勘探技术的进一步发展,为我们提供了庞大的复杂的 数据,怎样将这些复杂的数据以图像的方式,直观的利用计算机显示在人们面前成为大家 一个研究的热点。科学计算可视化这一研究学科也因此兴起。同时,计算机多媒体技术的 发展,特别是计算机游戏产业的发展,使得对怎样有效的利用计算机处理三维图形也日益 为大家所关注。为了方便有效的利用图形卡的硬件加速功能,现在己经有几种通用的三维 图形库供大家使用。其中,o p e n g l 【2 2 】作为由s g i 公司提出的语法简练、功能强大的三维 图形库,为各大图形处理芯片设计制造商所支持,也被s u n ,m i c m s o r ,h p 等硬件制造 商、操作系统开发商所支持,加上众多图形图像处理软件开发商纷纷以它为基础开发复杂 的图形图像处理软件,使它成为事实上的工业标准。同时,微软的d i r e c 由于与w i n d o w s 系列操作系统紧密地集成在一起,也获得了越来越多的支持。上述几种图形、图像处理库 虽然有容易调用的接口,良好的硬件支持性,但是他们大多仅仅具有基本图形图像的显示 功能,对一些常用的科学计算可视化算法【2 2 1 ,如等值面抽取、m a r c h i n gc u b e s 、数字图像 处理算法等,则需开发人员自己实现。软件复用技术,特别是面向对象技术的发展和成熟, 使大家认识到,我们可以利用面向对象的技术,将这些通用的算法进行封装和实现,方便 大家的调用和扩展。现在有许多研究者正在设计和实现基于面向对象技术的三维图形和科 学计算可视化算法处理库。其中,v t k 类库是其中一个设计良好的、使用广泛的类库。1 9 9 3 年,w i l l i 锄j ,s c h r o e d e r ,k e n n e t hm ,m a i t i n ,w i l l i a n le ,l o r e n s e n1 2 驯利用以前设计和开 发的科学计算可视化图形库的经验,利用面向对象的设计技术,重新设计和开发了用于三 维计算机图形、科学计算可视化、图像处理的c + + 类库v t k ( v i s u a l i z a t i o nt o o l k i t s ) 。v n a d d r e n d e r e r ( r e n l ) ; 关联图像绘制器l r e n w i n a d d r e n d e r e “r e n 2 ) ; 关联图像绘制器2 r e n w i n r e n d e r ( ) ; 开始绘制 ( 2 ) 图像绘制器( r e n d e r e r ) ,它是图形绘制类对象,该类是由基类v t k r e n d e r e r 派生 的,主要控制该图形或图像数据的空间坐标系,控制它们在窗口中的显示区域,该类还可 以设置相机坐标,控制显示图形图像的平移、旋转、缩放等操作,可以通过该类设置显示 背景、光照等参数,用于控制绘制过程,包括灯光、照相机、角色等。 r e n = v t k i 沁n d e r e r :n e w o ; r e n a d d a c t o r ( a c t o r ) ; 添加角色 r e n - a d d l i g h t ( 1 i g h t ) ; 添加光源 r e n g e t a c t i v e c a l t l e r a ( c a m e r a ) ;设置当前照相机 ( 3 ) 绘制交互器( 1 沁n d e ri n t e r a c t o r ) ,它主要用于实现与绘制窗口的用户交互,对鼠 标和键盘操作的响应。 i r e n = k r e n d e r w i n d o w i m e r a c t o r :n e w ( ) ; i r e n s e t r e n d e r w i n d o w ( r e n w i n ) ; 与绘制窗口关联 i r e n 一 s e t i n t e r a c t o r s t y l e ( o 、v n s t y l e ) ; 设置交互方式 ( 4 ) 角色( a c t o r ) ,指场景中所要绘制的图形实体,是v t k a c t o r 类的对象。 a c t o f k a c t o r :n e w ( ) ; a c t o r _ s e t m a p p e r ( m a p p e r ) ; 设置相关联的映射器 a c t o r - g e t p r o t e r t ) r ( ) s e t o p a c i t y ( 0 5 ) ; 设置实体的透明度属性 ( 5 ) 映射( m a p p e r ) ,它代表了场景中图形实体的几何形状,它和图形设备中的可视 化管道相联系,并通过一个向上对照表( 训( l o o k u p t a b l e ) 来映射数据,给数据着色。 m a p p e f v t l ( p o l y d a t a m a p p e r :n e w ( ) ; m a p p e r - s e t l o o k u p t a b l e ( 1 u t ) ; 指定查找表 m a p p e r - s e t i n p u t ( p l a i l e - g e t o u t p u t ( ) ) ; 设定输入 m 叩p e r - s e t s c a l a r r a l l g e ( 0 15 ,0 5 ) ; 设定属性最大值和最小值 ( 6 ) 光照( “g h t ) ,控制场景中光照模型,包括光源的位置、颜色等属性。 l i g h t = 硼 【l i g h t :n e w ( ) ; 1 7 河海大学硕士学位论文 l i 曲t 一 s e t c o l o “l ,0 ,0 ) ; 设置光的颜色 l i g h t - s e t f o c a l p o i m ( c 锄一 g e t f o c a l p o i n t ( ) ) ; 设置光线焦点 l i g h t - s e t p o s i t i o n ( c 锄- g e t p o s i t i o n ( ) ) ;设置光源位置和相机位置一样 r e l l 一 a d d l i 曲t ( 1 i 曲t ) ; 将光源与绘制器关联 ( 7 ) 照相机( c a r i l e r a ) ,控制三维几何体如何在图像显示过程中被表现为二维的图形。 照相机有几个关于位置,焦点和方向的方法。 c a m = v t k c a m e r a :n e w o ; c a m - s e t c l i p p i n g l t a l l g e ( o 。0 4 7 ,2 3 7 ) ; 设置视场法向范围 c 锄- s e t f o c a c l p o i n t ( 0 ,o ,o ) ;设置相机焦点坐标 c 锄 s e t p o s i t i o n ( 0 ,o ,2 ) ; 设置照相机位置 c a m 一 c o m p u t e e w p l a i l e _ n o r m a l ( ) ; 重置视场法向 c a i i l 一 s e f v i e 、v u p ( - o 0 2 ,o 9 9 ,0 0 3 4 ) ; 设置视场上下方向 r e n s e t a c t i v e c 跚e r a ( c 锄) ;将照相机与绘制器关联 ( 8 ) 属性( p r o p e n y ) ,用于设置a c t o r 的颜色、亮度、纹理图、绘制方式和阴影方式 等表面属性,其中主要是控制显示实体的透明度、环境光照系数、漫反射系数、镜面系数 和镜面光强度等。 a c t o r - g e t p r o p e 啊( ) _ s e t o p a c i t y ( o 2 5 ) ; 设置透明度 a c t o r - g e t p r o p e r 哆( ) 一 s e t a m b i e n t ( 0 5 ) ;设置环境光照系数 a c t o r - g e t p r o p e r t y ( ) - s e t d i f j 瞰s e ( o 6 ) ; 设置漫反射光系 a c t o r - g e t p m p e r t ) ,( ) s e t s p e c u l 呱1 o ) ; 设置镜面光系数 a c t o r g e t p r o p e r 够( ) - s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 社会工作个案社会工作
- 高级讲师自我介绍课件
- 背诵量大的职业考试题及答案
- 北京高压电工考试试题及答案
- 北京高二数学月考试卷及答案
- 北航复试模拟考试题目及答案
- 保险高管考试题库及答案c类
- 保卫室的考试题及答案是什么
- 电焊使用知识培训内容课件
- 包头中考考试试题分析及答案
- DB51∕T 2868-2022 机关事务应急保障规范
- 高中艺术特长生合同协议
- 要素式强制执行申请书(申请执行用)
- 慢性根尖周炎病例汇报
- 2025年秋数学(新)人教版三年级上课件:第1课时 几分之一
- 公司项目谋划管理办法
- 2025年职业指导师考试试卷:职业指导师专业能力
- 小学英语人教版四年级下册 巩固强化练(含答案)
- 防暴器材使用管理办法
- 2025-2026学年粤教粤科版(2024)小学科学二年级上册(全册)教学设计(附目录)
- 钢梁步履式顶推技术规范
评论
0/150
提交评论