(计算机应用技术专业论文)交互式仿真平台的文件结构设计与参数建模.pdf_第1页
(计算机应用技术专业论文)交互式仿真平台的文件结构设计与参数建模.pdf_第2页
(计算机应用技术专业论文)交互式仿真平台的文件结构设计与参数建模.pdf_第3页
(计算机应用技术专业论文)交互式仿真平台的文件结构设计与参数建模.pdf_第4页
(计算机应用技术专业论文)交互式仿真平台的文件结构设计与参数建模.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

武汉理工大学硕士学位论文 摘要 随着真实感计算机图形显示技术的发展和硬件的快速发展,为人们描述 现实中的三维世界提供了很大的方便和可能性。而且各个领域对计算机图形 技术的要求已经不再局限于生成平面的静止的图形。随着计算机仿真、虚拟 现实、三维游戏的发展,三维场景的刨建及其实时渲染显得越来越重要了。 本文结合国家自然科学基金的项目“分布交互三维视景行为一特征建模 方法研究”,主要研究了三维场景的导入与自定义文件结构,并尝试特征参 数建模,并加入了凹凸贴图的效果。 3 d s 文件是建模软件3 d m a x 的对外交换文件格式,它可以在其它的一些 软件如p o s e r 中被导入,许多其它的三维建模软件都支持3 d s 格式的文件, 因此它具有很好的通用性。 3 d s 文件只是包括了许多的几何信息,但是对于项目“分布交互三维视 景行为一特征建模方法研究”来说,仅仅有这些几何信息是不够的,为了体 现出交互性,我们还必须增加模型的物理和行为特性,为了记录这些特性, 我们就必须有相应的结构来进行记录。因此我们需要自定义的文件结构。 特征参数建模是本文的另一部分工作,所谓特征就是提取原型库当中基 本的模型的特点,然后根据参数的调节来改变它t f # l - 在的形状,而在原型库 中则只有一个,这样我们只要在原型库中存入少量的模型,就可以演变出大 量的模型,无疑减少了原型库的大小。当然提取特征也不是一件容易的事, 因为哪些才算特征这是很难说的,这里我们只是做了简单的探讨,用了一个 很简单的人体模型,只包括颈,胸,腰三部分,通过滑动条参数的调节,可 以将人的颈,胸和腰进行不同大小的调节,使之呈现不同的状态,这样就有 的人胖,有的人瘦,但由于人体之间连接处并没有做插值,所以看起来显的 不够自然。 【关键词】文件结构,特征建模,特征 武汉理工大学硕士学位论文 a b s t r a c t r e c e n t l y ,w i t ht h ed e v e l o p m e n t o ft h ep h o t o r e a l i s t i cd i s p l a yt e c h n o l o g yo f c o m p u t e rg r a p h i c sa n dt h ec o m p u t e rh a r d w a r e ,i t sp r o b a b l ea n d c o n v e n i e n tf o r u st od e s c r i b et h et h r e ed i m e n s i o n a lw o r l d w h a ti sm o r e t h er e q u i r e m e n to fa l l k i n d so ff i e l d st oc o m p u t e rg r a p h i c st e c h n o l o g yi sn o tc o n f i n e dt ot h ep l a i na n d s t i l l g r a p h i c s w i t ht h ed e v e l o p m e n to fc o m p u t e rs i m u l a t i o n ,v i r t u a lr e a l i t y , t h r e e d i m e n s i o n e dg a m e ,i t sm o r ei m p o r t a n tf o rt h e3 ds c e n e r yt ob u i l da n d r e a l t i m e l yr e n d e r t h ep a p e r , w h i c hi sb a s e do nt h ep r o j e c to fn a t i o n a ls c i e n c ef u n d b e h a v i o r c h a r a c t e r i s t i cm o d e l i n gf o rd i s t r i b u t e d i n t e r a c t i v e3 ds c e n e r ya n d t h e p r o e c t t h e d e v e l o p m e n to f d i s t r i b u t e da n di n t e r a c t i v e3 ds i m u l a t i o n p l a t f o r m ,c h i e f l y r e s e a r c ht h em o d e l i n go f3 ds c e n e r ya n ds e l f - d e f i n e df i l e f o r m a t ,a n dt r yf e a t u r em o d e l i n g ,i m p l e m e n tb u m p i n g t e x t u r e 3 d sf i l ef o r m a ti se x c h a n g e df i l ef o r m a tf o rm o d e l i n gs o f t w a r e 一3 d m a x ,i t c a nb ei m p o r t e db yo t h e rm o d e l i n gs o f t w a r es u c ha sp o s e r ,a n dm a n yo t h e r3 d m o d e l i n g s o f t w a r es u p p o r t3 d sf i l ef o r m a t ,s oi ti sg e n e r a l 3 d sf i l ef o r m a tj u s ti n c l u d e sm a n yg e o m e t r yi n f o r m a t i o n ,b u ti t i sn o t e n o u g hf o rt h ep r o j e c t ,i no r d e rt o i n c a r n a t et h ea l t e r n a t i o n ,w es h o u l di m p o r t t h ep h y s i c sa n db e h a v i o r c h a r a c t e r i s t i c s ,i no r d e rt or e c o r dt h e m ,w em u s th a v e s o m e s t r u c t ,s ow e n e e ds e l f - d e f i n e df i l ef o r m a t i na d d t i o n ,f e a t u r ep a r a m e t e rm o d e l i n gi sa n o t h e rp a r t ,f e a t u r em e a n st h a t t h e r ea r es o m eb a s i cm o d e l si ns a m p l el i b r a r y , t h e nw ec a ne x p a n dm o r ew i t h o n ek i n do fm o d e l i nt h i sp a p e r , ab r i e fd i s c u s s i o ni sc a r r i e do u ta n dt h eb o d y m o d e le m p l o y e di se x t r e m e l y s i m p l e ,w i t hn e c k ,b r e a s ta n d w a i s to n l y t h r o u g h t h e a d j u s t m e n t o fp a r a m e t e r , t h en e c k ,b r e a s ta n dw a i s tc a nb e c h a n g e d r e s p e c t i v e l yi n t ov a r i o u ss i z e s ,t h u st h eb o d yw o u l dt a k eo nd i f f e r e n ts t a t u r e s t h i sa c c o u n t sf o rt h ef a t n e s sa n ds l j i g h t n e s so fap e r s o n h o w e v e r , t h el a c ko f i n t e r p o l a t i o nb e t w e e nj o i n t sm a k e st h eb o d y n o tn a t u r a le n o u g h 【k e y w o r d f i l e f o r m a t ,f e a t u r em o d e l ,f e a t u r e 武汉理工大学硕士学位论文 i i 问题的提出 第1 章绪论 建模技术是三维图形技术、虚拟现实技术中最重要的技术,也是其发展 的关键技术之一。虚拟现实“1 ( v i r t u a lr e a l i t y ,简称v r ) 是一项涉及计 算机图形学、人机交互、人工智能等学科的综合技术,它的目的是用计算机 来生成一个逼真的三维世界给观众,如同在真实世界里。随着虚拟现实、分 布式视景、分布式仿真技术和网络三维游戏的发展,需要在i n t e r n e t 或 i n t r a n e t 环境下进入同虚拟环境、视景环境、仿真环境或游戏环境,以 协同或对抗方式完成分布交互任务,其共同点是导致了对分布三维视景的需 要3 ;同时,它们对虚拟场景的实时渲染、真实感程度也提出了越来越高的 要求。 三维场景的创建是一项运用综合技术的任务,要达到逼真的感觉和实时 的自然交互是非常不容易的,它的完成不仅依赖于硬件性能的提高和像头盔 等外设的使用,更重要的是依赖于虚拟场景的构建、显示和交互等技术的不 断改进。 尽管现在的几何建模能力达到了很高的水平,但模型往往缺乏“活力”, 只是一个静止的物体,“行为一特征”建模就是要给模型增加它的行为能力, 特征就是在建立几何模型的时候,并不是通过传统的方式来塑造模型,而是 通过特征参数来快速,灵活地建立模型。 1 2 课题来源 所选课题的题目是交互式仿真平台的文件结构设计与参数建模,它是以 “分布交互三维视景行为一特征建模方法研究”和“分布式交互仿真平台的 开发”为基础的。其中“分布交互三维视景行为一特征建模方法研究”这个 课题得到国家自然科学基金和中国科学院计算技术研究所智能信息处理开 放研究实验室项目资助,“分布式交互仿真平台的开发”是武汉东湖软件公 司委托我实验室开发的。 基于“行为一特征建模”方法的分布交互三维视景开发环境,是由视景 武汉理工大学硕士学位论文 模型层、服务层与客户程序层三个层次组成。客户程序由开发者针对具体应 用领域的问题,用不同的编译器编制,并在运行过程中通过动态链接库与服 务层通信。鉴于客户程序层应用的广泛性,我们把这一层次留给第三方来开 发。也就是说第三方通过使用我们提供的开发环境来解决不同应用领域的问 题。 1 3 国内外研究动态和水平 在几何建模方面,国外都已经达到了很高的造型水平,比如说3 d m a x , m a y a 等三维建模软件,它们可以对任意顶点进行编辑,增删,许多模型也 用到了一些特殊的技术,例如树木,就用到了分形的技术,人体就用到了骨 骼蒙皮的技术,然而这些软件也有它们的不足之处,主要体现在它们在物理 和行为表现上仍然有很大的缺陷,构造出来的几何体只具有几何形状,无法 赋予它物理和行为能力,因此我们在几何造型方面吸取这些软件的强大造型 功能,然后在此基础上增加我们所需要的物理和行为属性。但在我们的仿真 模型当中,我们并不需要那么高精度的模型,也就是我们并不需要在外形上 很像,达到逼真的程度,我们主要是注重于仿真这一块,因此我们这里采用 了相对较为简单的3 d s 文件结构的形式,具体说来就是用3 d m a x 建立模型然 后导出成3 d s 文件结构的形式,接着就用程序将3 d s 文件结构解析,并通过 程序的方式再现。 在三维建模方面,传统的几何建模方法不能满足分布式交互三维视景的 要求,于是,人们开始探索行为建模方法。其一:在传统几何建模方法的基 础上扩充模型物理属性和行为的描述能力;其二:v r m l 3 等建模语言的 出现,但目前由于受解释执行方式和因特网传输速度的双重制约,v r m l 所 生成的视景尚不尽人意,与非网络环境下的三维视景质量更是相差甚远;其 三:建模语言与c + + 编译器相结合的“编译型”方式。可惜的是他们无一例 外的都不能满足分布交互三维视景的需求。再者,人们对表现物体的真实感、 实时性及交互性方面提出了更高的要求。为了解决上述问题,我们提出了行 为一特征建模方法。行为特征建模方法能更深刻地反映事物的本质,在创 建模型的同时,不仅赋予模型外形、质感等表观特征,同时赋予模型物理属 性和“与生俱来”的行为能力,并且使之服从一定的客观规律。所以,行为 特征建模工具的开发将有助于简化虚拟现实 3 、分布式视算、分布式仿真技 术和网络三维游戏的开发过程。 2 武汉理- 丁大学硕士学位论文 再者,从当前些流行的常用建模软件,如:a u t o d e s k 公司的a u t o c a d 、 3 d sm a x 等来看,他们要么不能很好地支持三维建模,要么是即使支持,也 无法反映出模型的动态特性和遵从的客观规律。另外,我们看到的三维动画, 从视觉效果来看,它们表现的十分逼真,这是由三维动画的自身特点决定的。 三维动画是预先制作好的,为了达到逼真的视觉效果,在制作过程中,其渲 染时间可能需要几天时间。也就是说,三维动画没有时间限制,它不是实时 的。随着计算机仿真、三维网络游戏的快速发展,对三维场景实时响应的要 求越来越高。 1 4 本文的主要内容 第一章介绍了课题来源、课题研究的目的和意义、国内外的研究动态和 水平以及文章主要研究的内容。 第二章介绍了系统开发的基本技术,包括计算机图形学的基本知识一图 形与图像,图形变换,虚拟现实技术,并简述了o p e n g l 技术。这些基本的 技术将在程序中用到。 第三章因为导入模型是最先需要做,也是最基本的工作,只有将模型正 确的导入进来,才能为后面的工作打下基础,因此本文首先介绍了模型的导 入与自定义文件结构,讲解了3 d s 文件结构,以及如何在程序中正确地导入 它,并讲述了如何将3 d s 文件结构转换成自定义的格式;然后由贝赛尔曲面 得到的启发,介绍了几个参数化设计的实例,其中包括根据参数设定构造不 同的零件和手臂的,并讲解了是如何实现它们的。 第四章介绍了一些在程序中使用的其他技术如凹凸贴图和融合,并简述 了在程序中使用融合技术的一些不足。 第五章总结研究工作和全文,并提出系统改进之处。 3 武汉理工大学硕士学位论文 第2 章系统开发的基本技术介绍 2 1 计算机图形学 在系统开发过程中,既涉及到图形又涉及到图像,而我们经常容易混淆 这两个概念,因此文章首先介绍二者的区别与联系,然后介绍图形学的基本 理论知识,最后介绍系统开发采用的核心技术( 虚拟现实技术、o p e n g l 技术、 面向对象技术) 。 2 1 1 图形与图像 图形与图像既相互联系又相互区别: 图形可以用形状参数和属性参数来表示。形状参数可以是描述其形状的 数学方程的系数、线段的起始点及终止点等;属性参数则包括灰度、色彩、 线型等非几何属性。突出了图形的数学描述,因此图形是指可以用数学方法 进行描述的带有灰度、色彩等属性的图形。强调的是“形”的概念。 图像是用具有灰度和色彩的点阵来表示,它强调是由哪些点组成的,这 些点具有什么灰度和色彩,形象地说,图像类似于这样一个矩阵,矩阵的某 一位置的值,表示该处的灰度或色彩。虽然矩阵仍然是一种数学概念或方法, 但强调的是“灰度”而不是“形”。 虽然图形与图像是两个不同的概念,但它们又不是绝然分开的。图形可 以转换成图像,随着光栅显示器的发展和广泛应用,图形的显示及处理常用 图像的方式方法进行,如直线的生成、圆弧的生成、区域的填充等。而图像 也可以使用图形的某些处理方法,如把图像经过细化等处理而变成图形,从 而可以用图形的某些方法进行处理。 2 1 2 图形变换 图形变换是计算机图形学的基础性内容。图形变换体现和展示各种事物 的运动与变化的过程及其相互的连接关系吲。实际上计算机图形学的中心问 题就是在一个二维的平面上来创建三维物体,因此在构图时需要在三维坐标 系中进行思考。应当在三维空间中建立所绘制物体的模型,由计算机经过恰 4 武汉理工大学硕士学位论文 当的变换,将三维坐标系中的点转换为屏幕上的像素位置,从而得到理想的 视觉效果。图形变换涉及的知识面相当广泛,这里只介绍基本的内容;平移、 旋转和缩放等模型变换以及为显示图形所要进行的视图变换等内容。 1 齐次坐标【5 1 所谓齐次坐标,就是用一十1 维向量形式表示个n 维向量的坐标形式。 比如,三维顶点向量的齐次坐标为v y ,z ,w ) 。齐次坐标中增加的一维向量, 通常称为比例因子。用非齐次坐标在同一给定坐标系中对一个顶点的表示是 唯的,而齐次坐标因为w 的不同它可以有许多不同的表示形式,即不是唯 一的。在一个给定的坐标系中,非齐次坐标v 。仁。,y 。,z 。) 与齐次坐标 v b ,) ,z ,w ) 之间的转换关系是:工o = x w , y o = y w ,z o z ,w ( w o ) 。 齐次坐标与非齐次坐标相比,具有的突出优点包括:为各维的不同坐标 系之间通过矩阵进行变换运算提供了统一有效的方法;可以表示无穷远处的 点:使投影等变换的几何意义更加清晰等。 2 计算机图形变换的一般过程9 1 要将欧氏空间的形体( 在o p e n g l 编程系统中称之为模型) 在计算机屏 幕上显示出来,变换过程可以大致分为如下几个步骤: 视图变换。这个步骤将照相机对准场景。 模型变换。即将景物放到照相机的范围之内。 投影变换。主要是选择镜头和调整镜头放大倍数。 视区变换。对镜头内的图像迸行缩放处理以得到不同大小的图像。 经过以上步骤之后,就得到一幅只需利用写屏幕指令就可以在计算机屏 幕上进行显示的数字图形。 当然,图形变换是在程序执行过程中通过序歹目计算机指令来完成的, 而且这些指令的执行过程也未必一定要按上述顺序完全一致地发生。实际 上,只要在逻辑上完成所需操作就行了。比如,视图变换的指令要在模型变 换指令之前执行而投影变换和视区变换则可以分别在图形实际显示之前的 任何时刻进行,相互间并无严格的时序限制。 以上就是针对静止的模型所需要的图形变换过程。如果针对运动的模型 或者要从不同的视角来观察一个模型,则需要不断地进行视图与模型变换。 3 模型变换 所谓模型变换,指的是以一个形体( 为了和o p e n g l 图形系统的实现保 5 武汉理工大学硕士学位论文 持一致,有时也将它称为模型,这与图形、形体等表示的是同一概念) 作为 考察对象而研究它相对于一个静止的坐标系所发生的平移、旋转、缩放等几 何变换。 在前面介绍图形变换的一般过程时,将视图变换放在模型变换之前进 行,主要是便于和拍照过程进行对照而保持一致。实际上,在计算机的图形 变换编程应用中,应用人员以模型作为对象来研究图形变换更为合理和顺 畅,因为在这里模型才是所有工作的中心内容,程序人员也往往是在写好模 型的变换代码之后,然后才考虑观看模型的视点位置和角度,即进行所谓的 视图变换。基于这样的原因,首先介绍模型变换的知识。 在o p e n g l 系统中,图形变换的效果是累加的并且是左乘的,齐次坐标 以列向量的形式表示。比如,如果以r ,r ,s 表示在代码中顺次出现的一序列 变换矩阵,而用v 与v 分别表示变换前后的齐次顶点向量,则有: 。r x r s v 。要强调的是,特别注意变换矩阵给出的先后顺序与实际对 向量进行的变换顺序刚好相反。否则,难于理解得到的变换结果,以至于达 不到预期的变换要求。 下面给出三类基本模型变换的不同形式的变换矩阵及其o p e n g l 中对应 的库函数。任何变换都可以分解为有限序列的基本变换。有了这些库函数之 后,图形变换的编程将显得异常简单而有效:程序员只要通过调用变换函数 以正确的顺序绘出变换矩阵,相应的变换会由o p e n g l 自动完成。 ( 1 ) 平移变换 平移的变换矩阵r 如下所示,其对应的库函数为g l t r a n s l a t e * 伍,y ,z ) : r 。 1o 0】 o0 o o ox 0 y 1z 01 公式2 1 ( 2 ) 旋转变换 旋转变换矩阵针对不同的坐标轴有以下三种形式,其对应的库函数为: g l r o t a t e * ( a ,工,y ,z ) 绕x 轴旋转a 武汉理工大学硕士学位论文 绕y 轴旋转a 绕z 轴旋转a r z = r r = r z - 1o 0c o s 6 0s i n a oo o0 一s i n a0 c o s a0 01 0s i n a 1o 0c o s a o0 c o s a s i n a0 0 s i n ac o s a0 0 oo10 o001 公式2 2 公式2 3 公式2 4 ( 3 ) 缩放变换 缩放变换矩阵s 如下所示,其对应的库函数为g l s c a l e * o ,y ,z ) : s 。一 j0 0 y 0 0 00 0o 00 zo 01 公式2 5 4 视图变换 视图变换实际上就是为经过模型变换的模型选择合适的观察点( 视点) 。 在拍摄相片的过程中,类似视图变换的操作就是选择相机的位置和对准景物 ( 选择拍摄方向) ,而在图形显示中,就是选择观察者眼睛的位置、角度和 朝向。 其实,视图变换与模型变换完全是等价的,只是着眼点不同而己。比如, 个模型在坐标系中朝远离视点的方向进行平移的模型变换,完全可以认为 模型不动而通过将视点朝相反的方向进行平移这样的视图变换来达到目的。 对于缩放和旋转模型变换也有类似的情况。 0 p e n g l 系统的各种模型变换函数同样也可以用于进行视图变换。在有 些时候,甚至不必理会视图变换而只进行模型变换,并让视点处在默认的原 口 m 宝o 鲫o c - 武汉理工大学硕士学位论文 点位置与指向z 轴的负向。 基于同样的原因,o p e n g l 将模型变换与视图变换看作同一类变换,而 称之为模型视图变换。利用o p e n g l 库函数进行这类变换之前,首先要调用 函数g l m a t r i x m o d e ( g l m o d e l v i e w ) 将后续的变换指定为针对模型进行的模 型视图变换。 当然,为了某些特定的需要,o p e n g l 系统也提供用于指定视点的函数 g l u l o o k a t ( ) ,其参数分别是视点位置坐标以及视线在模型上入射点( 着眼 点) 的位置坐标。 5 投影变换 拍照时,相机所能选择的视景范围总是一个到无穷远的呈近小远大形状 的透视台体,并且在这样的视景钵内的模型总是远小近大。 计算机图形学中的投影变换,实际上也是为场景中的模型定义一个视图 体。这里定义的视图体有两方面的作用。作用之一,决定将模型如何投影到 屏幕上( 也就是说,是使用透视投影法还是正交投影法) 。作用之二,决定 视景中哪些模型或者模型的哪些部分应当从视图体中裁剪掉,即排除在视图 体之外。计算机图形学中视图范围是有限的而非无穷远,同时认为视图体位 于视点的端。由于投影方法的不同,投影分为透视投影和正交投影两种。 ( 1 ) 透视投影 同相机拍照一样,透视投影最显著的特征是透视的缩小:离视点越远的 模型,在图像上显得越小。在透视投影中,视图体是一个棱锥形状的平截台 体( 即一个棱锥被平行于其底面的平面截掉顶端) 。透视将处在视图体内的 模型向棱锥的项点( 即视点位置) 进行投影。一个模型距离视点较近时将比 距离视点较远时在视图体中占据更大的比例,因此平截台体的远端显得大一 些。透视投影原理类似于人眼的视觉机制,常被用在动画、场景仿真等强调 真实感的场合。 下面列举的是o p e n g l 系统的g l f r u s t u m o ,6 ,f ,如,) 库函数定义的视图 体,所对应的透视投影变换矩阵如式( 2 6 ) 。 g l f r u s t u m ( ,r ,6 ,r ,n ,) 定义视图平截台体的矩阵并左乘当前矩阵。平截 台体的视图体与定义函数参数的对应关系为:参数( z ,6 ,一n ) 和( r ,t ,一n ) 指定近 裁剪面( 离视点近的裁剪面) 的左下角和右上角顶点坐标。参数n 与f 分别 表示视点与近裁剪面和远裁剪面的距离,都恒为正值。 8 武汉理工大学硕士学位论文 ,_ 一2 n 0 型 o o 旦坐o oo 二! 型二垫 一n 一n 00o1 公式2 6 尽管从概念上理解函数g l f r u s t u m 0 很容易,但应用起来却不够直观。 系统提供的另外一个视图体定义函数g l p e r s p e c t i v e 0 可以与g l f r u s t u m 0 一样创建视图体,只是指定参数的方式有所不同。对于 g l p e r s p e c t i v e ( ,d 桫,a s p e c t ,n e a r ,f a r ) 定义的视图体与参数的对应关系为: 加w 和a s p e c t 分别指定视图体在y 坐标轴方向的角度( 取值范围为0 到1 8 0 ) 与长宽比,y x 玎e a r 与向r 分别指定视点到近裁剪面和远裁剪面的距离,也恒 为正值。9 1 p e r s p e c t i v e 函数定义的视图体是一个对称的透视图的平截台 体,当然,要得到这些函数的其他使用效果,可以对其进行扩展以合理地给 定和使用各参数的值。 ( 2 ) 正交投影 正交投影所定义的视图体是一个成直角的平行六面体。与透视投影不 同,正交投影确定的视图体远近裁剪面的尺寸大小相同,并不因视点的位置 远近而影响显示的大小。这种投影模式通常用在创建结构蓝图或者计算机辅 助设计c a d 中,这类应用要求保持模型的确切尺寸及其相互间的准确角度。 o p e n g l 用函数g l o r t h o o ,r ,b ,t ,n ,) 定义平行六面体视图体矩阵并左乘 当前矩阵,其对应的正交变换矩阵为: 0 l 2 r 一1 o 0 0 o 2 t b o o o o 一2 一n o 公式2 7 g l o r t h o ( ,r ,b ,f ,n ,) 创建的视图体与参数的对应关系为:参数o ,6 ,一月) 和r , t ,一n ) 指定近裁剪面左下角和右上角的顶点坐标。参数( f ,b ,一,) 和p ,t ,一,) 9 一一加一加。 武汉理工大学硕士学位论文 指定远裁剪面的左下角和右上角顶点坐标。参数n 与f 分别表示视点与近裁 剪面和远裁剪面的距离,两者都恒为正值但不能相等。 ( 3 ) 视图体的剪裁 场景中所有模型的顶点经过模型、视图和投影变换之后,有的顶点位于 视图体之外。位于视图体之外的顶点自然会被裁剪捧,但有时位于视图体内 的某些顶点也需要被裁剪掉,这时就得添加另外的裁剪面。关于如何添加额 外的裁剪面以及如何形成新的视图体读者可以查看有关书籍和资料。 6 局部坐标系与全局坐标系 正如前面所述,所有交换都是在一定的坐标系中进行的。坐标系类型与 图形变换的过程关系密切,坐标系的类型不仅影响实施的具体步骤,而且可 能使变换的难易程度不同。 按照使用范围,一般将坐标系分为全局坐标系( 也称世界坐标系) 和局 部坐标系( 也称用户坐标系) 两种。大致来说,全局坐标系是指不作为整体 看待的多个模型所共同参照的坐标系。这并不是说,一定是世界范围内所有 模型共同参照的一个坐标系。 在图形变换中选择不同的坐标系,实际上是对运动的不同认识。比如, 近距离研究一辆运动的自行车各个不同部分的运动情况时,如果把所有部分 ( 如车身和车轮) 都相对于全局坐标系来研究,那么每个部分的运动轨迹实 际上是一种综合结果。然而,如果不同部分( 如车身和车轮) 分别参照各自 的一个局部坐标系的话,各个部分的运动就可以分解成各个局部坐标系相对 于全局坐标系的运动,以及各部分相对于各局部坐标系的运动等不同运动层 次。 理论证明,尽管对运动的这两种看法不同,效果却可以是等价的。不过, 选择不同坐标系时,处理和理解图形变换的难度却有很大的不同。比如,若 将自行车的车轮看做是相对其局部坐标系的运动,则可以将其运动简单地分 解为一个平移和旋转,这比相对全局坐标系处理起来容易得多。 o p e n g l 系统的所有变换函数都是以模型的局部坐标系为参考点的。 7 视区变换 视区是指用来显示图形的窗口中的一个矩形区域。视区是用窗口坐标来 度量它的,它反映了相对于窗口左下角的屏幕像素的位置。 相应地,视区变换是指在这个视区内进行的顶点位置变换。视区变换的 1 0 武汉理工大学硕士学位论文 是为了确定模型在屏幕上的实际显示位置、比例和尺寸。视区内的所有顶点 变换都是根据顶点的模型视图矩阵和投影变换矩阵进行的,视图体以外的顶 点已被裁剪掉。 o p e n g l 系统提供了g l v i e w p o r tb ,y ,w ,h ) 函数来定义一个视区,并在该 视区内进行模型映射。参数g ,y ) 指定视区的左下焦像素坐标,参数w 与h 分 别表示视区的宽度和高度,所有这些参数都是以窗口坐标( 通常是像素) 为 单位的,与窗口的坐标映射模式有关系。 在视区内发生的模型映射指的是,经过模型视图和投影变换之后得到的 模型顶点坐标如何表示为窗口坐标,或者更准确地说,表示为视区内的窗口 坐标。模型映射遵循如下的数学关系式与视区发生映射: 公式2 8 其中, 。y 。) 与 。,y 。) 分别是模型顶点在发生映射前后的归一化( 单 位化) 设备坐标和视区窗口中的对应坐标。 理解上述映射关系的关键,在于理解归一化设备坐标的概念。归一化设 备坐标指的是,将视图体的近裁剪面的长度和宽度的一半分别看作1 ,然后 按照这样的关系对模型的顶点坐标实施比例变换而得到的坐标值。在映射发 生时,近裁剪强占据整个视区。模型实际显示时,由上述映射关系得到模型 在视区内的实际屏幕坐标。显然,尽管长宽的比例都为1 ,但映射得到的实 际像素与坐标值却是不同的。 o p e n g l 系统在进行模型映射时,将视图体的深度( f a ,一n e a r ) 也归一化 为l ,然后按照这种关系计算出模型在整个视区内的深度坐标值,并进行消 隐处理。 经过上述各种变换步骤之后,就得到了利用绘图函数可以进行显示的模 型顶点位置信息。然后,可以视情况进行新轮的变换或者将模型( 图形) 显示出来。 2 2 虚拟现实技术 虚拟现实技术( v i r t u a lr e a l i t y ) ,又称灵境技术,是9 0 年代为科学 界和工程界所关注的技术。它的兴起,为人机交互界面的发展开创了新的研 x y + + 2 2w 矗 4 d d + + 篁 曩 k 凡 ,j、ll 武汉理工大学硕士学位论文 究领域;为智能工程的应用提供了新的界面工具;为各类工程的大规模的数 据可视化提供了新的描述方法。这种技术的特点在于,计算机产生一种人为 虚拟的环境,这种虚拟的环境是通过计算机图形构成的三度空间,或是把其 它现实环境编制到计算机中去产生逼真的“虚拟环境”,从而使得用户在视 觉上产生一种沉浸于虚拟环境的感觉。这种技术的应用,改进了人们利用计 算机进行多工程数据处理的方式,尤其在需要对大量抽象数据进行处理时; 同时,它在许多不同领域的应用,可以带来巨大的经济效益。 从本质上说,虚拟现实就是一种先进的计算机用户接口,它通过给用户 同时提供诸如视、听、触等各种直观焉又自然的实时感知交互手段、最大限 度地方便用户的操作,从而减轻用户的负担、提高整个系统的工作效率。 计算机的发展提供了一种计算工具和分析工具,弗因此导致了许多解决 问题的新方法的产生。虚拟现实技术的产生与发展也同样如此,就虚拟现实 本身而言,它主要涉及到三个研究领域: 通过计算机图形方式建立实时的三维视觉效果; 建立对虚拟世界的观察界面: 使用虚拟现实技术加强诸如科学计算技术等方面的应用。 虚拟现实系统就是要利用各种先进的硬件技术及软件工具,设计出合理 的硬件、软件及交互手段,使参与者能交互式地观察和操纵系统生成的虚拟 世界。从概念上讲,任何一个虚拟现实系统都可以用三个“i ”来描述其特 性,这就是“沉浸( i m m e r s i o n ) ”、“交互( i n t e r a c t i o n ) ”和“想象 ( i m a g i n a t i o n ) ”。 虚拟现实的关键技术可以包括以下几个方面: ( 1 ) 动态环境建模技术 虚拟环境的建立是虚拟现实技术的核心内容。动态环境建模技术的目的 是获取实际环境的三维数据,并根据应用的需要,利用获取的三维数据建立 相应的虚拟环境模型。三维数据的获取可以采用c a d 技术( 有规则的环境) , 而更多的环境则需要采用非接触式的视觉建模技术,两者的有机结合可以有 效地提高数据获取的效率。 ( 2 ) 实时三维图形生成技术 三维图形的生成技术已经较为成熟,其关键是如何实现“实时”生成。 为了达到实时的目的,至少要保证图形的刷新率不低于1 5 桢秒,最好是高 于3 0 桢秒。在不降低图形的质量和复杂度的前提下,如何提高刷新频率将 是该技术的研究内容。 武汉理工大学硕士学位论文 ( 3 ) 立体显示和传感器技术 虚拟现实的交互能力依赖于立体显示和传感器技术的发展。现有的虚拟 现实还远远不能满足系统的需要,例如,数据手套有延迟大、分辨率低、作 用范围小、使用不便等缺点:虚拟现实设备的跟踪精度和跟踪范围也有待提 高,因此有必要开发新的三维显示技术。 ( 4 ) 应用系统开发工具 虚拟现实应用的关键是寻找合适的场合和对象,即如何发挥想象力和创 造力。选择适当的应用对象可以大幅度地提高生产效率、减轻劳动强度、提 高产品开发质量。为了达到这一目的,必须研究虚拟现实的开发工具。例如, 虚拟现实系统开发平台、分布式虚拟现实技术等。 2 3o p e n g l 开发包 2 3 1 引言 o p e n g l 是o p e n g r a p h i c s l i b 的缩写,是一套三维图形处理库,也是该 领域的工业标准。计算机三维图形是指将用数据描述的三维空间通过计算转 换成二维图像并显示或打印出来的技术。 o p e n g l 就是支持这种转换的程序库,它源于s g i 公司为其图形工作站 开发的i r i sg l ,在跨平台移植过程中发展成为o p e n g l 。s g i 在1 9 9 2 年7 月发布1 o 版,后成为工业标准,由成立于1 9 9 2 年的独立财团o p e n g l a r c h i t e c t u r er e v i e wb o a r d ( a r b ) 控制。s g i 等a r b 成员以投票方式产生 标准,并制成规范文档( s p e e i f i c a t i o n ) 公布,各软硬件厂商据此开发自己 系统上的实现。只有通过了a r b 规范全部测试的实现才能称为o p e n g l 。t 9 9 5 年1 2 月a r b 批准了1 1 版本,最新版规范是1 9 9 9 5 通过的1 2 1 。 o p e n g l 被设计成独立于硬件,独立于窗口系统的,在运行各种操作系 统的各种计算机上都可用,并能在网络环境下以客户服务器模式工作,是 专业图形处理、科学计算等高端应用领域的标准图形库。它低端应用上的主 要竞争对手是m s d i r e c t 3 d ,该图形库是以c o m 接口形式提供的,所以极为 较复杂,稳定性差,另外微软公司拥有该库版权,目前只在w i n d o w s 平台上 可用。d 3 d 的优势在速度上,但现在低价显卡都能提供很好的o p e n g l 硬件 加速,所以做3 d 使用d i r e c t 3 d 己没有特别的必要,在专业图形处理特别是 高端应用方面目前还没有出现以d i r e c t 3 d 技术为基础的例子,而游戏等低 武汉理工大学硕士学位论文 端应用也有转向o p e n g l 的趋势。 微软在w i n d o w sn t 对o p e n g l 的支持始于3 5 1 ,在w i n d o w s 9 x 中的支 持始于w i n 9 5o e ms e r v i c er e l e a s e2 。w i n d o w s 下常用的o p e n g l 库有两种, m s 实现的和s g i 实现的,m s o p e n g l 调用会自动检测是否存在显示卡制造商 提供的i c d ( i n s t a l l a b l ec 1 i e n td e v i c e d r i v e r ) 驱动程序,有则调用i c d 中的例程,否则才用c p u 进行计算,所以能利用显示卡的o p e n g l 加速能力。 对开发者来说使用方法并没有区别,只是有i c d 驱动时更快些。s g i 的版本 是纯软件实现不能利用硬件加速并且s g i 已经在1 9 9 9 年宣布停止支持,但 这套库便于调试程序,仍有不少开发者使用。 s g i 曾经宣布研发o p e n g l + + ,该图形库最大的特点是面象对象,提供r 树形场景支持,大大减省了使用o p e n g l 处理复杂场景的工作量。后来 ( 1 9 9 9 ) s g i 宣布与m s 合作开发f e r i h a n t ,即w i n d o w s 的下一代图形处理体 系,包括d i r e c t x 与o p e n g l 的低级图形处理接口和以场景图支持为特点的 高级接口,并且就此停止对其在w i n d o w s 下的o p e n g l 实现的支持以示决心。 此举世瞩目,大家都以为w i n d o w s 图形处理快要过上幸福生活了,然而,不 久,s o l 宣布中止合作,并撤回派出的科学家,f e r i h a n t 基本上夭折。s g i 称 终止合作的原因是m s 不肯积极合作,光想把s o l 的技术合并进d i r e c t x , 真正内幕不详。不过以s g i 在图形处理界的老大地位来说,还是有几分可信 度的,因为m s 初支持o p e n g l 就不积极。 计算机图形学的发展极大地促进了计算机可视化( v i s u a l i z a t i o n ) 技 术、虚拟现实技术的发展。人们对计算机可视化技术的研究已经经历了一个 很长的历程,而且形成了许多可视化工具,其中s g i 公司推出的g l 三维图 形库表现突出,易于使用而且功能强大,利用g l 开发出来的三维应用软件 颇受许多专业技术人员的喜爱,这些三维应用软件已涉及建筑、产品设计、 医学、地球科学、流体力学等领域。随着计算机技术的继续发展,g l 已经 进一步发展成为o p e n g l ,o p e n g l 已被认为是高性能图形和交互式视景处理 的标准,目前包括i b m 公司、d e c 公司、s u n 公司、h p 公司、m i c r o s o f t 公 司和s g i 大公司都采用了o p e n g l 图形标准。 2 3 2o p e n o l 接口介绍 o p e n g l 的英文全称是“o p e ng r a p h i c sl i b r a r y ”即“开放的图形程序 接口”,它是计算机工业标准应用程序接口,主要用于定义二维三维图形。 1 4 武汉理工大学硕士学位论文 o p e n g l 是由s g i 公司开发的3 d 接口界面,在最开始,s g i ( s i l i c o ng r a p h i c s i n c ) 公司创建了为程序员设计所使用的图形生成工具软件库i r s i g l ,它 是一个简单易用的程序接口。从计算机辅助设计( c a d ) 到电影动画的设计 制作等领域,使程序员轻松的编写自己的2 d 和3 d 图形软件。之后,s g i 推 出了它的开放架构的版本,也就是现在的o p e n g l ,并有九家硬件制造商联 合成立了o p e n g l 的结构体系咨询委员会。该委员会主要用来评述o p e n g l 的功能扩展,并监督它的技术规范的实施。目前也有其它的图形a p i ,但是, o p e n g l 已经发展成为所有计算机硬件平台制造商实际采用的工业标准,同 时也为软件开发者所广泛使用。由于计算机工业界在所有的计算机平台上使 用了同一套库函数调用命令,因此,o p e n g l 的开发成本是最低的。目前, o p e n g l 的支持已经包含在所有的w i n d o w s 、m a c o s 、l i n u x 和u n i x 系统中。 目前,o p e n g l 在专业绘图软件领域使用最为广泛,例如a u t o c a d 、m a y a 、 3 9 sm a x 、p r o e n g i n e e r 、c a t i a 等等,而在游戏领域,也有不少的游戏支 持o p e n g l ,例如q u a k ei i i 、h a l fl i f e 等等。 o p e n g l 是一套底层三维图形a p i ,之所以称之为底层a p i ,是因为它没 有提供几何实体图元,不能直接用以描述场景。但通过一些转换程序,可以 很方便的将a u t o c a d 、3 d s 等图形设计软件制作的d f x 和3 d s 模型文件转换 成o p e n g l 的顶点数据。 o p e n g l 是与硬件无关的软件接口,使用它图形软件生产厂商再不用为 各种不同的机型开发设计不同的软件,只要操作系统使用了o p e n g l 适配器 就可以达到相同的效果,它是一个开放图形库,目前在w i

温馨提示

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

评论

0/150

提交评论