毕业设计虚拟校园三维模型设计制作_第1页
毕业设计虚拟校园三维模型设计制作_第2页
毕业设计虚拟校园三维模型设计制作_第3页
毕业设计虚拟校园三维模型设计制作_第4页
毕业设计虚拟校园三维模型设计制作_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、潍坊学院本科毕业论文PAGE PAGE 30 目录摘要 2前言 41.论文的选题背景与研究意义 51.1选题的背景 51.2论文的研究意义 52.当前虚拟现实系统的主要问题与发展方向 52.1虚拟现实系统中场景建模的问题 52.2虚拟现实系统中场景绘制的主要问题 62.3虚拟现实系统今后的发展方向 73.虚拟校园系统的三维建模 73.1场景的建模技术 7 3.1.1基于图形绘制的建模技术 7 3.1.2基于图像的建模绘制技术 83.1.3基于图形与图像的混合建模技术 9 3.2层次细节模型生成和绘制 9 3.3系统的建模方法 104.建模设计与数据表现 11 4.1三维建模的原则 11 4.2

2、实体建筑的构建 12 4.2.1构建实体建筑的基本原理12 4.2.2实体建筑的构建125.建模中常见的问题 16 5.1过分强调细节 16 5.2实体拼接组合的位置关系不正确 16 5.3存在冗余多边形 17结束语 18参考文献 19致谢 20摘要随着计算机技术、通信技术及其他相关技术的飞速发展,虚拟现实的仿真技术也日益成为当前研究的热点。通常传统的校园三维立体图内容单一,缺乏实体感,实用价值受到限制,而虚拟校园是将虚拟现实技术引入到“数字校园”的研究中,为校园的规划和设计提供了一种全新的手段。虚拟校园三维模型不仅能自然、真实、形象地表达现实世界的对象,而且拓展了现实校园的时间和空间维度,从

3、而扩展其功能。本文在分析了虚拟现实(Virtual Reality)技术的概念、基本特征及其在国内外发展应用情况的基础上,结合校园的具体情况,构建了基于Web的VCS虚拟校园系统采用图形与图像混合建模技术,实现了VCS虚拟校园系统的三维建模,并对虚拟世界中复杂物体建模技术进行了探索,总结出了树木、花草等复杂对象建模的一般方法,分析并解决了几何体的纹理映射问题,极大地减少了场景制作的工作量。关键词:虚拟校园,三维建模,AbstractWith the development of computer technology,communications technology,and other re

4、lative technology,the simulation technology based on virtual reality is a hot research issue at present.The traditional campuss illustration is always too simple and lacks the reality.As a result its practical value is often limited.Introducing virtual reality technology into the research of numeric

5、al campus can provide a new method for campus design and planning.Virtual campus 3D model space not only offer the natural,real, visual and vivid representation of real world but also can develop time and space of campus,sequentially extend its function. This paper expatiates on concept and characte

6、rs of the Virtual Reality system.It expounds the status of the development and application of VR also. The virtual campus system based on web is realized according to some concrete conditions of campus.It includes 3D modeling,roaming,multimedia playing and real time interactionThe technology of Grap

7、hic and Image-Based Modeling and Rendering is adopted,and 3D model of virtual campus system were accomplished.The geometry modeling of complex object is explored in VR,and commonly means were summed up such as trees,flower and grass etc.This paper also analyzed texture mapping problems of big and sm

8、all geometry object,which can reduce workload of building scene.Keywords:Virtual campus system,3D model前言虚拟现实技术是利用计算机生成一种高逼真的模拟环境,通过多种传感器接口使使用者“沉浸”到这种环境中,实现使用者与该虚拟环境直接进行“交互”的技术。立体式虚拟校园能给使用者创建一个使他感受到身临其境的环境,建模技术是整个立体式虚拟校园建立的基础,是建立立体式虚拟校园的关键技术,是整个虚拟现实技术的骨架。本文以潍坊学院虚拟校园的设计为研究对象,以潍坊学院校园为虚拟空间,以建立潍坊学院虚拟校园为

9、目的,探讨了建立立体式虚拟校园的建模技术与数据表现方法。论文从三维模型在计算机内的表示着手,从本质上探讨了三维模型的表示方式,为所有建模的原理提供了理论依据。论文分析了虚拟现实技术中的三维建模技术的方法、特点,针对虚拟校园中的各种不同类型的物体的建模方法及其数据表现方法分别进行了深入地探讨。针对校园中出现的地形,实体建筑,自然景观,粒子系统等实体的建模方法做了详细的分析,这些建模方法具有一定的针对性,符合事物自身的特点,对不同类型的事物具有很强的代表性,体现了虚拟现实建模技术的一些重要概念和方法。1.论文的选题背景与研究意义1.1选题的背景虚拟现实(简称VR)技术是指利用计算机建立的人工媒体空

