(计算机应用技术专业论文)光线投射体绘制算法关键技术研究.pdf_第1页
(计算机应用技术专业论文)光线投射体绘制算法关键技术研究.pdf_第2页
(计算机应用技术专业论文)光线投射体绘制算法关键技术研究.pdf_第3页
(计算机应用技术专业论文)光线投射体绘制算法关键技术研究.pdf_第4页
(计算机应用技术专业论文)光线投射体绘制算法关键技术研究.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(计算机应用技术专业论文)光线投射体绘制算法关键技术研究.pdf.pdf 免费下载

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

文档简介

摘要 科学计算可视化是发达国家2 0 世纪8 0 年代后期提出并发展起来的一个新研究领域。它 运用计算机图形学和图像处理技术,将科学计算过程中产生的数据转换为图形及图像在屏幕 上显示出来并进行交互处理。 科学计算可视化技术的核心是三维空间数据场的可视化,而体绘制是近年来迅速发展起 来的一种三维数据场可视化方法,是当前可视化研究的热点。光线投射算法作为体绘制的经 典算法,其原理采用为每个体素分配不透明度和颜色的方法来合成图像,因此有利于保留图 像的细节,绘制高品质的图像,特别适用于绘制区域特征模糊的三维图像,因而得到了广泛 应用。 本文首先对科学计算可视化发展现状、体绘制技术总体的进行了一下探讨和研究,分类 阐述了体绘制技术实现的几种主要算法,分析了它们的差异和特点。 然后介绍了体绘制技术实现的理论基础,主要是介绍了体数据的特点、空间变换、投影 变换、三维裁剪等,并研究了体绘制的光学模型,以确保实现有可靠的理论依据。 接下来用c + + 语言实现了光线投射体绘制算法。其中内容包括:详细给出光线投射体绘 制算法的原理和数据分类、不透明度和颜色赋值、重采样、图像合成等技术的实现,并采用 了自适应光线终止法等方式提高了运行速度。 由于传递函数的设计一直是体绘制技术高质量显示效果的瓶颈。本文还分析了传递函数 设计的进展情况,并且根据由前向后合成方式的特点,提出并实现了一种传递函数实现方案, 给出了实验结果。 最后实现了软件系统光线投射体绘制算法实验平台。该系统主要采用了体绘制的光 线投射算法。系统的特色在于实现了体绘制算法某些步骤的控制接口,通过人机交互用户可 以根据需要进行如下操作:合成方式、选择采样步长、传递函数选择、切片数据观察、选择 绘制图像大小、视线方向等。系统对于某些特定v o l 格式的体数据具有通用性。 关键词:科学计算可视化;体绘制;光线投射;体素;传递函数:分类;不透明度;重采样 合成。 a b s t r a c t v i s u a l i z a t i o ni ns c i e n t i f i cc o m p u t i n gi san e wf i e l dw h i c ht h ed e v e l o p e dc o u n t r i e sp u t f o r w a r dt oi nt h el a t e8 0 s i nt h e2 0 t hc e n t u r y i ta p p l i e sc o m p u t e rg r a p h i c sa n di m a g ep r o c e s s i n g t e c h n i q u et ot r a n s f o r mt h ed a t af r o mt h ep r o c e s so fs c i e n t i f i cc o m p u t i n gi n t og r a p h i c so ri m a g e s w h i c hw i l lb ed i s p l a y e do nt h es c r e e n t h ec o r eo fv i s u a l i z a t i o ni ns c i e n t i f i cc o m p u t i n gi sv i s u a l i z a t i o nf o rt h r e e d i m e n s i o n a ld a t a f i e l d s v o l u m er e n d e r i n g t e c h n i q u ei sar a p i d l yd e v e l o p e dv i s u a l i z a t i o nm e t h o do fv i s u a l i z a t i o nf o r t h r e e d i m e n s i o n a ld a t af i e l d si nr e c e n ty e a r s a sac l a s s i c a la l g o r i t h m ,t h ep r i n c i p l eo fr a y c a s t i n g a l g o r i t h mc o m p o s i t et h ef i n a li m a g eb yd i s t r i b u t i n ga l lo p a c i t yv a l u ea n dac o l o rv a l u et oe a c h v o x e l s oi tc a nm a k eh i g hq u a l i t yi m a g ea n dr e s e r v ed e t a i li n f o r m a t i o no fv o l u m ed a t at ou s er a y c a s t i n ga l g o r i t h m r a yc a s t i n ga l g o r i t h mi sp a r t i c u l a r l yf o rs u c ht h r e e d i m e n s i o n a li m a g ew h o s e r e n d e r i n ga r e ai sb l u r s oi th a saw i d e l yu s e h l t h i st h e s i s t h ed e v e l o p m e n to fv i s u a l i z a t i o ni ns c i e n t i f i cc o m p u t i n ga n dv o l u m e r e n d e r i n gt e c h n i q u e i si n t r o d u c e df i r s t i te x p l a i n st h ec l a s s i f i c a t i o no ft h ev o l u m er e n d e r i n g a l g o r i t h m ,t h ec h a r a c t e r i s t i ca n dt h ed i f f e r e n c e sa m o n g t h ea l g o r i t h m s t h et h e s i si l l u m i n a t e st h et h e o r yb a s i so fv o l u m er e n d e r i n g ,i n c l u d i n gt h ec h a r a c t e r i s t i co f v o l u m ed a t a ,s p a c et r a n s f o r m ,p r o i e c t i o nt r a n s f o r m ,t h r e e - d e m e n t i o n a lc l i p p i n ge t c ,a n dt h e o p t i c a lm o d e l sf o rv o l u m er e n d e r i n g r a yc a s t i n ga l g o r i t h mi si m p l e m e n t e du s i n gc + + i n c l u d i n gt h ek e yt e c h n i q u es u c ha s c l a s s i f i c a t i o n ,d i s t r i b u t i n go p a c i t ya n dc o l o rv a l u et oe a c hv o x e l ,r e s a m p l i n g ,c o m p o s i t i o ne t c a d a p t i v er a yt e r m i n a t i o nm e t h o di su s e dh e r et oi m p r o v e t h es p e e d d u r i n gt h ep i p e l i n eo fv o l u m er e n d e r i n g ,t h ed e s i g n i n go ft r a n s f e rf u n c t i o nh a sa l w a y sb e e na b o t t l e n e c kt om a k eah i g hq u a l i t yi m a g e t h ei m p r o v e m e n to ft r a n s f e rf u n c t i o ni sd i s c u s s e dh e r e b a s e do nf r o n t t o - b a c kc o m p o s i t i n gm a m l e r , an e wk i n do ft r a n s f e rf u n c t i o n si si m p l e m e n t e dh e r e a n dt h ee x p e r i m e n tr e s u l t sa r e 百v e n f i n a l l y , as o f t w a r es y s t e mn a m e de x p e r i m e n tp l a t f o r mf o rr a yc a s t i n gi si m p l e m e n t e d t h e f e a t u r eo ft h es y s t e mi sr e a l i z i n gac o n t r o li n t e r f a c ef o rs o m es t e po ft h ea l g o r i t h ms ot h a tt h eu s e r c a nm a k es u c ho p e r a t i o nn e c e s s a r i l ya sc o m p o s i t i o ns e l e c t i n g ,r e s a m p l i n gs t e pl e n g t hs e l e c t i n g , t r a n s f e rf u n c t i o ns e l e c t i n g , s l i c ev i e w i n g , i m a g er e s i z i n ga n dv i e w i n gd i r e c t i o ns e l e c t i n g t h e s y s t e mi su n i v e r s a lt os o m eo f v o l v o l u m e d a t a k e y w o r d s :v i s u a l i z a t i o ni n s c i e n t i f i c c o m p u t i n g ;v o l u m er e n d e r i n g ;r a yc a s t i n g ;v o x e l ; t r a n s f e rf u n c t i o n ;c l a s s i f i c a t i o n ;o p a c i t y ;r e s a m p l i n g ;c o m p o s i t i o n i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得丞洼理王太堂 或其他教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献 均已在论文中作了明确的说明并表示了谢意。 学位论文作者签名:烈媲数签字日期:沙形年月钥 学位论文版权使用授权书 本学位论文作者完全了解云洼理王太堂有关保留、使用学位论文的规 定。特授权丞洼理王太堂可以将学位论文的全部或部分内容编入有关数据 库进行检索,并采用影印、缩印或扫描等复制手段保存、汇编,以供查阅和借 阅。同意学校向国家有关部门或机构送交论文的复本和电子文件。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:副、瓤毂导师签名:;移彬华 签字目期: 加年7 月钥 签字日期: 。厂年陋月讨目 第一章绪论 1 1 研究背景 1 1 1 科学计算可视化的意义 第一章绪论 科学计算可视化( v i s u a l i z a t i o ni ns c i e n t i f i cc o m p u t i n g ) 是发达国家2 0 世纪8 0 年代后期 提出并发展起来的一个新的研究领域。科学计算可视化是运用计算机图形学和图像处理技 术,将科学计算过程中的计算结果数据转换为图形及图像在屏幕上显示出来并进行交互处理 的理论、方法和技术。 科学计算可视化将图形生成技术、图像处理技术和人机交互技术结合在一起,它涉及到 计算机图形学、图像处理、计算机辅助设计、计算机视觉及人机交互技术等几个领域。图 1 - 1 说明了科学计算可视化中各相关技术的关系l l j 。从图中可以看出,科学计算可视化是一 门与多个技术领域有关的交叉学科。 圈像提取 计算机视觉) 蕾 摄博机, 囵 变换 科学和符号计算) 圈像综台 计算帆图形学 传脑器 ( 阁蠢蓥理) 轻示器 图1 - 1 科学计算可视化学科分类图 实现科学计算的可视化具有多方面的重要意义。它可以大大加快数据的处理速度,使目 圆一 一 一 r 晟 第一章绪论 前每时每刻都在产生的庞大的数据得到有效的利用;它可以在人与数据、人与人之间实现图 像通信,而不仅是目前的文字通信或数字通信,从而可使人们观察到传统的科学计算中发生 了什么现象,成为发现和理解科学计算过程中各种现象的有力工具;它还可以使人们对计算 过程实现引导和控制,通过交互手段改变计算所依据的条件并观察其影响。总之,科学计算 的可视化将极大地提高科学计算的速度和质量,实现科学计算工具和环境的进一步现代化, 从而使科学研究工作的面貌发生根本性的变化。 1 1 2 科学计算可视化研究现状 科学计算可视化的应用领域十分广泛,几乎涉及自然学科技工程技术的一切领域。主要 应用领域为医学、地质勘探、气象学、分子模型构造、计算流体力学和有限元分析等。此外, 科学计算可视化还可应用于空间探测、天体物理、数学领域等。 近1 0 年来,在美国、德国、日本等发达国家的著名大学、国家实验室及大公司中,科 学计算可视化的研究工作及应用实验十分活跃,其技术水平正在从后处理向实时跟踪和交互 控制发展,并且已经将超级计算机、光纤高速网、高性能图形工作站及虚拟现实四者结合起 来,体现出这一领域技术发展的重要方向。比较著名的研究成果有: ( 1 ) 可见人体( v i s i b l eh u m a n ) 。美国国家医学图书馆于1 9 9 1 年委托科罗拉多大学 医学院建立起一个男人和一个女人的全部解剖结构的数据库。 ( 2 ) 人类胚胎的可视化。美国依利诺大学芝加哥分校研制了一个在工作站和超级计 算机上运行的胚胎可视化软件,可对一个7 周的人类胚胎实现交互的三维显示。 ( 3 ) 分布式虚拟风洞( d i s t r i b u t e d v i r t u a lw i n dt u n n e l ) 。美国国家宇航局a m e s 研究中 心的研究成果。用一台超级计算机进行飞行器的流体力学模拟计算。 ( 4 ) 大气及流体可视化软件( p a t h f m d e 0 。美国国家超级计算机应用中心( n c s a ) 的 研究成果。通过多个相联系的模型,在交互及分布环境下研究暴风雨的形成规 律。 ( 5 ) 狗心脏c t 数据的动态显示。美国国家超级计算机应用中心的研究项目,利用 远程的并行计算资源,用体绘制技术实现了不同时刻c t 扫描数据的连续动态 显示。 ( 6 ) 燃烧过程动态模型的可视化。美国西北大学的研究项目,可以显示发生在非绝 热的气体燃烧中复杂的瞬态图像。 我国科学计算可视化研究开始于9 0 年代初,主要应用于气象、空气动力学、核技术等 领域。近年来,随着p c 功能的提高、各种图形显卡以及可视化软件的发展,可视化己扩展 到科学研究、工程、军事、医学、经济等各个领域。至今,我国不论在算法方面,还是在油 气勘探、气象、计算力学、医学等领域的应用方面,都已取得了一大批可喜的成果。例如浙 江大学在1 9 9 5 年研究和开发了基于数据流机制的通用可视化系统平台g i v e n s i “,清华大 学在频域体绘制技术方面的研究成果【3 1 ,西北大学可视化研究所研制的三维医学可视化分析 平台【4 】【5 i 等。但是,我国在科学计算可视化方面的研究规模从总体上来说,与国外先进水平 还有相当的差距,特别是在商业软件方面,还是空白。因此,组织力量开发可视化商业软件 第一章绪论 已成为当务之急。 1 2 体绘制算法综述 1 2 1 体绘制的特点 科学计算可视化的核心问题是三维空间数据场的可视化问题。体绘制( v o l u m e r e n d e r i n g ) 算法是三维空间数据场可视化算法的一种。与另一种可视化算法面绘制算法 1 6 】1 7 j 不同,体绘制算法并不构造中间几何图元,而是直接由三维数据场产生屏幕上的二维图 像,因此也称为直接体绘制( d i r e c tv o l u m er e n d e r i n g ) 算法。这是近年来得以迅速发展的 一种三维数据场可视化方法。这种算法能产生三维数据场的整体图像,包括每一个细节,并 具有图像质量高、便于并行处理等优点。其主要问题是,计算量很大,且难以利用传统的图 形硬件实现绘制,因而计算时间较长。 三维空间分布在离散网格点上的数据一般是由三维连续的数据场经过断层扫描、有限元 分析或随机采样后作插值运算取得的。图形设备屏幕上的二维图像则是由存放在帧缓存中的 二维离散信号经图形硬件重构而成。体绘制算法的作用就是将离散分布的三维数据场,按照 一定的规则转换为图形显示设备帧缓存中的二维离散信号,即生成每个像素点颜色的r 、g 、 b 值。尽管有多种不同的体绘制算法,但其实质均为重新采样与图像合成。如图1 2 所示。 1 2 2 体绘制算法分类 有元分析 l 断层扫摧 离散的三维数据场 i直接体 上 l 图形硬惘 屏幕二维图像 图1 - 2 体绘制概念示意图 目前体绘制方法主要分两类【8 1 : ( 1 ) 以图像空间为序的体绘制方法 3 第一章绪论 已成为当务之急。 1 2 体绘制算法综述 1 2 1 体绘制的特点 科学汁算可视化的核心问题是三维空间数据场的可视化问题。体绘制( v o l u m e r e n d e r i n g ) 算法是三维空间数据场可视化算法的一种。与另一种可视化算法面绘制算法 1 6 j 1 1 不同,体绘制算法并不构造中间几何图元而是直接由三维数据场产生屏幕上的二维图 像,因此也称为直接体绘制( d i r e c tv o l u m er e n d e r i n g ) 算法。这是近年来得蛆迅速发展的 一种三维数据场可视化方法。这种算法能产生三维数据场的整体图像,包括每一个细节,并 具有图像质量高、便于并行处理等优点。其主要问题是,计算量很大,且难以利用传统的图 形硬件实现绘制,因而计算时间较长。 三维空间分布在离散网格点上的数据一般是由三维连续的数据场经过断层扫描、有限元 分析或随机采样后作插值运算取得的。图形设备屏幕上的二维图像则是由存放在帧缓存中的 二维离散信号经图形硬件重构而成。体绘制算法的作用就是将离散分布的三维数据场,按照 一定的规则转换为图形显示设备帧缓存中的二维离散信号,即生成每个像素点颜色的r 、g 、 b 值。尽管有多种不同的体绘制算法,但其实质均为重新采样与图像合成。如图1 2 所示。 1 2 2 体绘制算法分类 有 三维空间莲续数据场 i 分析断层扫描 离敞的三维数据场 直接体女 桢缓存中的- 二维离散情号 l 图形硬佴 i 屏幕二维图像f 图1 - 2 体绘制概念示意图 目前体绘制方法主要分两类【8 1 : ( 1 ) 以图像空间为序的体绘制方法 ( 1 ) 以图像空间为序的体绘制方法 第一章绪论 已成为当务之急。 1 2 体绘制算法综述 1 2 1 体绘制的特点 科学计算可视化的核心问题是三维空间数据场的可视化问题。体绘制( v o l u m e r e n d e r i n g ) 算法是三维空间数据场可视化算法的一种。与另一种可视化算法面绘制算法 1 6 】1 7 j 不同,体绘制算法并不构造中间几何图元,而是直接由三维数据场产生屏幕上的二维图 像,因此也称为直接体绘制( d i r e c tv o l u m er e n d e r i n g ) 算法。这是近年来得以迅速发展的 一种三维数据场可视化方法。这种算法能产生三维数据场的整体图像,包括每一个细节,并 具有图像质量高、便于并行处理等优点。其主要问题是,计算量很大,且难以利用传统的图 形硬件实现绘制,因而计算时间较长。 三维空间分布在离散网格点上的数据一般是由三维连续的数据场经过断层扫描、有限元 分析或随机采样后作插值运算取得的。图形设备屏幕上的二维图像则是由存放在帧缓存中的 二维离散信号经图形硬件重构而成。体绘制算法的作用就是将离散分布的三维数据场,按照 一定的规则转换为图形显示设备帧缓存中的二维离散信号,即生成每个像素点颜色的r 、g 、 b 值。尽管有多种不同的体绘制算法,但其实质均为重新采样与图像合成。如图1 2 所示。 1 2 2 体绘制算法分类 有元分析 l 断层扫摧 离散的三维数据场 i直接体 上 l 图形硬惘 屏幕二维图像 图1 - 2 体绘制概念示意图 目前体绘制方法主要分两类【8 1 : ( 1 ) 以图像空间为序的体绘制方法 3 第一章绪论 以图像空间为序的体绘制方法是从屏幕上每一象素点出发,根据视点方向,发射出一条 射线,这条射线穿过三维数据场,沿射线进行等距采样,求出采样点处物体的不透明度和颜 色值。可以按由前到后或由后到前的两种顺序,将一条光线上的采样点的颜色和不透明度进 行合成,从而计算出屏幕上该象素点的颜色值。这种方法是从反方向模拟光线穿过物体的过 程。 光线投射算法【9 】【1 0 l 是一种基于图像空间的经典体绘制算法,由l e v o y 提出。其基本原理 是根据视觉成像原理,构造出理想化的物理视觉模型,即将每个体素都看成为能够透射、发 射和反射光线的粒子,然后根据光照模型或明暗模型,依据体素的介质特性得到它们的颜色 和不透明度,并沿着视线观察方向积分,最后在象平面上形成具有半透明效果的图像。光线 投射体绘制算法比较容易理解,采用为每个体素分配不透明度和光强的方法来合成图像,因 此有利于保留图像的细节,绘制高品质的图像,特别适用于绘制区域特征模糊、体索特征相 关性高的三维图像;但也正因为需对每一个体素进行操作,极大地限制了绘制速度。 ( 2 ) 以物体空间为序的体绘制方法 以物体空间为序的体绘制方法首先根据每个数据点的函数值计算该点的颜色及不透明 度,然后根据给定的视平面和观察方向,将每个数据点投影到图像平面上,并按数据点在空 间中的先后遮挡顺序,合成计算不透明度和颜色,最后得到图像。以物体空间为序的体绘制 方法的代表算法有典型的以物体空间为序的体绘制方法有v - b u f f e r 算、法【1 1 l 、频域体绘制【1 2 1 、 错切变形算法、足迹算法、相关性投影法 1 3 j 、纹理映射法【1 4 j 等。 足迹算法首先由w e s t o v e r 提出,其原理1 1 5 】是先选择重构核,预计算通用足迹表,然后 将体数据转换到图像空间,查表找出体素对于像素的贡献值,最后合成图像。其实质也可看 着为将体数据与函数核作卷积,再沿视线的反方向投射积累到象平面的过程。足迹法的最大 的优点是只有与图像有关的体素才会被映射到象平面,从而可以大大地减少需要处理和存储 的数据量,从而提高了绘制速度并且减小了内存的消耗。 光线投射算法与足迹算法都存在一个问题,就是计算量大、计算时间。理论分析和试验 测试都表明,主要的计算量用于三维离散数据场的重新采样上。错切变形算法【1 7 】将三维 离散数据场的投影变换分解为三维数据场的错切变换和二维图像的变形两步来实现,从而将 三维空间的重采样过程转换为二维平面的重采样过程,大大减少了计算量。三维离散数据场 先由物体空间变换到错切物体空间,然后在错切物体空间中将错切后的三维离散数据场中各 采样点的颜色值投射到错切物体空间的中间图像平面上形成中间图像,最后将中间图像变换 到图像空间生成结果图像。 每一种体绘制算法都有不用分割,可利用不透明度得到物体整体层次结构的特点。但是 这算法由于基本原理的不同,生成的图像品质和绘制速度,以及对配置的要求都有很大的不 同。在实际应用中可根据现有的硬件条件与具体的应用要求,来选择相应的算法来匹配图像 品质与绘制速度之间的最佳方案。 第一章绪论 1 3 本文研究内容与创新 1 3 1 主要内容 本文主要是针对光线投射算法某些关键技术进行的研究,对经典算法应用当前比较流行 的技术进行了重新实现,并且针对其中某些关键问题提出了改进和创新。各章工作如下: 第一章是绪论,对科学计算可视化产生的意义、可视化技术的研究现状进行了概述。随 后介绍了科学计算可视化的重点问题体绘制算法,对体绘制算法的特点及分类作了简要 的概述。最后介绍了本论文的内容以及创新点。 第二章介绍了算法实现的理论基础及依据,包括体数据分类和描述、图形学基础、体绘 制的数学模型。 第三章详细阐述本文中所采用的光线投射体绘制算法是如何在o p c n g l 环境下应用c + + 语言实现的,并且研究了算法的加速方法。 第四章针对传递函数问题进行了研究与讨论,根据由前向后合成方式的特点,提出并实 现了一种新型的传递函数实现方案,最后在光线投射算法中应用上述方案并给出了实验结 果。 第五章介绍了实现上述研究成果的软件系统的过程、系统实现的功能、系统流程示意图 和算法流程示意图,讨论了系统中关键技术的代码实现。 最后是总结和展望,对论文所作的工作做了总结并对后继研究工作提出了几点设想。 1 3 2 创新点 本文的创新点如下: 1 提出了一种新型的传递函数模型,特点在于计算量小,运行速度快,而且对于某些 体数据显示效果很好,有一定通用性。 2 采用了具有头文件结构的体数据,使所实现的可视化系统具有一定的通用性。 3 在o p c n g l 环境下基于m f c 平台实现光线投射算法,提供了友好的用户界面和交互 平台并且使软件系统的升级更为方便。 第二章体绘制实现基础 2 1 体数据分类和描述 2 1 1 体数据的分类 第二章体绘制实现基础 科学计算可视化技术的核心就是三维空间数据场的可视化【”。数据来源不同,主要有两 类:一类是由测量得到的,这类数据有三维规则的c t 数据、m r i 数据等,它们的特点是数 据表现出一定的不确定性,即受测量设备精度、环境和其他一些不可知因素影响。另一类是 通过计算得到的,如计算流体力学中产生的各类二维、三维流场,场中各点上的数据是精确 的,即在规定的误差范围之内,数据的大小精确的反映了物理量的大小或物理现象的变化, 场中数据的精确性由产生数据的计算程序来保证。实现三维空间数据场可视化的算法与数据 类型有极大的关系。 数据类型有两层含义,一是数据本身的类型,二是数据分布及连接关系的类型。根据数 据本身类型来分类,在科学计算可视化中,可以实现三种不同类型的数据的可视化,分别为 标量、矢量和张量:( 1 ) 标量:可以用一个不依赖于坐标系的数字表征其性质的量,如密度、 温度、质量等;( 2 ) 矢量:需要用不依赖于坐标系的数字及方向表征其性质的量,如位移、 速度、加速度等;( 3 ) 张量:将矢量按以坐标变换为基础的定义加以推广得出的量。 可视化的对象一般都是空间上离散的三维数据,根据三维空间上离散数据之间连接关系 分类,可分为以下几类:( 1 ) 结构化数据:逻辑上组织成三维数组的空间离散数据;( 2 ) 非 结构化数据:不能组织成三维数组的系列空间数据单元;( 3 ) 结构化和非结构化混合型数据。 根据结构化数据中各元素的不同的物理分布,又可分为规则网格和不规则网格结构化数据。 其中的规则数据场就是由均匀网格或网格组成的结构化数据。由c t 扫描仪或m r i 扫描仪获 得的一系列二维医学图像就属于这一类型的数据,它能较好的反映物体特征,结构示意如下 图2 - 1 所示,每个网格是结构化数据的一个元素,称之为体素( v o x e l ) 。假定数据场的函数 值分布在体素的8 个顶点上,那么,位于顶点( x i ,y i ,z 0 处的函数值为f ( x i ,y j ,z k ) 。 第二章件绘制实现摹础 2 1 2 体数据的描述 图2 - 1 体数据的表示 本系统中使用的是以扩展名为v o l 的文件存放的体数据。图像是由一定数目由黑到白 不同灰度的象素按矩阵排列所构成,这些象素反映的是相应体素的x 线吸收系数。系统中 使用的v o l 格式的数据中每一张断层图像上的象素信息组成一个二维数组,数组中每个象 素值介于0 - 2 5 5 之间。这些扫描的图像数据存储在维数组中,它的优点在于不丢失信息, 而且处理速度相对于三维数组要快。本文中采用的存储方式为一维数组。 v o l 格式数据具有各向异性的特性,就是说三维数据在x ,y z 方向上采样点的间距可能 不一致。拿3 d h e a d 数据为例,在x , y 方向上采样点间距为l m m ,在z 方向上采样点间距 为1 4 r a m 。所以在使用过程中需要重组三维数据场空间使其变为均匀规则的三维场,即让 x y , z 方向上采样点的间距都为l m m 。 v o l 格式体数据文件的格式包括文件头信息( 二进制格式) 和数据信息两部分。文件 头的长度是可变的,如下: v o l u m e h e a d e r m t m a r c 版本号 l n th e a d e r ,头部信息总字节数1ength i n t w i d t h 图像宽度,即x 值 i n t h e i g h t 图像高度,即y 值 i n t i m a g e s 切片数,即z 值 l 。n tb i t sp e r l 。n ti n d e xb i t s 索引值所占b i t 数 f l o a ts c a l e x x 方向的刻度值 f l o a t s c a l e y y 方向的刻度值 f l o a ts c a l e z z 方向的刻度值 f l o a tr o t x 绕x 轴的旋转角度 f l o a t r o t y 绕y 轴的旋转角度 f l o a tr o t z 绕z 轴的旋转角度 第二章体绘制实现基础 c h a r 4 m a n u f a c t u r e r 图片制造者,a s c h 码存放 c h a r * o r i g i n a lf i l en a m e 体数据名称,a s c h 码存放 ) 头部信息之后,存放的就是三维体数据的详细信息。需要注意的是,i n t ,f l o a t 等类型的 字节排列顺序在u m x 系统和p c 上是相反的。而原始v o l 格式的数据是存放在u n i x 系 统上的,所以在数据读入的实现过程中首先要交换字节顺序。 本系统中使用的体数据以扩展名为v o l 的文件存放,其二进制文件头信息以a s c i i 码 的格式存放在扩展名为h d r 的文件中,而关于数据集的描述信息存放在扩展名为i n f 的文 件中。 2 2 空间变换 空问变换是以三维几何变换为基础的。三维几何变换包括三维基本几何变换和三维复合 变换。三维基本几何变换都是相对于坐标原点和坐标轴进行的几何变换,而三维复合变换是 指图形作一次以上的变换,变换结果是将每次需要的三维基本变换矩阵相乘。在软件系统开 发过程中涉及到的大多都是三维复合变换,但三维复合变换是以三维基本几何变换为基础 的。本文中主要涉及到下述几种三维变换【1 8 】。 2 2 1 平移变换 假设三维空间中任一点( x ,y z ) ,经x ,y ,z 轴方向分别移动距离】【,y ,z 后得到点 ( x ,y ,z ) ,如图2 - 2 所示: 则其坐标间的关系以矩阵表示为: o p e n g l 函数【1 9 实现为: 图2 - 2 平移示意图 刚雕 ( 2 1 ) 第二章体绘制实现基础 v o i dg i t r a n s l a t e f d ( t y p ex , t y p ey ,t y p ez ) ; 三个函数参数就是目标分别沿三个轴向平移的偏移量。这个函数表示用这三个偏移量生 成的矩阵乘以当前矩阵。 2 2 2 缩放变换 侣7 一, 、x ,y ,z ) ,经缩放变换后得到点( x ,y ,z ) ,如图2 - 3 所示 图2 - 3 缩放示意图 这两点间的坐标关系以矩阵形式为: 眺渊习 ( 2 2 ) 其中s ;,s ,s z 分别为沿着x ,y ,z 轴方向放大或者缩小的比例。 o p e n g l 函判1 9 1 实现为: v o i dg l s c a l e f d ( t y p ex , t y p ey , t y p ez ) ; 三个函数参数值就是目标分别沿三个轴向缩放的比例因子。这个函数表示用这三个比例 因子生成的矩阵乘以当前矩阵。这个函数能完成沿相应的轴对目标进行拉伸、压缩和反射三 项功能。 2 2 3 旋转变换 旋转分为两种情况,一种是绕三根基本轴的旋转,另外一种就是绕一根任意轴进行旋转a 下面分情况说明: ( 1 ) 绕基本轴旋转 设旋转的参考点在所绕的轴上,绕轴转0 角,方向是从轴所指处往原点看的逆时针方向, 如图2 - 4 所示: 第二章体绘制实现基础 匡 ( 2 ) 绕任意轴旋转 如果旋转所绕的轴不是坐 “一,:扛 。【一cso芋s8目csi譬n8 茸; i 。:3 , 图2 - 5 绕任意轴旋转示意图 其变换过程比较复杂,必须经过5 个基本变换的级联才能完成: a 1 平移物体使得旋转轴通过坐标原点; b 、旋转使得旋转轴与某一坐标轴重合: c ) 绕坐标轴完成制定的旋转; d 、用逆旋转使旋转轴回到其原始方向; e 1 用逆平移使旋转轴回到原始位置。 复合旋转矩阵表示为: r o = t 1 1 1 0 1 ( n ) i i ,吒( 势) r l ( ¥) b ( # ) 1 i 乙( o ) t 其中平移矩阵为: 1 0 ( 2 4 ) 第二章体绘制实现基础 其中旋转矩阵为: t = r 。( y ) = r 。( 8 ) = r ,( b ) = 1 0 0 一玉 01 0 一h 00 1 一= l 000l c o s 芦 m n 7 0 口 。盥n c o s 7 0 a 00 00 10 01 0 0 c o s d一盟n 廛 s 1 n 盘 s 口 00 c o s j b 0 一s i n 口 0 s i n 口 0 c o s 口 0 ( 2 5 ) ( 2 6 ) ( 2 7 ) ( 2 8 ) o p c n g l 函数【1 9 l 实现为: v o i dg l r o t a t e f d ( t y p ea n g l e ,t y p ex , t y p ey t y p ez ) ; 函数中第一个参数是表示目标沿从点( x ,y z ) 到原点的方向逆时针旋转的角度,后三个参 数是旋转的方向点坐标。这个函数表示用这四个参数生成的矩阵乘以当前矩阵。 2 3 投影变换 通常在三维坐标系统中表示一个物体,都是用该物上点的坐标分量( x ,y z ) 来描述,若要 将一个三维坐标系中的物体在一个二维的平面,如纸面、荧光屏上显示出来,必须对三维物 体进行投影。象这样把三维物体转变为二维图形表示的过程就被称为投影变换l 甚j 。 投影的要素除投影对象,投影面外,还有投影线。根据投影中心到投影面的距离不同, 可以将投影分为两种基本的方法: a 1 透视投影( p e r s p e c t i v ep r o j e c t i o n ) :使用一组由投影中心产生的放射投影线,将三维对 象投影到投影平面上去。 b 、平行投影( p a r a l l e lp r o j e c t i o n ) :使用一组平行投影将三维对象投影到投影平面上去。 1 1 0 0 0 l - d 0 0 l 第二章体绘制实现基础 图2 - 6 投影变换示意图 线 段 b 平行投影保持物体的有关比例不变,所有尺寸相同的物体看起来都一样大,无论它们是 离得很远还是靠的很近。而透视投影是越靠近视见空间前部的对象看起来越接近于其原始尺 寸,靠近此空间后部的对象在投影到空间前部时缩小了,这样的投影保持了最大的真实感。 在体绘制算法实现中,一般都是采用计算较简单的平行投影法。这是由于透视投影的计 算量和复杂度会大于平行投影的计算,并且最终的结果也不一定会增加更大程度的可见信息 和立体感。另外一方面,所要显示的三维模型与屏幕的显示尺寸相差不是很大。 本软件系统中采用的就是平行投影方式的一类三视图,包括主视图、侧视图和俯视 图三种,投影面分别与x 轴、y 轴和z 轴垂直,如图2 7 所示。 n 主视图侧税圈 般。 xy 俯视稠 图2 7 三维形体及三视图 其投影变换步骤为: a 1 确定三维形体上各点的位置坐标: b 1 引入齐次坐标,求出所作变换相应的变换矩阵; c ) 将所作变换用矩阵表示,通过运算求得三维形体上各点x ,y ,z ) 经变换后的相应点( x ,y ) 或( y ,z ) ; d 1 由变换后的所有二维点绘出三维形体投影后的三视图。 投影变换最终的目的是将高维的体数据投影到二维的像平面上,其中存在的过程就是将 所有体素从物体空间转换到象空间。 f 射投影( o r t h o g r a p h i cp r o j e c t i o n ) o p e n g l 函数【1 9 1 实现如下: v o i dg l o r t h o ( g l d o u b l el e f t ,g l d o u b l er i g h t ,g l d o u b l eb o u o m ,g l d o u b l et o p ,g l d o u b l e n e a r , g l d o u b l ef a r ) ; v o i dg l u o r t h 0 2 d ( g l d o u b l el e f t ,g l d o u b l er i g h t , g l d o u b l eb o t t o m ,g l d o u b l et o p ) ; 1 2 第二章体绘制实现基础 2 4 三维图形的裁剪 由于显示屏面和绘图仪器的台面等都是二维的,而三维图形要在平面上表现出来,必须 要经过投影变换。我们常常要对己做过投影变换的二维图形相对于窗口或视见区进行裁剪。 但为避免根本不在投影窗口内的物体也作投影变换,直接对三维窗口进行裁剪也是有利的。 根据采用不同的投影方法,对三维窗口的裁剪方法也就不同。对于正投影或轴侧投影, 三维窗口为平行投影方法的无限柱体,也可截取其中的一段作为三维窗口。如图所示,在采 用正投影时,可以取长方体作为三维窗口。对这个三维窗口进行裁剪,把可见部分投影到投 影平面上,得到平面窗口内的图形,最后进行二维窗口到视见区的变换,并在视见区中显示 和绘图。也可把三维窗口中的物体直接变换到视见区上进行显示和绘图。本软件系统采用的 就是这种裁剪方式。 图2 8 三维裁剪不意豳 o p e n g l 函数实现【1 9 】三维裁剪用下面的函数实现: v o i dg l v i e w p o r t ( g i a n tx ,g l i n ty , g l s i z e iw i d t h ,g l s i z e ih e i g h t ) ; 函数参数( x ,y ) 是视口在屏幕窗口坐标系中的左下角点坐标,参数w i d t h 和h e i g h t 分别是 视口的宽度和高度。缺省时,参数值即( 0 ,0 ,w i n w i d t h ,w i n h e i g h t ) 指的是屏幕窗口的实际尺 寸大小。所有这些值都是以象素为单位,全为整型数。 2 5 光学模型 体绘制技术是将三维空间的离散数据直接转换为二维图像而不必生成中间几何图元。三 维空间的离散采样点原本是不具有色彩属性的,也不具有灰度值。体绘制技术要实现的一个 功能就是,在重采样的基础上,计算全部采样点对屏幕像素的贡献,也就是每一个像素的光 强度值i ( i t e n s i t y ) 。为了实现这一功能,需要给出光学模型,用它来描述三维数据是如何产 生、反射、阻挡以及散射光线的,并从而计算出全部采样点对屏幕像素的贡献。 n e l s o n 在“直接体绘制中的光学模型”一文【冽中假设连续分布的三维数据场中充满着 第二章体绘制实现基础 小粒子,由于这些小粒子的发光、吸收、反射等功能时的光线通过三维数据场时发生了变化, 基于这一假设形成了以下几种不同的光学模型:光线吸收模型、光线发射模型、光线吸收与 发射模型。 ( 1 ) 光线吸收模型 假定三维空间中的小粒子可完全吸收所射入的光线,而无反射和发光功能,那么就构成 了一个光线吸收模型。 为简单起见,假定所有的粒子均为大小相同的球状体,其半径为r ,投影面积为a = 胛2 。 令。为单位体积内的粒子数。现假设有一个圆柱形薄板,其剖面面积为e ,厚度为厶,则圆 柱形薄板的体积为e 厶,如图5 所示。于是,此体积内的粒子总数n 为陋血。 昱旧 1 4 第= 章体绘制实现基础 表示了光线经过数据场的边缘到达s 这段距离后的光线强度,也成为透明度。如果定义a 为 这段距离的不透明度,则 a = 1 一r ( s )

温馨提示

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

评论

0/150

提交评论