版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河南城建学院毕业论文 论文题目 : 三维校园实现方法的研究 指导教师 : 学生姓名 : 专 业 : 班 级 : 日 期 : 年 月 日目录中文摘要1英文摘要2第一章 绪论31、引言32、本课题的目的及研究意义33、研究思路44、本课题的国内外的研究现状5第二章 虚拟校园采用技术 61、虚拟现实技术概述62、360度环视 83、基于瓦片地图技术的2.5维地图 94、虚拟现实与360环视技术、瓦片地图技术对比10第三章 虚拟校园的实现181、VRML编程简介182、虚拟建模243、虚拟浏览控制具体实现流程304、虚拟校园发布34第四章 总结和展望40
2、1、课题总结402、未来展望40致谢 41已查阅参考文献 42摘要虚拟现实(Virtual Reality是把客观上存在的或并不存在的东西,通过运用计算机技术,在用户眼前生成一个虚拟的环境,使人感到像真实存在似的一种技术。虚拟现实技术在许多不同的领域有广泛的应用。本文主要针对虚拟现实开发的相关知识做了介绍,对比了虚拟现实不同实现方式技术的优缺点。并且以VRML、java为基础,采用C/S架构,应用Skectchup、AutoCAD等开发工具,设计开发基于因特网的虚拟校园环境。阐述了Skectchup、AutoCAD建模流程。同时利用VRML技术在数字校园可视化中的应用,用虚拟空间场景代替传统的
3、抽象地图及其相应的描述文件,从而以生动的模型来模拟和显示现实三维空间。最终以人机互动方式来实现校园三维景观的实时漫游,为校园管理和服务提供一个科学简便、形象直观的可视化人机交互平台。关键字:VRML、虚拟现实、三维建模ABSTRACTVirtual Reality (Virtual Reality is an objective existence of things or does not exist, through the use of computer technology, before the user to generate a virtual environment, peop
4、le feel like as a real technology. Virtual reality technology in many different areas of a wide range of applications. In this paper, the development of virtual reality for knowledge is introduced, compared to the virtual reality technology in different ways to achieve the advantages and disadvantag
5、es. As well as VRML, java-based, the use of C / S architecture, the application Skectchup, AutoCAD, such as development tools, design and development of Internet-based virtual campus environment. On Skectchup, AutoCAD modeling process. At the same time, the use of technology in the Digital Campus VR
6、ML Visualization, virtual space with abstract scenes to replace the traditional map and its corresponding description files, so vivid in the model to simulate and display realistic three-dimensional space. The ultimate way to human-computer interaction to achieve real-time three-dimensional scene on
7、 campus roaming, management and services for the campus to provide a scientific and simple, intuitive image visualization platform for human-computer interaction.Keywords: VRML、virtual reality,、three-dimensional modeling第一章 绪论1、引言随着虚拟现实技术和网上三维虚拟环境的发展,以及数字地球概念的提出和广泛的实践,对现实大学校园的数字化和虚拟化,即对虚拟校园的研究与构建也越来
8、越多。虚拟校园(virtual campus是基于地理信息技术、虚拟现实技术、计算机网络技术等高新技术,将校园地理信息和其他校园信息结合,以三维可视化和虚拟现实场境界面实现校园景观、校园信息的浏览、查询,并可上载到计算机网络,提供远程用户访问的一个新的校园空间。这个校园空间主要是利用虚拟现实技术沟建的,所以它也具有虚拟现实技术的一些特征-沉浸感和交互性,即用户在计算机所创造的虚拟校园中有身临其境的感觉,并能对虚拟校园中的实体进行观察、操纵和访问。虚拟校园中所用到的地理信息技术是一项以计算机为基础的新兴技术,围绕着这项技术的研究、开发和应用形成了一门交叉性、边缘性的学科,是管理和研究空间数据的技
9、术系统,在计算机软硬件支持下,它可以对空间数据按地理坐标或空间位置进行各种处理、对数据的有效管理、研究各种空间实体及相互关系。通过对多因素的综合分析,它可以迅速地获取满足应用需要的信息,并能以地图、图形或数据的形式表示处理的结果。2、本课题的目的及研究意义 早期的GIS主要为2DGIS,是以平面制图和平面分析为主要功能。随着技术发展,以Flash技术为核心,360全景技术得到发展。此时的三维GIS可以浏览三维景观,但是只能以固定路线浏览,互动性较差,三维真实感较低。在此背景下,基于虚拟现实技术(VR)、地理信息技术(GIS)和计算机网络技术(WEB)等高新技术的三维GIS系统应运而生。它将校园
10、地理信息和其他校园信息相结合,以三维虚拟现实场景呈现校园风光。而虚拟校园漫游系统则是在此基础上增加了漫游功能,更加具体表现了虚拟校园真实性和沉静性特点。目前,开发虚拟校园漫游系统主要采用的技术有VRML、WTK、MultiGen等技术。利用VR技术建设虚拟校园,可以在计算机或者计算机网络上构造校园景观三维真实感模型。通过飞行模拟、步行穿越等方式实现对虚拟校园场景的交互式漫游。这种交互式漫游允许用户随意手动控制如放大、缩小、从不同的角度、不同的高度观看、控制漫游的速度等。利用虚拟校园建模手段还可以考察校园现状环境存在的问题。将建筑物或园林设施的虚拟模型置于完整的虚拟环境中可以考察其与周围环境是否
11、协调。进行校区规划和建筑设计方案的可视化比选,从虚拟环境中移去拟拆毁建筑物可以分析拟定改造完成后对校园景观的影响。用户还可以在校园电子地图或三维环境中查询、检索校园信息。某些设施通过构造虚拟现实场景,用户可以获得身临其境的感觉甚至可以在网络上使用这些设施提供的服务。3、研究思路本论文研究虚拟校园建模和漫游技术,以河南城建学院作为实践,以虚拟现实技术作为关键技术,实现其虚拟建模和虚拟漫游。操作过程如下:3.1、数据收集收集校内建筑的平面图、立面图。如果没有,使用全站仪进行测量,获取建筑的轮廓图。3.2、数据预处理将数据导入计算机内储存,用CAD软件进行处理。3.3、三维模型的建立虚拟校园三维模型
12、主要分为建筑模型、地形模型、地物模型三类。分别对每一类进行建模。3.4、材质和贴图建立模型之后的工作就是给模型赋予材质和贴图。通过贴图可以增加模型的质感,完善模型的造型,使创建的三维场景更接近现实。3.5、编程实现VRML本身具有一定的交互能力,当用户只是需要一些简单而且单一的动画时,不需要再借助其他的程序语言。但在实际情况中,特别是在实现复杂的交互行为时,仅仅采用VRML将难以胜任,目前主要借助于第三方语言来补充,如Javascript、Java等。本课题考虑采用功能强大的Java来实现。3.6、虚拟校园发布实现虚拟校园的最终漫游功能,并进行web发布。4、本课题的国内外的研究现状4.1、虚
13、拟校园在国外研究现状美国是VR技术的发源地。目前美国在该领域的基础研究主要集中在感知、用户界面、后台软件和硬件四个方面。同时在美国VR技术已广泛应用于教育领域,美国大学校园的信息化建设己经涉及图书馆网络、学校管理工作、教学活动、科研活动、学生日常生活的各个方面,并且已经取得举世瞩目的成绩。美国大学“虚拟校园”的大门己经向世界敞开。比较著名的有:辛辛那提大学、斯坦福大学、康奈尔大学医学院、乔治华盛顿大学、加州大学艾尔文分校等。其次,在当前实用虚拟现实技术的研究与开发中日本也是居于领先位置的国家之一,主要致力于建立大规模VR知识库的研究。另外在虚拟现实的游戏方面的研究也做了很多工作。但日本大部分虚
14、拟现实硬件是从美国进口的。日本电信与京都大学、Satnford大学合作致力开发网上虚拟京都,发布城市信息,为社会提供服务。4.2、虚拟校园在国内研究现状 一些发达国家相比,我国VR技术还有一定的差距,但已引起政府有关部门和科学家们的高度重视。根据我国的国情,制定了开展VR技术的研究,例如,九五规划、国家自然科学基金会、国家高技术研究发展计划等都把VR列入了研究项目。在紧跟国际新技术的同时,国内一些重点院校,已积极投入到了这一领域的研究工作。尤其在科技研究、虚拟仿真校园,虚拟教学、虚拟实验,教育娱乐等方面进行了更深入的研究。网络教育的特点,虚拟现实技术的特点,决定了我们可以仿真我们的校园环境,因
15、此虚拟校园是虚拟现实技术与网络与教育最早的具体应用。这种应用在国内一些高校己经开始逐步推广、使用虚拟校园模式,比如香港理工大学、香港教育学院、香港职业技术培训学院、香港中文大学研究的类似系统实现了虚拟校园的部分功能,特别是香港理工大学的校园信息系统是一个较为成功的集虚拟现实技术、因特网和电子地图为一体的虚拟校园系统:人们可以浏览虚拟校园环境,利用虚拟图书馆查找和阅读期刊及书籍,通过访问虚拟实验室来使用计算机设备,通过虚拟教室进行网上学习,而这一切都能让用户有身临其境感。广西机电职业技术学院第二章 虚拟校园采用技术1、虚拟现实技术概述虚拟现实(Virtual Reality,简称VR;又译作灵境
16、、幻真是近年来出现的高新技术,也称灵境技术或人工环境。虚拟现实是利用电脑模拟产生一个三维空间的虚拟世界,提供使用者关于视觉、听觉、触觉等感官的模拟,让使用者如同身历其境一般,可以及时、没有限制地观察三度空间内的事物。VR是一项综合集成技术,涉及计算机图形学、人机交互技术、传感技术、人工智能等领域,它用计算机生成逼真的三维视、听、嗅觉等感觉,使人作为参与者通过适当装置,自然地对虚拟世界进行体验和交互作用。使用者进行位置移动时,电脑可以立即进行复杂的运算,将精确的3D世界影像传回产生临场感。该技术集成了计算机图形(CG技术、计算机仿真技术、人工智能、传感技术、显示技术、网络并行处理等技术的最新发展
17、成果,是一种由计算机技术辅助生成的高技术模拟系统。概括地说,虚拟现实是人们通过计算机对复杂数据进行可视化操作与交互的一种全新方式,与传统的人机界面以及流行的视窗操作相比,虚拟现实在技术思想上有了质的飞跃。虚拟现实中的“现实”是泛指在物理意义上或功能意义上存在于世界上的任何事物或环境,它可以是实际上可实现的,也可以是实际上难以实现的或根本无法实现的。而“虚拟”是指用计算机生成的意思。因此,虚拟现实是指用计算机生成的一种特殊环境,人可以通过使用各种特殊装置将自己“投射”到这个环境中,并操作、控制环境,实现特殊的目的,即人是这种环境的主宰。上海大学2、360度环视360度环视技术(Virtual R
18、eality),又称灵境技术。九十年代初逐渐为各界所关注,在商业领域得到了进一步的发展。这种技术的特点在于,计算机产生一种人为虚拟的环境,这种虚拟的环境是通过计算机图形构成的三维数字模型,编制到计算机中去产生逼真的“虚拟环境”,从而使得用户在视觉上产生一种沉浸于虚拟环境的感觉,这就是360度环视技术的浸没感(Immersion或临场参与感。360度环视与通常CAD系统所产生的模型以及传统的三维动画是不一样的,它不是一个静态的世界,而是一个开放、互动的环境,360度环视环境可以通过控制与监视装置影响或被使用者影响,这是VR的第二个特征,即交互性(Interaction)。用户可以使用一个鼠标、游
19、戏杆或其它跟踪器,随意“行走”在方案规划中的居住小区或购物中心,任意进入其中的建筑,甚至可以“乘座”电梯,上到二楼去看一看新店铺的门面设计,感受一下购物中心大厅的装饰和其透过明媚阳光的天窗。另外,360度环视不仅仅是一个演示媒体,而且还是一个设计工具。它以视觉形式反映了设计者的思想,比如当在盖一座现代化的大厦之前,你首先要做的事是对这座大厦的结构、外形做细致的构思,为了使之定量化,你还需设计许多图纸,当然这些图纸只能内行人读懂,360度环视可以把这种构思变成看得见的虚拟物体和环境,使以往只能借助传统沙盘的设计模式提升到数字化的即看即所得的完美境界,大大提高了设计和规划的质量与效率。这是VR所具
20、有的第三类特征,即想象性(Imagination)。正是由于360度环视技术的上述特性,它在许多不同领域的应用,可以大大提高项目规划设计的质量,降低成本与风险,加快项目实施进度,加强各相关部门对于项目的认知、了解和管理,从而为用户带来巨大的经济效益。例如波音公司完全使用360度环视技术设计波音777新型客机获得成功;加拿大政府使用360度环视技术进行多伦多市(Toronto)的城市规划与管理,并把它作为申办2008年奥运会的重要宣传资料。天津大学3、基于瓦片地图技术的2.5维地图由于地理数据的海量特征、地图服务器硬件条件的限制和高并发访问量的应用需求,系统不可能对每次客户请求为其专门渲染出一张
21、地图并传回,瓦片地图技术是加快地图显示的有效途径,它极大地改善了用户体验。这种技术是Google首先采用的,之后纷纷被各大WebGIS站点所采用,比如Microsoft Live Map,E都市和都市圈等,成为构建WebGIS地图的一种新的地图模式。瓦片地图技术主要包含两大组成技术,一种是服务器端的瓦片金字塔地图库预生成技术,另一种是客户端的Ajax技术。运用瓦片地图技术不需要为每次客户请求实时地渲染地图图片,而是首先运用瓦片金字塔地图库预生成技术在地图服务器上生成瓦片金字塔地图库,并把它存储在机器的高速硬盘目录下,然后在客户端运用Ajax技术将用户可视范围内所需要的地图瓦片传回,并进行无缝拼
22、接,使其像整张地图图片的效果一样。这样,在高并发访问量的情况下,不需要重复请求地图服务器渲染出相同地理位置的地图图片;客户端在平移地图等操作的情况下,也只需要下载可视范围内所缺少的地图瓦片和地理属性数据,不需要重复下载浏览器上已有的地图数据。通过瓦片地图技术的支持,极大地改进了客户端和服务器端的交互效率,减轻了服务器负载和网络传输负担。在此基础上,将三维地图投影在二维地图上,给人视觉上的三维立体感觉。但是浏览速度又不会变慢。都市圈、E都市等都采用了此技术。E都市4、虚拟现实与360环视技术、瓦片地图技术对比4.1、360环视技术对全景图的基本制作方法是:在固定的视点用照相机或者摄像机按照一定的
23、方式(通常是按照均匀角度绕轴旋转360 度)采集图像,采集之后的图像输入计算机进行图像拼接、整合等处理,生成无缝全景图像,最后再用计算机经过投影展示出来,并且提供局部的有限的漫游功能。在商用领域比较著名的有Apple的QuickTime VR、IPIX Viewer、Live Picture、IBM的Hot Media等系统。对全景图的基本制作方法是:在固定的视点用照相机或者摄像机按照一定的方式(通常是按照均匀角度绕轴旋转360 度)采集图像,采集之后的图像输入计算机进行图像拼接、整合等处理,生成无缝全景图像,最后再用计算机经过投影展示出来,并且提供局部的有限的漫游功能。在商用领域比较著名的有
24、Apple的QuickTime VR、IPIX Viewer、Live Picture、IBM的Hot Media等系统。(1)全景模型选择:根据全景图投影展示方式的不同,主要可以分为3种模式:立方体模式、圆柱模式、球面模式。这三种模式就是分别把已经拼接好的全景图投影到立方体/ 圆柱体/球体的内表面。此外还有其他展示模式,如采用正多面体去逼近球面的方法。(2)图像采集:一般有两种方法,用全景拍摄器材进行拍摄或者通过普通相机拍摄再进行图像拼接。前一种方式比较容易采集图像,但是这种方法往往意味着购买昂贵的摄影器材,因此影响了其通用性。而后一种方式,用普通相机在固定点拍摄图片然后拼接生成全景图的研究
25、就显得比较活跃了,而全景图生成的核心技术图像拼接算法正是研究的重点。(3)图像拼接与缝合:现有的全景图像拼接生成算法主要可以分为三类:基于特征的方法、基于流的方法和基于相位相关的方法。在得到拼接好的图像后,还需要对图像重叠部分进行处理,以实现图像的无缝拼接。目前经常采用的一种简单的图像缝合技术就是线性插值法(Linear Interpolation)。(4)全景图展示:得到360度的全景图像后,还要把该图像投影到所选择模型的内表面展示,并提供简单的浏览功能。(5)运动物体生成和全景图生成一样,同样可以用以上3种方法生成。在用照相机拍摄物体时,如果对物体的水平方向和垂直方向各拍摄一圈,就可以对物
26、体进行二维的交互控制。链接是指:把得到的全景图按一定方式组织起来,供交互式显示用;把运动物体嵌入到全景图中去,成为“热点”,使用户可以对它进行交互式控制。A、不是真正意义上的三维GIS,无法实现任意角度飞行。B、视点单一,只能在场景内部实现漫游。C、交互性、灵活差,只能使用已制作好的热点。4.2、基于瓦片地图技术的2.5维地图(l首先确定WebGIS地图服务平台所要提供的缩放级别的数量N,把放级别最低、地图比例尺最大的地图图片作为金字塔的底层,即第O层,并对其进行分块,从地图图片的左上角开始,从左至右、从上到下进行切割,分割成相同大小(比如256x256像素的正方形地图瓦片,形成第0层瓦片矩阵
27、;(2在第O层地图图片的基础上,按每2x2像素合成为一个像素的方法生成第1层地图图片,并对其进行分块,分割成与下一层相同大小的正方形地图瓦片,形成第1层瓦片矩阵;(3采用同样的方法生成第2层瓦片矩阵如此下去,直到第N-1层,构成整个瓦片金字塔。下图为瓦片金字塔模型的构建示意图。金字塔构建模型示意图(1)先利用Google Map、Baidu Map将平面二维地图描绘出来。(2)进行三维建模,建模后投影到1中的地图上(3)用photoshop等工具渲染图片、处理图片(4)利用瓦片技术分割图片(5)发布地图Google Map 三维投影A、不能称的上是真正意义上的三维GIS系统,无法实现任意角度飞
28、行 B、不是真正GIS系统,充其量就是一个图片Web文档管理系统。无法实现任意比例尺,无极缩放,从其图片加载速度也可以看出,不是动态生成的图片,而是已经分割好的小图片。C、放大缩小效果是采用不同的图片完成,即图片根据放大比例共分4层,其中每层又分为若干个小块文件。 D、客户端采用js实现托拽,并通过计算获得屏幕坐标和系统相对坐标(非真正地理坐标系),通过AJAX技术实现地图静态更新,动态生成页面文件。已经加载的图像文件不需要更新,只需将分割的未加载文件载入即可。4.3、 虚拟现实技术虚拟现实是多种技术的综合,包括实时三维计算机图形技术,广角(宽视野)立体显示技术,对观察者头、眼和手的跟踪技术,
29、以及触觉/力觉反馈、立体声、网络传输、语音输入输出技术等。下面对这些技术分别加以说明。实时三维计算机图形技术相比较而言,利用计算机模型产生图形图像并不是太难的事情。如果有足够准确的模型,又有足够的时间,我们就可以生成不同光照条件下各种物体的精确图像,但是这里的关键是实时。例如在飞行模拟系统中,图像的刷新相当重要,同时对图像质量的要求也很高,再加上非常复杂的虚拟环境,问题就变得相当困难。广角(宽视野)的立体显示人看周围的世界时,由于两只眼睛的位置不同,得到的图像略有不同,这些图像在脑子里融合起来,就形成了一个关于周围世界的整体景象,这个景象中包括了距离远近的信息。当然,距离信息也可以通过其他方法
30、获得,例如眼睛焦距的远近、物体大小的比较等。在VR系统中,双目立体视觉起了很大作用。用户的两只眼睛看到的不同图像是分别产生的,显示在不同的显示器上。有的系统采用单个显示器,但用户带上特殊的眼镜后,一只眼睛只能看到奇数帧图像,另一只眼睛只能看到偶数帧图像,奇、偶帧之间的不同也就是视差就产生了立体感。用户(头、眼)的跟踪:在人造环境中,每个物体相对于系统的坐标系都有一个位置与姿态,而用户也是如此。用户看到的景象是由用户的位置和头(眼)的方向来确定的。跟踪头部运动的虚拟现实头套:在传统的计算机图形技术中,视场的改变是通过鼠标或键盘来实现的,用户的视觉系统和运动感知系统是分离的,而利用头部跟踪来改变图
31、像的视角,用户的视觉系统和运动感知系统之间就可以联系起来,感觉更逼真。另一个优点是,用户不仅可以通过双目立体视觉去认识环境,而且可以通过头部的运动去观察环境。在用户与计算机的交互中,键盘和鼠标是目前最常用的工具,但对于三维空间来说,它们都不太适合。在三维空间中因为有六个自由度,我们很难找出比较直观的办法把鼠标的平面运动映射成三维空间的任意运动。现在,已经有一些设备可以提供六个自由度,如3Space数字化仪和SpaceBall空间球等。另外一些性能比较优异的设备是数据手套和数据衣。立体声人能够很好地判定声源的方向。在水平方向上,我们靠声音的相位差及强度的差别来确定声音的方向,因为声音到达两只耳朵
32、的时间或距离有所不同。常见的立体声效果就是靠左右耳听到在不同位置录制的不同声音来实现的,所以会有一种方向感。现实生活里,当头部转动时,听到的声音的方向就会改变。但目前在VR系统中,声音的方向与用户头部的运动无关。触觉与力觉反馈在一个VR系统中,用户可以看到一个虚拟的杯子。你可以设法去抓住它,但是你的手没有真正接触杯子的感觉,并有可能穿过虚拟杯子的“表面”,而这在现实生活中是不可能的。解决这一问题的常用装置是在手套内层安装一些可以振动的触点来模拟触觉。语音输入输出在VR系统中,语音的输入输出也很重要。这就要求虚拟环境能听懂人的语言,并能与人实时交互。而让计算机识别人的语音是相当困难的,因为语音信
33、号和自然语言信号有其“多边性”和复杂性。例如,连续语音中词与词之间没有明显的停顿,同一词、同一字的发音受前后词、字的影响,不仅不同人说同一词会有所不同,就是同一人发音也会受到心理、生理和环境的影响而有所不同。使用人的自然语言作为计算机输入目前有两个问题,首先是效率问题,为便于计算机理解,输入的语音可能会相当罗嗦。其次是正确性问题,计算机理解语音的方法是对比匹配,而没有人的智能。WebmaxWebmax2.0是上海创图网络科技发展有限公司自主研发,以VGS一种基于浏览器的三维网页实现方法发明专利技术为核心的新一代虚拟现实开发工具软件。(1Webmax Player网页播放器插件只有300K,用户
34、第一次浏览时安装插件的过程非常快捷,在1M的ADSL宽带环境下3-5秒内就可以完成插件的安装过程。(2Webmax2.0采用独特的三维数据压缩技术,文件的压缩比可以达到120:1,是国内外同类软件的4-5倍,是目前全球三维数据压缩比最高的软件技术。一般而言,10万个三角面的三维场景可以压缩到1M左右,在1M的ADSL带宽环境下,15秒内就可以下载完成。所以采用Webmax2.0开发的三维应用在互联网上传输非常迅速,用户浏览时不需要长时间的等待过程。(3Webmax2.0在引擎的渲染算法效率上做了大量的优化,适合大众网络环境,其超乎寻常的3D图形处理能力,经过国家科技部测试,其运算速率比目前国内
35、外同类技术快5-6倍。不同于其他同类软件对客户端电脑配置有较高的要求,采用Webmax2.0开发的案例对运行电脑的配置要求极低。在Pentium3 800MHZ, 512M内存,8M集成显卡就可以流畅的运行Webmax2.0案例。(4Webmax2.0支持JavaScript网页编程接口,并提供了强大的函数库,为用户开发各种复杂的应用提供了广泛的技术支持,如和后台数据库的通信、和二维网页及Flash的通信和集成等,只需要编写简单的代码就可以实现。Cult3DCult3D是Cycore公司开发的一种3D网络技术,它让你把图象质量高和速度快的交互的实时的物体送到所有的因特网用户手上。 位于瑞典的C
36、ycore 原是一家为Adobe After Effect和其它视频编辑软件开发效果插件的公司。现在,Cycore 的Cult3D技术在电子商务领域已经得到了广泛的推广运用。该技术可以做到档案小、3D真实互动、跨平台运用,只要用鼠标在3D物件上直接拖动,可以移动、旋转、放大缩小,还可以在Cult3D物件中加入音效和操作指引。Cult3D对硬件要求相对较低,即使是低配置的桌面或笔记本电脑用户也能流畅浏览Cult3D作品。Cult3D的文件量非常小(20K-200K,却有优秀的三维质感表现。对于一般的浏览器只需安装一个插件,即可浏览。和Viewpoint相比,Cult3d在表观和交互上和Viewp
37、oint相似,但Cult3D的内核是基于JAVA,它甚至可以嵌入JAVA类,利用JAVA来增强交互和扩展,Cult3D的开发环境比Viewpoint人性化和条理化,开发效率也要高得多。Multigen CreatorMultigen Creator是一个软件包,专门创建用于视景仿真的实时三维模型。Creator使得输入、结构化、修改、创建原型和优化模型数据库更容易。不仅可用于大型的视景仿真,也可用于娱乐游戏环境的创建。VRMLVRML(Virtual Reality Modeling Language)即虚拟现实建模语言。是一种用于建立真实世界的场景模型或人们虚构的三维世界的场景建模语言,也具
38、有平台无关性。是目前Internet上基于 WWW的三维互动网站制作的主流语言。VRML是虚拟现实造型语言(Virtual Reality Modeling Language)的简称,本质上是一种面向web,面向对象的三维造型语言,而且它是一种解释性语言。VRML的对象称为结点,子结点的集合可以构成复杂的景物。结点可以通过实例得到复用,对它们赋以名字,进行定义后,即可建立动态的VR(虚拟世界)。VRML不仅支持数据和过程的三维表示,而且能提供带有音响效果的结点,用户能走进视听效果十分逼真的虚拟世界(如简易迷宫、国际象棋)。用户使用虚拟对象表达自己的观点,能与虚拟对象交互,为用户对具体对象的细节
39、,整体结构和相互关系的描述带来的新的感受。A、可以以任意角度飞行,全方位观察画面B、接口多,编程较为灵活C、真实感强D、数据量较大,下载较慢E、建模较为麻烦4.4、对比总结无论采用360全景技术还是地图瓦片技术,都不是真正意义上的三维虚拟现实。它们都是采用某种技术,给人以视觉上的三维感觉。但是都不可以随意的以任意角度飞行。360全景技术、地图瓦片技术自己共同的优点:数据量相对较小、服务器负荷相对较小。更适合于大范围的公众发布。作为虚拟校园系统,所针对的客户群体有所不同,对现实的虚拟程度要求更高。考虑到价格因素,本文采用VRML技术制作虚拟校园。第三章 虚拟校园的实现1、VRML编程简介1.1、
40、Vrml的构成VRML文件的语法结构由VRML文件头,节点,事件,脚本和路由等组成。VRML文件的语法结构:#VRML V2.0 utf8 #第一行必须的头文件节点名 #各种类型的节点域 域值 #相应节点的域和域值. .Script #脚本Script节点ROUTE #路由:把入事件和出事件联系起来1.2、对象与变量数据在 VRMLScript 中被描述为对象。对象类型对应于VRML的域 。一个变量包含对象的一个状态,并且可预先定义 ( 在 Script 节点中 或局部定义。 一个VRMLScript变量保存对象的一个状态。如果一个Script节点的field或eventOut被定义 ,则与此
41、同名的变量在 Script 节点中全程可用。这个变量的类型与field或eventOut的类型一致。( 见数据变换 。 变量名必须以一个字母 ("a""z"或“A“”z“, 或下划线”_"开头。随后的字符可以是任何字母或数字。变量名是区分大小写的? 变量可通过给新的变量名赋值来创建。变量的类型总是最后被赋值的类型。变量在它被初次引入的程序块范围内有效,Script节点中的field或eventOuts变量在整个节点范围内有效。数字, 布尔, 字符串类型的文字可在VRML Script中使用。数字类型可以是十进制 ( 417 , 十六进制 ( 0
42、x5C , 或 八进制 ( 0177 形式。也可为浮点 ( 1.76 或指数 ( 2.7e-12 形式。所有的数字字符均为 number 类型。布尔类型值为“true”或“false”类型为 boolean 。字符串可以是在单引号 (' 中的任何顺序的 UTF8 字符,类型为 String。field变量保存的值为函数最后一次调用它的值。EventOut变量与域变量很类似。不同的是当一项任务分配了eventOut变量时,一个事件产生。 每个对象有一套属性和方法(见对象和函数定义。属性(使用" ." 操作符用于表达式或表达式的对象。方法(使用函数调用操作符用于在对象上
43、执行某些操作.每种类型对象有一个相应的构造函数。构造函数允许使用灵活的参数对要构造的对象进行初始化。MF对象实质上是0个以上相应的SF对象组成的数组。使用关键词 new 与给定的数据类型可创造相应的对象。数据变换的规则在下面列出: 数字或布尔转换为String 使用 parseInt( 或 parseFloat( 可把 String 转换为 number Number 与 boolean 类型 将一个标量表达式赋给一个标量类型的固定变量(field 或 eventOut时,转换为固定变量的类型 大多数SF对象在VRMLScript中有一相应的MF对象。一个MF对象实质是上一个对象数组, 数组的
44、每个单元是相应的 SF 类型对象。所有的 MF 对象有一个length属性用于返回或设置MF对象中单元的个数。数组索引以 0 开头。如果 vecArray 是一个 MFVec3f 对象则 vecArray 0 是数组中的第一个SFVec3f 对象。 1.3、Vrml语句VRMLScript 语句与 C 语言语句相似 。一个语句可出现一个 if 或 for 声明后。多重语句,或复合语句, 必须被放在""与""之间 。所有语句必须以""结束。 if 语句计算一个表达式,并选择2条语句之一。简单的if语句中,如果表达的值不是 0 ,则执行后
45、面语句。if.else 语句中,如果表达式的结果是 0 ,则执行else后的语句。在if.else嵌套的语句中, else与最近的if匹配。花括号能被用来打破这一限制。 循环语句包含3个表达式控制循环的执行 。循环语句在循环执行前执行它的第一个表达式。在每次循环前计算它的第二个表达式, 如果表达式值为 0 ,退出循环,执行其他语句。循环重复执行, 直到第二表达式计算到 0 ,或遇到一个 break 语句,循环被终止。在典型的应用中,第一表达式初始化循环记数器, 第二计算它, 第三个对它进行累加。 while 语句包含控制循环执行的一个单个的表达式,被循环的语句列在后面。在每次循环前计算表达式,
46、 如果表达式值为 0 ,退出循环。否则它执行语句并且再测试表达式。循环重复执行,直到表达式计算到 0 ,或遇到一个 break 语句,循环被终止. 在 VRMLScript 中任何有效的表达式都是一个语句 两个最普通的表达式是函数调用和赋值表达式Return 语句可不考虑嵌套结构而从函数中直接返回。如果指定,它的表达式可将计算结果返回被调用的函数。 break语句退出嵌套循环。执行跟在循环语句后的语句。 Continue 语句跳到循环语句的最后。执行在循环后的语句。在for语句中,第二表达式测试第三个表达式的值,看循环是否应该继续。在for.in语句中next单元被赋值且循环继续。在 whil
47、e 语句中表达式被测试是否循环应该继续。 1.4、Vrml符号表达式用操作符把变量,对象,常数和其他表达式的值相结合。 表达式 = 表达式可把右边表达式的结果赋与左边的表达式。左表达式必须可以存储右边的变量。包括简单的标识符, 操作符,对象的成员,函数的返回值。 算术操作符包括负号 (“-”, 补集 (“”, 递加 (“+", 递减 (”-“ 和操作符 (” +“, “ - ”, “ * ”, “ / ”, “ % ” 。负号和补集是前缀。递加和递减是前缀或后缀 。剩余是二元的。 递增与递减操作符做前缀或后缀时会有不同的结果。 位操作符包括与 ( “&” , 或 ( “ |
48、” , 异或 ( “ ” , 左移 ( “ <<', 右移 (">>" 。这些都是二元操作符并且对任何标量类型有效。当他们被使用时,标量的值在操作前被转换为 SFInt32 ,运算后返回原来的表达式类型。当把他们用于 SFFloat 或 SFTime 时,可能发生 roundoff 错误。移动操作符左边指定操作数,右边指定移动位数。 逻辑表达式包括逻辑与('&&', 逻辑或('|', 逻辑非('!',比较操作 ('<', '<=', &
49、#39;=', '!=', '>=', '>'。每个表达式取值 0 (false 或 1 (true。常数 true, false, TRUE, 和 FALSE 都可使用。所有的比较操作符可用来为词典排序的字符串作比较。另外操作符 + 和“ += ”能被用来连接两个字符串。任何标量与的一个字符串连接,则标量首先转换为一个字符串,然后施行连接。一个字符串要转换为标量类型可使用 parseInt ( 与 parseFloat ( 函数。 相等优先级的操作顺序列在下面的表格中。使用“ ( ”与“ ”括起的操作首先被执行。 1.5、S
50、cript 节点的 url 域支持的协议 脚本的 url 域可以引用包含 VRMLScript 的url代码: Script url " vrmlscript :协议允许脚本被如下嵌入:: Script url "vrmlscript: function foo( . " url 域可以这样引用一个远端的文件或嵌入的代码: Script url "http:/./"vrmlscript: function foo( . " 1.6、 处理 EventIn 事件送到Script节点的事件被传递给相应的 VRMLScript 函数。在Sc
51、ript节点的 url 域指定Script,是必要的。函数的名字与 eventIn 一样,eventIn 事件的值value和事件的发生时间 timestamp 作为参数传递,( 看“参数传递和 EventIn 函数” 。如果在Script中没有定义相应的 VRMLScript 函数,则浏览器无法执行相应操作。 当Script节点收到一个 eventIn 时,在url域被指定的一个相应的函数被调用, 它有两个参数。eventIn 的值value作为第一个参数被传递, timestamp 作为第二参数被传递, 。value的类型与 EventIn 的类型一样, timestamp 的类型是 SF
52、Time 。 可以定义名为 eventsProcessed 的函数,此函数在收到一系列事件以后被调用。实际编程中有一些运算过程需要在每一个EventIn函数返回后执行,另外一些需要当几个EventIn函数返回后才执行。对于后者的情况,创作者可把不必每次运行的执行过程放入eventsProcessed函数 例子: 需要在动画运行的每步完成一个复杂的运动学运算。利用一个按钮形状与TouchSensor实现动画的单步播放。通常只要按钮被按下则执行一个EventIn函数,此函数增加运算次数,而后运动学运算进行。每次按钮被按下时都要运行复杂的运算,而用户按按钮的速度往往超过复杂运算的速度。为解决此问题,
53、可让EventIn函数只处理累加运算次数,而把运动学运算放入eventsProcessed函数。有效的用户点击操作组成队列,当用户快速点击按钮时,时间步随点击次数增加,而复杂的运算只执行一次。此方法可使动画运行与用户操作同步。 eventsProcessed函数无参数。可以定义命为名initialize(的函数,此函数在Script节点被装载且无任何事件处理之前被调用。常用于初始化数据,为接收事件作准备。 initialize(函数无参数。Script节点装载时执行。 可以定义名为shutdown(的函数,此函数当相应的Script节点被删除,卸载,替代时调用,能通知浏览器 Script节点正
54、被删除。因此他们能用来清理事件, 等等。 shutdown 函数无参数。Script节点被删除时执行 。 2、虚拟建模2.1、数据获取一般来说,建模数据都是已知的建筑平面图、侧面图和立面图,没有可以使用航片矢量化或者直接测图。此外还要准备材质,如果追求真实感,需要建筑物侧、立面真实照片充当材质。除以上之外还需要总平面布置图,最后摆放模型时用于放置模型。2.2、CAD处理数据、立面图处理只留建筑轮廓、窗户、门以及必须的参考线。标注等等多余的都需要删除。立面图改前立面图改后、平面图处理只留建筑轮廓线。其余的全部删除。最后用PL线(多段线)描绘轮廓线,并且闭合。删除其他直线。这里也可以新建图层直接用
55、PL线直接描绘轮廓线,最后删除其他图层。平面图改前平面图改后、地形图处理只留等高线,其余的标注全部删除。地形图改前地形图改后2.3、Sketchup建模Sketchup建模的模型主要分为建筑模型、地形模型、地物模型A、在Sketchup里选择文件导入,文件类型选择ACAD Files,定位到修改好的平面图位置,选择确定。继续选择文件导入,定位好修改好的立面图位置,选择确定。成功导入后图B、旋转立面图,与平面图相对位置垂直。C、移动平面图或立面图,使他们底面相同位置重合。立面与平面垂直并重和D、以平面为参考,绘制建筑轮廓线。拉伸建筑,高度与立面相等。E、以立面为参考,绘制窗户等细节模型描绘窗户等
56、细节 F、材质贴图,完成作品完成建筑模型A、导入地形图地形图导入B、沿Z轴方向将等高线以一定距离平移C、选择窗口参数设置扩展栏SU地形工具栏D、全选地形数据,单击用等高线生成E、选择等高线,右键实体信息隐藏,地形模型就建立好了。完成的地形模型地物的主体主要包括树木、花草等。这些模型在SKetchup官网就可以免费下载获得。下载的树木模型2.4、VRML导出选择文件导出模型,文件类型选择Vrml(*.wrl)即可导出Vrml文件。在Vrmlpad里打开可看到模型的Vrml代码,并且可以继续编辑。(模型材质也会一同导出。)VRML导出在Vrmlpad里查看修改文件3、虚拟浏览控制具体实现流程3.1
57、、VRML整合在sketchup中建立相应的模型(也可以直接用VRMl建立相应的模型),导出成VRML文件格式,然后在VRML中通过程序控制实现,整个模型的整合代码通过VRML的行插入文件功能(即Inline结点实现。原码如下:#VRML 2.0 uft8GrouPchildren DEF doorl Inline url"door.wrl"Transform translation 1 1 -25children USE doorlDEF treel Inlineurl"tree.wrl"Transformtranslation 32 32 12chilren USE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年智能药箱定时提醒与用药管理功能应用
- 护理管理的职业发展
- 2026年地下管线事故应急响应机制:外力破坏事故降幅超92%的北京经验
- 2026年柔性夹爪选型四步法需求建模参数对比实测验证成本优化
- 2026年整车检修能力625辆 年的产线规划与能力提升
- 2026年超大规模智算集群建设提升智能算力高质量供给技术方案
- 2026年网络安全数据保护
- 2026年太极拳入门教程养生课件
- 2026年实验室生物安全柜使用培训
- 2026年上班族养生保健操课件
- 2026年浙江纺织服装职业技术学院高职单招职业适应性测试参考题库带答案解析
- 医院应急应对培训课件
- 2026年辽宁生态工程职业学院单招职业技能测试题库附答案
- 医疗服务窗口人员接待技巧
- 企业管理-云仓储公司组织架构图及各岗位职责SOP
- 虎门销烟课件思品
- 汽车空调 第2版 课件 项目5 汽车空调系统制冷剂回收与加注
- 氢气事故案例
- DB22∕T 3645-2024 水稻有序机抛秧技术规程
- 消防报警主机操作培训
- 二位数乘一位数乘法练习题(1000道-A4直接打印)
评论
0/150
提交评论