10、间,它是模拟的,但又是具有真实感的,通过多媒体传感交互设备使人进入一种虚拟的环境,并提供一种模拟现实的操作环境,利用计算机生成逼真的三维视觉、听觉、触觉的感观世界,使人们对所研究的对象和环境获得身临其境的感受,从而提高人类认知的广度和深度,拓宽人类认识客观世界的“认识空间”和“方法空间”,最终达到更本质地反映客观世界的实质1。VR有三个最突出的特征:沉浸感(Imnlersoin),让参与者有身临其境的真是感觉;交互性(Interactino),通过使用虚拟交互设备实现参与者与虚拟环境(virtualEnvironment)对象的自然交互与操作;构想(Imagination),是指虚拟环境可以使

11、人沉浸其中并且获取新的知识,提高感性和理性的认识,启发人的创造性思维12。目前,随着虚拟现实技术的日趋成熟,“数字地球”与“数字城市”的逐步完善,网络教育与数字校园的结合已成为一种必然的趋势,人们已经不满足于对校园环境的浏览,基于教学、教务、校园生活为一体的三维可视化虚拟校园建设孕育而生。基于这种情形,建立立体式虚拟校园是非常必要的。1.2论文的研究意义“虚拟校园”包括信息的获取、处理和应用,采取不同方式的遥感与非遥感手段获得海量的校园数据,将校园信息按地理坐标组织,对校园内部及周边环境进行建模,在计算机中重现真实的校园原貌3。本文将潍坊学院校园的基础设施以逼真的三维景观形式表达,不仅可以提高

12、学校教学、科研、后勤保障等管理工作的效率,还可用于Intenret上发布,向国内外展示学校校园风光、历史沿革、科研成果、院系和专业设置、教学设施与成果、国内外合作交流等广泛的应用前景和推广价值。虚拟校园的建立,将会提高我校的知名度,对我校的发展及形象宣传具有重要的价值和积极作用。虚拟校园中的三维建模是整个立体式虚拟校园建立的关键。三维建模技术是整个立体式虚拟校园建立的基础,是整个虚拟现实技术的骨架。2.当前虚拟现实系统的主要问题和发展方向技术上,虚拟现实系统的主要问题集中体现在场景建模、场景的实时绘制几方面,分述如下:2.1虚拟现实系统中场景建模的问题在虚拟现实系统中首先要做的第一步是生成虚拟

