首页> 中文学位 >基于OpenGL子函数构建三维实体图形库
【6h】

基于OpenGL子函数构建三维实体图形库

代理获取

摘要

在以计算机相关技术为代表的现代信息技术的发展中,计算机图形处理技术已经成为非常具有实际经济价值的技术之一,图形学在各个行业领域的应用也得到了迅速的普及。计算机图形学进入三维立体时代后,更是进入了崭新的发展纪元。电影电视制作、游戏软件开发、计算机辅助设计(CAD)和计算机辅助制造(CAM),无一不是三维图形充分发挥的领域。
   这些让人们能够亲手创建和亲身体验虚拟世界的计算机系统被称作虚拟现实(简称VR)系统。VR系统又被称为虚拟环境系统,是由计算机生成的一个实时、虚拟的三维空间。用户可以在其中“自由地”的活动,随意观察周围的物体,并可通过某些特殊的设备和虚拟物体进行互动操作。VR技术在各领域中都有着较大的应用潜力和推广前景,如在医疗领域,VR可用于虚拟解剖的教学、手术的模拟、康复训练等;在娱乐领域,可用于电子游戏和影视制作,某些三维游戏是VR技术的最好体现,有些游戏中的场景的视觉效果甚至达到乱真的程度;在艺术文化方面有虚拟演员、虚拟博物馆等,在教育方面有虚拟物理实验室和虚拟课堂等;在自控和制造业,VR技术辅助设计、虚拟装配及制造等;在商业领域,VR可用于产品广告宣传,VR广告相比传统广告更易于制作和更改,也更有表现力和感染力。如装潢设计、建筑的虚拟展示(对于期房更加必要)等;在军事和航空航天领域,有虚拟飞行、虚拟战场等,美国的坦克训练网络SIMNET,NASA的VR训练系统都是非常成功的应用。
   VR系统中关键的部分是用于模拟真实物体的三维图形的绘制,目前世界各地的科研工作者在这方面做了很多的工作,基于图形的地形建模技术中,主要有三个不同方法:一种是使用DEM数据构造多边形面;另外一种方法是基于数据拟合的地形生成,用曲面(如二次曲面,Bezier曲面或其它一些曲面)进行拟合;最后一种是基于分形技术的地形生成。云的模拟方法有基于云的物理生成过程的方法,基于分形的方法,基于随机过程的方法等。海浪的模拟主要有以下几种方法:基于计算流体力学方法、基于海浪谱的方法、基于几何造型方法、基于分形的方法等。火焰的模拟主要有三种,包括基于纹理的方法,基于粒子系统的方法和基于细胞自动机的方法。
   传统的三维图形绘制方法主要使用欧氏几何生成规则图形和平滑曲线,对复杂的自然物体的模拟显得力不从心。20世纪70年代B.Mandelbrot建立了分形图形学,用来描述那些不规则的欧氏几何无法模拟的几何图形,被称为“大自然本身的几何学”,使自然物体的模拟成为可能,这也是分形几何得到广泛应用的理由之一。
   三维图形库技术是改善三维图形应用的通用性、灵活性和开放性的有效途径。使用者在需要时,将所需的三维实体从图形库中取出来,在指定的位置绘制,即可以解除繁琐的重复绘制工作,也可以保证三维实体的绘制质量,提高开发效率。
   图形库的建立始于上世纪70年代,主要有两种形式:定制固定的图符;对图形分类,每一类图形对应一种算法。第一种办法容易实现,利于新图形的加入,但冗余大。对于形状相似的一类图形,需要在库中存储每一个图形的形态,这样的图形,在实际的应用中中大量存在。第二种方法对于同类中的图形只需要存储一个子程序,弥补了第一种方法的不足,消除了冗余,且建立了图形库的参数化。
   目前,图形库已受到社会各个方面的关注,在机械制造、水利水电及地理系统都有所使用,很多绘图工具也提供了图形库应用功能。目前Autodesk公司开发的软件AutoCAD是在计算机上使用最为广泛的一个交互式绘图系统,AutoCAD也集成了图形库的应用功能,主要用来生成一些标准图形和常用图形,用户可以直接使用库中的图形,降低用户的重复工作,提升设计效率,节约大量的绘图时间。类似AutoCAD的三维绘图工具如:3DMAX、Maya等都已经很成熟,并且得到广泛的使用。但是,这些软件大都是以传统的微机绘图方法为基础用欧式几何的方法来绘制图形,绘制的都是一些线条光滑,形状规则的几何图形。
   分形理论是描绘具有不规则结构的复杂体系结构形状的一门新兴科学,在过去的30多年中,分形几何已广泛地应用于众多学科的研究领域,并使得许多研究取得突破性成果。分形理论最重要、最直接的使用领域是计算机图形学,分形理论研究和进展极大地丰富了计算机图形学的内涵,在计算机图形学中对自然景物的真实模拟和建模起着关键作用,已经形成了很多绘制分形图形的经典方法,如:迭代函数系统(Iterated Function System,IFS)、L系统、中点位移法,Diamond-Square算法、粒子系统等,用这些算法生成的自然景物在逼真性方面有着传统欧式几何不能相比的优点。
   现实世界尤其是自然环境中的很多物体都是以某种不规律的随机状态表现出来的,树、山、云、地形、海浪等都有着复杂的结构和形态,而目前的三维实体库中还缺少这些关键要素,用普通的图形生成软件或者编程绘制都有很大的困难。所以开发运用分形图形学构建的,包含各种自然界图形实体的图形库具有现实的意义。
   图形库中的图形文件有多种存储方式,目前主要的有两种:图形文件格式和数据库存储方式。图形文件是将三维图形的顶点坐标等信息存储在数据文件。在需要的时候,从图形文件中读取图形数据绘制三维图形。比较流行的图形文件有3DMAX的3DS文件,VRML(Virtual Reality Modeling Language)的WRL文件等。如果用图形文件存储三维分形图形,优点是绘图时不必再进行复杂的计算,因为图形文件存储的是经过计算后的分形图形的顶点坐标,可以有效提高分形图形的绘制速度。但是分形几何图形与欧氏几何图形相比有着不同的特点:欧氏几何的图元是有限的,所以用欧氏几何模拟的规则三维物体也是有限的;而分形几何绘制的图形如用它来描绘的自然景物一样具有无穷的形态和细节,具有随机性和自相似性。所以用图形文件存储分形图形,会导致图形文件的数量巨大,图形文件的存储和检索都会造成困难。数据库是指以一定的组织方式存储在一起的、能为多个用户所共享的、与应用程序彼此独立的相互关联的数据集。数据库中各种不同类型的数据和数据之间的联系全部集中的按照一定的结构形式进行存储。由于数据库存储具有的数据结构和存储方式,使数据库系统比文件存储管理方式在数据冗余度、完整性等方面具有显著的优点。图形数据库在CAD/CAM领域有着广泛的应用,如:AutoCAD。如果用数据库存储分形图形,仍然会造成数据量庞大的问题。在CAD/CAM领域用户对图形的生成速度并不敏感,只要在可以接受的时间内生成用户期望的图形即可。但使用虚拟现实系统的用户要求的是实时性,三维虚拟场景的绘制速度必须达到每秒30帧以上,用户才不会感觉到场景重绘的跳跃感,所以虚拟场景需要有毫秒级的绘制速度。如果使用数据库存储静态的三维实体图形,如静态的分形树,在虚拟场景第一次绘制时读入图形信息即可,但如果是动态的三维实体图形,如随风摇曳的树、粒子系统生成的火焰等,在每次虚拟场景重绘时,都需要从图形数据库中读入实体图形的信息,所以虚拟场景的绘制速度较大程度的依赖数据库的性能,而使用高性能的数据库系统会增加虚拟现实系统的成本,不利于分形实体图形的实用化。因此目前流行的图形文件和图形数据库等静态数据结构都不适合存储应用于虚拟现实系统的分形三维实体图形。构造三维实体图形库的最终目的是使其商业化,可以作为产品销售,所以必须对实体的内容进行保护,防止实体文件内容泄露,因此直接提供给用户分形三维实体图形的生成程序也是不合适的。
   本文提出一种使用动态链接库和OpenGL的显示列表机制来构造三维实体图形库的方法,即实现了实体图形生成算法的隐藏和图形库的模块化,也保证了虚拟现实系统的漫游速度。主要工作是运用分形图形学和虚拟现实技术,创建虚拟环境中树、地形、云、海浪、火焰、雪、喷泉等三维自然景观实体,将每一种实体图形封装成一个由OpenGL子函数和c程序代码组成的非MFC动态链接库文件,设计调用动态链接库的参数化接口,制定这些包含实体图形的动态链接库的协同调用规范,建立一个基于分形的三维实体图形库。并开发一个实体图形库的调用程序,使用库中的三维图形交互的生成三维图形和三维虚拟场景,给出一个实体图形库的应用实例。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号