13、场景,也就是我们通常所说的场景建模。当前世界范围内围绕虚拟场景建模问题的解决方式主要有以下两种,其一是基于计算机图形学的三维几何模型建模G(ocmeyrt一BasdeMdoelni助,又称为基于图形的建模(Grpahics一BasdeMdoelin幻,另一种建模方式是近几年发展起来的基于图像的建模(mIgae一BasdeMdoeling)技术,它采用待建三维虚拟空间的多幅图像样本,在一定的图像处理算法和视觉计算算法的基础上来构造三维场景。这两种建模方法各有优缺点,基于计算机图形学的几何模型建模的优点是,用户可以方便地与虚拟场景中的虚拟对象进行交互,也可以方便地获取虚拟对象的深度信息,由于深度信

14、息是三维图形最基本的特征,同时“以人为本”的交互性能深受大家的青睐,基于图形的建模方式在众多虚拟现实系统中得以广泛应用。其缺点是几何模型三维场景的真实感是建立在对几何物体表面材质的光照模型基础上的,其阴影和纹理要在基于某种光照模型的计算下,通过硬件绘制,并配以图形加速性能显示出来,这在场景模型复杂的情况下,将会因计算量较大,而产生延时,从而使场景的复杂度受到限制;基于图像的三维场景建模是在对场景己有图像集合处理的基础上生成的,其优点是计算量较小,对硬件的要求不如几何建模那样高,缺点是场景中的虚拟物体是图像中的二维对象,因而用户很难,甚至不能与这些虚拟对象进行交互操作,此外基于图像的三维场景建模

15、的虚拟现实系统,在用户的使用过程中,仅能定点游览或小范围的变动视点,而不能随意漫游,极大地限制了该方法的使用。一个较好的策略是结合这二种建模方法,取长补短,使虚拟现实系统的性能更加完善,目前的混合建模方法由此而生。通常虚拟现实系统的场景都较为庞大繁杂,而且一般的图形图像API都不支持绘制复杂的对象,如果直接在应用程序中生成,非常烦琐复杂、工作量巨大,同时计算机的软硬件要求很高。目前通用的做法是预先生成系统的相关模型,然后在应用程序中进行调用。国外有一些专用的建模工具(并配备专用的引擎工具)如:MULTIGENCREAIER、WORLDTOOL等,而国内这方面还没有较为成熟的应用软件,因此进行这

16、方面的工作很有现实意义。一种变通的做法是利用如3DsMAX、AUQTCAD、3DsTuDIO等通用软件进行建模,由于这些通用软件并没有为虚拟现实系统提供专用的接口,使用这些通用软件的一个主要问题是需要了解这些软件的文件格式,开发专用的接口,以便虚拟现实系统能根据系统开发者的要求调用建成的场景模型。2.2虚拟现实系统中场景绘制的主要问题虚拟现实系统中场景模型的复杂度和交互实时性之间的矛盾是虚拟场景绘制中存在的主要问题,也是制约虚拟现实应用发展的瓶颈技术。实时三维图形绘制和加速技术是目前计算机图形、虚拟现实技术中重要的研究领域和极富挑战性的课题。随着虚拟现实技术应用的深入,计算机所绘制的场景日益复

17、杂、逼真,远远超过了计算机硬件绘制能力。尽管计算机图形软、硬件技术水平飞速发展,许多图元的绘制可通过硬件来实现加速,但是远远不能满足人们的应用需求。而且,虚拟现实技术的许多应用领域(如:协同式计算机辅助设计、虚拟场景漫游、飞行仿真、vR游戏、远程医疗和数字地球等)都要求用户能在交互式的帧频率下同场景中的对象进行实时操作和理解。2.3虚拟现实系统今后的发展方向目前虚拟现实系统发生着日新月异的变化,从国内外研究的进展情况来看,虚拟现实的研究结合当前的各种计算机技术和各行业的发展而飞速前进,与网络结合发展了网络虚拟现实系统、分布式虚拟现实系统。由单投影应用发展到多投影应用,与智能化技术相结合发展了智

18、能虚拟环境,根据建模方式的不同虚拟现实技术逐步向增强现实技术、混合现实技术发展。3.虚拟校园系统的三维建模构造一个三维虚拟校园系统的主要工作之一是运用三维场景建模技术在计算机中生成逼真、等同现实世界的虚拟世界。由于人的信息感知主要来源于视觉,而虚拟世界的逼真程度直接影响整个虚拟校园的沉浸感,因此,三维场景模型构造在整个系统中占有非常重要的地位。随着对虚拟现实场景中三维模型逼真度要求的不断提高,选择合适的建模工具以及掌握必要的三维模型生成技术将有助于虚拟环境的建立。3.1场景的建模技术3.1.1基于图形绘制的建模技术基于图形绘制的建模技术(Graphic-Based Modeling andRe

19、nderingGBMR,简称几何建模法)是充分利用计算机图形学技术进行虚拟环境的建模和绘制。首先对真实世界进行抽象,用多边形构造虚拟景观(包括地形、建筑、实体、树木等)的三维几何建模,并建立虚拟环境中的光照和材质模型,然后进行纹理映射及控制参数设定,利用计算机由模型实现多边形处理、着色、消隐、光照以及投影等一系列绘制过程,产生虚拟场景,在输出设备上实时渲染绘制视景画面,从而完成对整个场景的漫游和交互5。几何建模法实现的虚拟场景大多具有精确对应的几何模型,得到的场景显得比较细腻、逼真,同时便于用户与虚拟场景中虚拟对象的交互,以及对虚拟对象的深度信息进行直接获取。即使在规划设计阶段,只要有相关的建

20、筑图纸,按照对应比例与尺寸,一样能够完成场景的构建与漫游,即能够实现虚物实化6。几何建模法应用时间较长,技术路线比较成熟,国内外都研发了许多建模工具及控制集成软件,这些都使得几何建模法目前实际应用比较广泛。但在场景模型比较复杂的情况下,几何建模技术也存在一些不足:一是对复杂场景进行详细建模太过烦琐,工作量大,费时费力;二是当场景模型复杂时,实时显示的计算量较大,而使用户与虚拟场景无法实时交互,用户对场景中虚拟对象的操作也无法得到实时的反馈,场景难以达到完全逼真;三是场景实时渲染绘制对计算机软硬件要求较高。这将使场景的复杂性因硬件的处理能力而受到限制,从而使对复杂场景的建模难以实现。3.1.2基

21、于图像的建模绘制技术基于图像的建模绘制技术(Image-Based Modeling RenderingIBMR)是指用预先获得的一组图像(合成的或真实的)来表示场景的形状和外观;而新图像的合成则是通过适当地组合原有图像来实现7。基于图像建模的方法可以克服复杂场景三维建模的困难,并且可以使用真实世界的图像提供更丰富的细节,较容易得到与真实环境相近的效果,生成图像的质量独立于场景的复杂性。其计算量较小,也不受场景复杂度的限制,且对硬件的要求也不及基于图形的建模高,还可以在微机上实现。但由于场景中的虚拟物体是图像中的二维对象,因而用户很难甚至不能与这些二维对象进行交互,出现漫游失真,该方法适合于基

22、于真实自然场景的三维虚拟环境的建立。另外,获得实景图像需要高性能的照相与摄影器材,得到的大量图像文件也需要大量的存储空间,这些都使它的应用受到了一些限制8。从以上对两种技术的介绍可以看出:与GBMR相比较,IBMR的优点在于:建模容易:不需耗费大量的人力和技巧,通常的IBMR意义下的建模过程主要是一个系统如何组织和联系现有获得数据的问题,而不是需要所有的几何细节。用户需要做的事情主要是拍摄照片以及一些简单的交互操作,即使需要一些额外的几何信息,IBMR系统一般也是主要通过计算机视觉的知识进行自动的提取和匹配,而不需要人工的繁复劳动。绘制快:不需要复杂的计算,直接从已有的视图中合成新视图,绘制时

23、间不依赖于场景的复杂度,它所构造的场景模型一旦建立,在绘制输出时和场景的复杂度没有关系,只跟采样与显示分辨率有关。在场景复杂度增加时,它的显示输出时间是一个常数,不会因为场景复杂度增加而引起“屏闪”现象。由于绘制速度快,可以在低档微机上实时生成场景,无需高档的图形专用硬件,这是IBMR技术的一个明显优势。真实感强:由于所有景物的形状、光照、材质和纹理等效果都是来自真实拍摄的照片,而不是通过模型计算生成光照与纹理图像,真实场景的显示容易达到很高的逼真效果,是传统基于几何方法无法比拟的,这是IBMR技术相对于传统几何建模绘制技术最明显的一个优势。计算量小:基于几何的方法需要建立场景完整的、精确的表

24、达,绘制时也要对整个场景进行计算和存储。相反,IBMR技术只需要离散的相片采样,绘制时也只要对与当前视点相邻的图像进行处理,因此计算量远远小于传统计算机图形学建模910。3.1.3基于图形与图像的混合建模技术可以看出GBMR和IBMR这两种方法各有优缺点,如果采用基于图形与图像混合建模技术就能将两者的优点集于一体,在应用中扬长避短。既避免复杂场景几何模型的大量计算,又满足实时性要求11。混合建模技术的基本思想是先利用IBMR构造虚拟场景的环境来获得逼真的视觉效果,同时对虚拟环境中用户要与之交互的对象利用GBMR来进行实体构建,这样既增加了场景真实感,又能保证实时性与交互性,提高用户的沉浸感,在

25、实际应用上,这种技术将很有意义12。尽管基于图形与图像的混合建模技术集基于图形渲染建模与基于图像建模的优点于一体,但是其实现也带来很多技术上的困难和人机交互的难度,如两种场景的无缝连接和交互时的场景变换等问题尚待优化,因此,这种图形与图像的混合使用与真正意义上的混合建模技术还有很大的距离。为了避免复杂场景几何模型的大量计算,构造真实感强、逼真度高、实时性强的校园场景,VCS虚拟校园系统采用基于图形与图像的混合建模技术作为三维场景模型建立的最主要建模技术13。3.2层次细节模型生成和绘制同一个物体,把它放到远近不同的位置,人的眼镜所能看到的该物体细节的详细程度是不一样的,在视点离物体比较远的情况

26、下,再详细的模型,也只能看到大概的轮廓,因此如果此时仍然选用细节非常详细的物体模型参与该模型远景的生成,则是一种浪费,应该用一个相对比较简单但又能表现其主要轮廓的模型取而代之。有效的办法是,根据这一视觉规律,预先为同一个物体建造一组详细程度有差别的几何模型,计算机在生成视景时,根据该物体所在位置离视点距离的大小,调入相应详细程度的模型参与视景的生成,以节约计算时间,增强视景的“实时”效果,其实现方法就是为物体建造一组详细程度不同的模型。目前的层次细节技术的研究主要集中于如何建立原始网格模型的不同层次细节模型以及如何建立相邻层次的多边形网格模型之间的几何形状过渡。对于原始网格模型的不同层次细节的

27、模型建立,我们假设场景的模型都是三角形网格(在实际应用中,为了绘制方便,三维场景最后一般都被转化为三角形网格),从网格的几何及拓扑特性出发,存在着三种不同基本简化操作,分别是:(1)顶点删除操作。删除网格中的一个顶点,然后对它的相邻三角形形成的空洞作三角剖分,以保持网格的拓扑一致性。(2)边压缩操作。把网格上的一条边压缩为一个顶点,与该边相邻的两个三角形退化(面积为零),而它的两个顶点融合为一个新的顶点。(3)面收缩操作。把网格上的一个面片收缩为一个顶点,该三角形本身和与其相邻的三个三角形都退化,而它的三个顶点收缩为一个新的顶点。3.3系统的建模方法虚拟场景模型是整个实时漫游系统的基础,模型的

28、好坏直接影响运行的效果和场景的逼真度,过多的模型细节会严重降低基于Web场景图形的绘制效率,因此在建模过程中往往要在模型的细节度和复杂性之间寻求平衡,必要时用纹理代替模型细节。完全用VRML语言建立复杂的三维模型是相当烦琐的并毫无直观性可言,而3DS MAX强大的三维建模功能刚好可以弥补VRML这方面的不足3DS MAX是一种功能强大的可视化建模工具,只要综合利用3DSMAX中提供的各种建模方法和工具,就可以得到合乎用户需要的模型,一般对于复杂的造型采用它,3DS MAX支持VRML文件格式的输出,通过VRML插件辅助工具,可以直接输出场景,包括几何造型、材质、动画等,大大简化了VRML编程复

29、杂度14。在VCS虚拟校园系统场景的构建中,充分利用了3DS MAX8.0给用户提供的多种建模方法,分别如下所示:(1)直接创建几何体对象。3DS MAX内置了许多基本的几何体模块,比如球体、立方体、圆柱体、三角锥等,用户只要拖动鼠标定义对象的尺寸,或者在命令面板中直接用键盘输入各种位置、大小信息,3DSMAX就会生成一些基本几何体,在对这些基本几何体进行一系列的编辑,既可以得到所要创建的对象。(2)使用样条曲线图形。样条曲线是一种根据数学原理弯曲的特殊类型曲线,它们通常是在三维空间中绘制的二维曲线,3DS MAX通过给二维图形添加厚度(Extrude)、旋转(Lathe)样条曲线来创建三维对

30、象。(3)使用网格(Mesh)对象。网格对象是大多数3D文件类型使用的默认模型类型,包括流行的3D格式3DS DXF都是以网格的形式存储的。3DS MAX可以把一些简单的几何体转换为网格对象,然后通过编辑修改器(Modifier)对网格对象的次对象,如顶点(Vertex),边(Edge)、面(Face)、多边形(Polygon)和体元素(Element)进行编辑,从而得到想要得到的复杂模型15。(4)使用面片(Patch)对象。面片的使用方法类似于网格,它们的区别仅在于生成图形的数学原理基于Web的VCS虚拟校园系统的构建不同,网格对象用平面方程来包围几何体的表面,面片则是用Bezier曲线来

31、逼近物体表面,它是多边形网格对象的补充。(5)使用复合(Compound)对象。它主要是通过对已得到的简单模型进行变形(Morph),离散(Scatter)、包裹(Conform)、连接(Connect)、形体合并(ShapeMerge)、布尔运算(Boolean)、放样(Loft)等过程生成用户需要的复杂模型16。(6)用NURBS对象。NURBS是Non-Uniform Rational B Splines(非均匀有理B样条曲线)的首字母缩略词,从这个名字就可以知道它是基于NURBS曲线原理来构造三维物体的。(7)放样(Loft)对象。放样是来自造船业的一个术语,它借用了造船业的思想,先创

32、建并定位横截面,然后定义一个放样路径,让横截面沿路径拉伸,从而得到三维对象17。在3DS MAX中对三维模型建模成功后,保存为VRML文件格式,但是这种文件数据量大,为适合网络实时传输,就必须对模型进行优化,即在保证模型不失真的情况下优化模型,尽可能减少文件的数据量。然后输出的文件在Vrmlpad2.0编辑环境下由VRML本身的节点实现一些场景或物体的组合以及交互性和动态行为等。4.建模设计与数据表现4.1三维建模的原则建造模型时,要明确建模的目的和要求。目的和要求不同,模型建造的复杂度也必然不同。一般来说,模型的建造要遵循两条最基本原则:第一,数据的可靠性。建模时,收集的数据和有关信息必须准

33、确可靠,否则必然造成很大偏差。因此不但要收集到最新的、准确的资料信息,而且要到实地进行考察。第二,模型必须与原型具有某种程度的相似性。这就是相似性原理,它是建模的基础。在虚拟校园建模中,这就要求对没有准确数据的物体不能杜撰数据,而是要通过一些方法估计出大体符合实际的数据信息。模型建好后,还应该反复验证,直到满意为止。4.2实体建筑的构建4.2.1构建实体建筑的基本原理实体建筑是虚拟场景中的主体部分,实体建筑的建模主要运用的是体素构造表示的原理,使用建模工具从形状和外观上对实体进行模拟,按照建筑物的外部形状,逐步分解为容易构造的简单模型,然后进行正则集合运算形成复杂的建筑模型,同时采用纹理映射等

34、辅助技术手段,增加模型的真实感。4.2.2.实体建筑的构建(1)获得建模数据。潍坊学院虚拟校园的建筑外观与几何形状等要求的数据主要来自学校的建筑图纸,包括平面图、剖面图、立面图及建筑效果图等。(2)确定模型的层次结构。由于系统使用的建模工具Cerator采用树状层次结构来组织管理模型,所以建模时首先要按照建筑物的结构进行层次分解。(3)进行可视建模过程4,。按照所确定的模型层次结构和建筑图纸,在Cerator中利用建模工具箱逐层进行可视建模。注意模型的尺寸形状要与建筑图纸标注的相同。建模的原则是快和省。快是指只对外部可视的部分进行建模,用多边形快速构建模型的外部框架;省是指要尽量减少所使用的多

35、边形的个数,使用最少的多边形获取相同的真实感。在不影响外观效果的前提下,尽量合并能够合并的面。(4)去除冗余多边形。描述实体模型表面的数据经常存在冗余现象,这里的冗余多边形主要是指在实体外部观察模型时不可视的部分。例如,楼体的底座面、内墙面及楼层之间的连接面等。由于场景浏览时它们处于不可见的位置,因此去除它们并不影响实体的视觉效果,而消除这些冗余多边形则可以在很大程度上降低整个场景的复杂度。(5)使用纹理映射。对于门、窗、阳台栏杆等每栋建筑都具有且数量较大的细节部分,我们一般采用纹理映射的方法,在对应位置的多边形表面上贴上纹理图片,用来替代详细的模型。这样处理可以减少模型的多边形数目和复杂程度

36、,提高系统的实时渲染时间和响应速度。只要视点不过于靠近建筑物,纹理映射并不会降低建筑物模型的逼真程度。以下就是模型制作过程中的建造的几个实体建筑模型:图4.1 6号教学楼图4.2 4号教学楼图4.3 7号教学楼图4.4 音体楼图4.5 公寓楼群一角图4.6 图书馆5.建模中常见的问题5.1过分强调细节一般来说,模型的细节程度是影响其逼真性的重要因素之一。细节程度越高,模型越逼真。但是.建立模型的目的是为了给虚拟现实系统创造一个虚拟环境,并在其中实现漫游等任务。因此在建模时还需要考虑到整个系统的综合性能。如果在建模时过分强调细节,对于所有结构和表面特征都采用多边形来实现,而忽略了数据库整体结构的

37、优化设计,不仅会使工作量骤然增大,而且可能导致整个系统的运行速度下降,性能降低。因此,在建模过程中一定要有整体观念,意识到模型细节和系统性能之间的相互制约性,不可盲目追求真实而无限细化模型。5.2实体拼接组合的位置关系不正确许多物体不是用一个简单的几何形状就可以描述,它们常常是由多个实体拼接而成的。但这并不是简单的搭积木,如果拼接组合的位置关系不正确,会引起模型局部闪烁,这种现象的产生的原因有两个:(1)多边形位置重叠造成的Z值争夺。如果两个或两个以上多边形的某些点在空间位置上具有相同的深度值(Z值),那么在使用Z一buffer消隐算法进行图形显示时,无法正确判断哪一个多边形的点应该优先显示。

38、于是出现有的帧显示这个多边形上的点,有的帧显示那个多边形上的点,从而引起画面的闪烁。进行适当的多边形剪切或子面设置就可以避免这一现象的产生。(2)用凹多边形表示实体表面。大多数图形系统都明确规定,不能使用凹多边形绘制实体表面。一般地,图形系统对实体表面的凹多边形进行自动切分或补偿,将一个凹多边形分解或拼凑成为多个凸多边形。但这种自动转变很可能与最初的建模设想不吻合,于是最好的解决方法就是在建模时就将凹多边形切分成若干凸多边形的组合。5.3存在冗余多边形描述实体模型表面的数据经常存在冗余现象,单独建模的实体在进行模型整合时也会发生数据冗余。消除这些冗余的表面多边形可以在很大程度上降低整个系统的复

39、杂度。除了上述三种问题之外,建模过程中不合理的技术运用还时常产生纹理闪烁、光照和透明效果失真等一系列问题。解决这些问题的方法各不相同,如光照失真问题,一般由于使用了过大的多边形引起的,可采取多边形分割的方法予以解决结束语虚拟现实(VR)是近几年来国内外科技界关注的一个热点,其发展也是日新月异。将虚拟现实技术引入到虚拟校园的研究中,为校园的规划和设计提供了一种全新的手段。本文以潍坊学院校园为虚拟空间,以建立潍坊学院虚拟校园为目的,探讨了建立立体式虚拟校园的建模技术与数据表现方法。(1)本文从三维模型在计算机内的表示着手,分析了三维物体的表示模型与表示方式,从本质上探讨了三维模型的表示方式,为所有

40、建模的原理提供了理论依据。(2)本文针对校园中出现模型类别,分类别地讨论了地形,实体建筑, 等模型的建模原理、方法,并给出了建模的结果与构建的层次结构图。因此本文中模型构建方法具有很强的代表性,符合实体的特点。(3)本文中提到的虚拟校园建模是依照潍坊学院校园校貌,进行细致建模并采用纹理映射技术表现三维模型的真实感。本文给出的技术和方法,对三维建模、实时仿真系统和虚拟现实系统等实时性要求高的虚拟环境创建有着重要的意义和可借鉴性。参考文献1.汪成为,高文,王解仁著.灵境(虚拟现实)技术的理论实现及应用.北京:清华学出版社,19962.曾芬芳,虚拟现实技术.上海:上海交通大学出版社,19973.刘祖

41、文.数字城市及其在城市建设中的应用与展望.武汉城市建设学院学报,2000.(3):32344.翟丽平.基于MultGine的虚拟现实三维建模技术研究与实现5.王汝传,张登银,辛晨昀虚拟现实中3D图形建模方法的研究J计算机辅助工程,2000,12(4):25-306孙家广计算机图形学M北京:清华大学出版社,19987曾芬芳虚拟现实技术M上海:上海交通人学出版社,19978王邯基于图像绘制的虚拟校园漫游系统的研究D华中师范大学9徐丹,潘志庚,石教英虚拟现实中基于图像的绘制技术中国图形与图像学报,1998,3(12):1005-101010李自力虚拟现实中基于图形与图像的混合建模技术J中国图像图形学

42、报,2001,6(1):96-10111叶芳芳虚拟场景构建及若干控制技术的研究南京理工大学硕士学位论文D,2004,06景观建模J计算机应用与软件2004,12(7):82-8412李欣基于VRML技术的虚拟数字校园场景建模研究J浙江师范大学学报(自然科学版),2005,28(4):402-40613姜安德,周玲VRML从入门到精通M北京:国防工业出版社,14温颜,温谦3ds max建筑效果创作实例M人民邮电出版社,15曾刚3D STUDIO MAX实例与技巧M北京:北京人学出版社,16黄少刚3ds max 8动画制作高级教程M北京:清华大学出版社,17Ted Boardman;卜照斌,林萍,

43、卜宪瑞等译3ds max 7基础指南:中文版M北京:电子工业出版社,2005,09致谢论文是在吴老师的悉心指导下完成的,从论文的选题、方案设计、系统实现以及论文撰写的整个过程,无不凝聚着老师大量的心血。因此,本论文既是我学业的答卷,更是导师呕心沥血的心作。感谢我的好友尹波,是他在毕业设计期间给了我巨大的帮助!感谢机电学院领导和老师们在我做毕业设计期间给予的关怀和帮助!感谢参加论文评阅和答辩的老师们,在百忙之中抽出时间阅读论文并提出宝贵的意见和建议!最后,向所有关心、支持和帮助过我的老师、同学及朋友们表示最诚挚的谢意!附录资料:不需要的可以自行删除 perl函数应用一、进程处理函数1、进程启动函

44、数函数名eval调用语法eval(string)解说将string看作Perl语句执行。正确执行后,系统变量$为空串,如果有错误,$中为错误信息。例子$print = print (hello,worldn);eval ($print);结果输出hello, world函数名system调用语法system(list)解说list中第一个元素为程序名,其余为参数。system启动一个进程运行程序并等待其结束,程序结束后错误代码左移八位成为返回值。例子proglist = (echo, hello,world!);system(proglist);结果输出hello, world!函数名fork

45、调用语法procid = fork();解说创建程序的两个拷贝-父进程和子进程-同时运行。子进程返回零,父进程返回非零值,此值为子程序的进程ID号。例子$retval = fork();if ($retval = 0) # this is the child process exit; # this terminates the child process else # this is the parent process结果输出无函数名pipe调用语法pipe (infile, outfile);解说与fork合用,给父进程和子进程提供通信的方式。送到outfile文件变量的信息可以通过in

46、file文件变量读取。步骤:1、调用pipe2、用fork将程序分成父进程和子进程3、一个进程关掉infile,另一个关掉outfile例子pipe (INPUT, OUTPUT);$retval = fork();if ($retval != 0) # this is the parent process close (INPUT); print (Enter a line of input:n); $line = ; print OUTPUT ($line); else # this is the child process close (OUTPUT); $line = ; print

47、($line); exit (0);结果输出$programEnter a line of input:Here is a test lineHere is a test line$函数名exec调用语法exec (list);解说与system类似,区别是启动新进程前结束当前程序。常与fork合用,当fork分成两个进程后,子进程用exec启动另一个程序。例子 结果输出函数名syscall调用语法syscall (list);解说调用系统函数,list第一个元素是系统调用名,其余为参数。如果参数是数字,就转化成C的整型数(type int)。否则传递字符串的指针。详见UNIX的帮助或Perl

48、文档。使用syscall必须包含文件syscall.pl,即:require (syscall.ph); 例子结果输出2、进程终止函数函数名Die调用语法die (message);解说终止程序并向STDERR输出错误信息。message可以为字符串或列表。如果最后一个参数不包含换行符,则程序文件名和行号也被输出。例子die (Cannot open input file);结果输出Cannot open input file at myprog line 6.函数名warn调用语法warn (message);解说与die类似,区别是不终止程序。例子warn(Danger! Danger!n

49、);结果输出Danger! Danger!函数名exit调用语法exit (retcode);解说终止程序并指定返回值。例子exit(2);结果输出无函数名kill调用语法kill (signal, proclist);解说给一组进程发送信号。signal是发送的数字信号,9为杀掉进程。proclist是进程ID列表。详见kill的UNIX帮助。例子结果输出3、进程控制函数函数名sleep调用语法sleep (time);解说将程序暂停一段时间。time是停止的秒数。返回值为实际停止的秒数。例子sleep (5);结果输出无函数名wait调用语法procid = wait();解说暂停程序执行

50、,等待子进程终止。不需要参数,返回值为子进程ID,如果没有子进程,返回-1。例子结果输出函数名waitpid调用语法waitpid (procid, waitflag);解说暂停程序执行,等待特定的子进程终止。procid为等待的进程ID例子$procid = fork();if ($procid = 0) # this is the child process print (this line is printed firstn); exit(0); else # this is the parent process waitpid ($procid, 0); print (this lin

51、e is printed lastn);结果输出$ programthis line is printed firstthis line is printed last$4、其它控制函数函数名caller调用语法subinfo = caller();解说返回调用者的程序名和行号,用于Perl Debugger。返回值为三元素的列表:1、调用处的包名2、调用者文件名3、调用处的行号例子结果输出函数名chroot调用语法chroot (dir);解说改变程序的根目录,详见chroot帮助。例子结果输出函数名local调用语法local($variable);解说在语句块(由大括号包围的语句集合)中

52、定义局域变量,仅在此语句块中起作用,对其的改变不对块外同名变量造成影响。千万不要在循环中使用,否则每次循环都定义一个新的局域变量!例子结果输出函数名times调用语法timelist = times解说返回该程序及所有子进程消耗的工作时间。返回值为四个浮点数的列表:1、程序耗用的用户时间2、程序耗用的系统时间3、子进程耗用的用户时间4、子进程耗用的系统时间例子结果输出二、数学函数函数名sin调用语法retval = sin (value);解说参数为弧度值。函数名cos调用语法retval = cos (value);解说参数为弧度值。函数名atan2调用语法retval = atan2 (v

53、alue1, value2);解说运算并返回value1除以value2结果的arctan值,单位为弧度,范围在-PIPI。应用例:角度转化成弧度子程序。sub degrees_to_radians local ($degrees) = _; local ($radians);11: $radians = atan2(1,1) * $degrees / 45;函数名sqrt调用语法retval = sqrt (value);解说平方根函数。value为非负数。函数名exp调用语法retval = exp (value);解说返回e的value次方。函数名log调用语法retval = log

54、(value);解说以e为底的自然对数。函数名abs调用语法retval = abs (value);解说绝对值函数。(Perl 4中没有)函数名rand调用语法retval = rand (num);解说随机数函数,返回0和整数num之间的一个浮点数。函数名srand调用语法srand (value);解说初始化随机数生成器。保证每次调用rand真正随机。三、字符串处理函数函数名index调用语法position = index (string, substring, position);解说返回子串substring在字符串string中的位置,如果不存在则返回-1。参数position是

55、可选项,表示匹配之前跳过的字符数,或者说从该位置开始匹配。函数名rindex调用语法position = rindex (string, substring, position);解说与index类似,区别是从右端匹配。函数名length调用语法num = length (string);解说返回字符串长度,或者说含有字符的数目。函数名pos调用语法offset = pos(string);解说返回最后一次模式匹配的位置。函数名substr调用语法substr (expr, skipchars, length)解说抽取字符串(或表达式生成的字符串)expr中的子串,跳过skipchars个字符

56、,或者说从位置skipchars开始抽取子串(第一个字符位置为0),子串长度为length,此参数可忽略,意味着取剩下的全部字符。当此函数出现在等式左边时,expr必须为变量或数组元素,此时其中部分子串被等式右边的值替换。函数名study调用语法study (scalar);解说用一种内部格式提高变量的访问速度,同一时刻只对一个变量起作用。函数名lcuc调用语法retval = lc(string);retval = uc(string);解说将字符串全部转换成小/大写字母。函数名lcfirstucfirst调用语法retval = lcfirst(string);retval = ucfir

57、st(string);解说将第一个字母转换成小/大写。函数名quotameta调用语法newstring = quotemeta(oldstring);解说将非单词的字母前面加上反斜线()。语句 : $string = quotemeta($string);等效于:$string = s/(W)/$1/g;常用于模式匹配操作中,确保字符串中没有字符被看作匹配操作符。函数名join调用语法join (joinstr, list);解说把字符串列表(数组)组合成一个长的字符串,在每两个列表元素间插入串joinstr。函数名sprintf调用语法sprintf (string, fields);解说

58、与printf类似,区别是结果不输出到文件,而作为返回值赋给变量。例子$num = 26;$outstr = sprintf(%d = %x hexadecimal or %o octaln,$num, $num, $num);print ($outstr);结果输出26 = 1a hexadecimal or 32 octal四、标量转换函数函数名chop调用语法$lastchar = chop (var);解说var可为变量或数组,当var为变量时,最后一个字符被删除并赋给$lastchar,当var为数组/列表时,所有元素的最后一个字符被删除,最后一个元素的最后一个字母赋给$lastch

59、ar。函数名chomp调用语法result = chomp(var);解说检查字符串或字符串列表中元素的最后一个字符是否为由系统变量$/定义的行分隔符,如果是就删除。返回值为实际删除的字符个数。函数名crypt调用语法result = crypt (original, salt);解说用DES算法加密字符串,original是将要加密的字符串,salt是两个字符的字符串,定义如何改变DES算法,以使更难解码。返回值为加密后的串。函数名hex调用语法decnum = hex (hexnum);解说将十六进制数(字符串形式)转化为十进制数。函数名int调用语法intnum = int (float

60、num);解说将浮点数舍去小数部分转化为整型数。函数名oct调用语法decnum = oct (octnum);解说将八进制数(字符串形式)或十六进制数(0 x.形式)转化为十进制数。函数名ord调用语法asciival = ord (char);解说返回单个字符的ASCII值,与PASCAL中同名函数类似。函数名chr调用语法$char = chr (asciival);解说返回ASCII值的相应字符,与PASCAL中同名函数类似。函数名pack调用语法formatstr = pack(packformat, list);解说把一个列表或数组以在实际机器存贮格式或C等编程语言使用的格式转化(

温馨提示

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

评论

0/150

提交评论