毕业论文-基于X3D的虚拟校园漫游系统设计与实现37.docx

上传人:小飞机 文档编号:1670917 上传时间:2022-12-13 格式:DOCX 页数:36 大小:4.02MB
返回 下载 相关 举报
毕业论文-基于X3D的虚拟校园漫游系统设计与实现37.docx_第1页
第1页 / 共36页
毕业论文-基于X3D的虚拟校园漫游系统设计与实现37.docx_第2页
第2页 / 共36页
毕业论文-基于X3D的虚拟校园漫游系统设计与实现37.docx_第3页
第3页 / 共36页
毕业论文-基于X3D的虚拟校园漫游系统设计与实现37.docx_第4页
第4页 / 共36页
毕业论文-基于X3D的虚拟校园漫游系统设计与实现37.docx_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《毕业论文-基于X3D的虚拟校园漫游系统设计与实现37.docx》由会员分享,可在线阅读,更多相关《毕业论文-基于X3D的虚拟校园漫游系统设计与实现37.docx(36页珍藏版)》请在三一办公上搜索。

1、基于X3D的虚拟校园漫游系统设计与实现基于X3D的虚拟校园漫游系统设计与实现【摘要】虚拟校园是虚拟现实技术在数字化校园中的具体应用。虚拟校园可以再现真实的校园场景,可以使那些没有机会实地参观的人获得身临其境的感受。还可以在此基础上建立三维虚拟大学,提供相应的网上教育等,具有较高的应用价值。本文较为全面地介绍了虚拟现实技术和X3D技术,对虚拟校园漫游系统所涉及的技术问题进行了比较详细的研究。本文以深圳大学为对象,以X3D技术为主,综合运用多种技术,设计了校园内的多个场景,构建了办公楼、图书馆、科技楼等立体模型,经过整体拼合,最终实现了一个虚拟校园漫游系统。【关键词】虚拟现实;虚拟校园;漫游系统;

2、场景设计;X3D第1章 绪论1.1 研究背景及意义随着科学技术的发展和人类的进步,人们对世界的探索越来越深入,人们对事物的认识与了解已经不再局限于表面,更多地的是对事物多方面的接触与深入了解。然而,很多领域的发展受到了很多条件的约束和限制,很难真正意义上实现人类的主观愿望,比如对没有发生的事物的预测,未知结果的提前模拟等,也有对现有事物的可视化描述。这些社会的需求摆在我们眼前,迫切需要一个能解决上述问题的有效工具,虚拟现实技术正是在这样的背景下诞生的1。虚拟现实技术一经问世,人们就对它产生了浓厚的兴趣。近几年,虚拟现实技术不但已开始在军事、医学、教育、设计、艺术、娱乐等诸多领域得到了越来越广泛

3、的应用,而且还给社会带来了巨大的经济效益。因此,有关人士认为:20世纪80年代是个人计算机的时代,90年代是网络、多媒体的时代,而21世纪初则将是虚拟现实技术的时代。虚拟校园是虚拟现实技术在教育领域中的一个重要应用。它是将现实中学校的教学环境和校园的三维景观利用先进的技术在计算机中虚拟的再现出来。虚拟校园不仅能够构建一个全三维的逼真的校园环境,还能够挂到校园网上,让远程用户下载或者直接参看。有了虚拟校园,学校的对外宣传就不再仅仅局限于文字、图片等传统的宣传方式,能够更加直观的将学校的情况展现在用户的眼前2。虚拟校园技术对大学的对外宣传、招生就业、校容校貌的展示等具有非常重要的作用,是校园信息化

4、平台建设的重要组成部分。虚拟校园漫游系统可以方便浏览者直观的了解校园;方便师生尽快的熟悉校园生活;有利于树立学校形象、提高学校知名度,吸引更多生源;是校园文化,校容校貌的展示平台、是校园信息化建设的重要组成部分。1.2 虚拟现实研究现状1.2.1 国外虚拟现实技术的研究现状美国是虚拟现实技术研究的发源地,其研究水平基本就代表国际虚拟现实发展的水平。近年来,虚拟现实在美国航空航天和军事领域的若干成功应用获得了巨大经济效益和社会效益,促使美国进一步加大对虚拟现实技术研究的支持力度。在军事领域,虚拟现实在武器系统的性能评价和设计、操纵训练和大规模军事演习及战役指挥方面发挥了重要作用,并产生了巨大的经

5、济效益。美国已初步建成了一些洲际范围的分布式虚拟环境,并将所有人操纵和半自主兵力引入虚拟的战役空间,在世界上处于领先地位。在航天领域,美国宇航局(NASA)已经建立了航空、卫星维护VR训练系统,空间站VR训练系统,并且建立了可供全国使用的VR教育系统。北卡罗来纳大学(UNC)是进行VR研究最早的大学,他们主要研究分子建模、航空驾驶、外科手术仿真和建筑仿真等。在欧洲,英国在VR开发的某些方面,特别是分布并行处理、辅助设备(包括触觉反馈)设计和应用研究方面是领先的。英国Bristol公司发现,VR应用的焦点应集中在整体综合技术上,在软件和硬件的某些领域处于领先地位。英国ARRL公司关于远地呈现的研

6、究实验,主要包括VR重构问题,其产品还包括建筑和科学可视化计算。日本的虚拟现实技术的发展在世界相关领域的研究中同样具有举足轻重的地位,它在建立大规模VR知识库和虚拟现实的游戏方面取得了很大的成就3。1.2.2 国内虚拟现实技术的研究现状我国虚拟现实技术研究起步较晚,与发达国家还有一定的差距。但是近十年来,虚拟现实技术已经得到了相当的重视,国家科委、国防科工委都已将虚拟现实技术的研究列为重点攻关项目。国内许多研究机构和高校也都在进行虚拟现实的研究和应用,并取得了一些不错的研究成果3。如:北京航空航天大学计算机系虚拟现实与可视化新技术研究室集成的分布式虚拟环境;清华大学国家光盘工程研究中心所做的“

7、布达拉宫”,实现了大全景虚拟现实;浙江大学CAD&CG国家重点实验室开发了一套桌面型虚拟建筑环境实时漫游系统;另外,哈尔滨工业大学、西安交通大学、国防科技大学、中科院软件所、上海交通大学等单位也进行了交通领域的虚拟现实研究工作,并取得了一批研究成果4。1.2.3 虚拟现实技术在虚拟校园方面的研究现状目前,虚拟校园的研究与实现方法主要分为两类:1.基于图形软件的开发基于图形软件的开发是指利用三维图形程序接口软件结合面向对象的可视化编程工具来开发5,三维图形程序接口软件主要有 OpenGL,Direct3D 和 Java3D。可视化编程工具如 Visual C+,Visual Basic,Deph

8、i,Java 等。这种方法的特点在于开发周期长、工作量大、投资大且数据兼容性差。2.基于 VRML 的方法数字化信息社会最具代表性的三种新技术是多媒体、Internet 和虚拟现实,而这三种新技术的交叉点是虚拟现实建模语言6(virtual reality modeling language)。它是一种可以发布到 3D 网页的跨平台、简单的文本语言;也是一种能提供更自然地体验方式,包括沉浸感、交互性、动态效果、延续性以及用户参与探索的语言。在原 VRML 组织基础上成立的 Web3D 联盟,在 2006 年 6 月制定了第三代 VRML标准 X3D,X3D 结合了 Java3D 和 XML 技

9、术,已经成为三维世界的主要标准7。基于 X3D 技术构建的方法与第一种方法比较,虽然在真实感、实时性、交互功能、渲染速度等方面有些欠缺,但是它具有以下几方面的突出优点8:(1)简单易学、开发周期短、投资少收获多。(2)X3D 文件短小精悍,构造的是动态的虚拟场景,它尽可能的提供几何造型特征,却包含了大量不属于造型语言范围的特性。且具有良好的跨平台性,能够轻易地实现 Internet 上的远程访问。(3)通过与 JavaScript 等脚本语言和 Java 语言容易实现 GIS 查询分析功能。结合建立深圳大学虚拟校园的实际情况,考虑目前的技术条件、时间以及实验条件等综合因素,本系统使用了基于X3

10、D的方法实现虚拟校园的构建。1.3 本文研究内容本文主要研究建设虚拟校园的基本原理和关键技术,包括虚拟校园的设计、三维建模,场景构建等功能。最终实现一个基于X3D的虚拟校园漫游系统。本文的研究内容主要包括以下几个方面:1X3D虚拟校园开发与设计X3D虚拟校园开发与设计,应遵循软件工程的思想进行开发与设计。从立项、可行性分析,到需求分析,到总体设计,详细设计,一直到编码测试以及运行维护等主要环节。2X3D几何节点设计利用X3D几何节点设计虚拟校园,提高虚拟校园信息资源场景浏览速度,使浏览者在虚拟现实世界里体验虚拟校园所带来的乐趣以及身临其境的感觉。利用X3D虚拟增强现实技术开发的“基于X3D的虚

11、拟校园漫游系统”,利用基本几何节点开发虚拟校园中的造型和场景,可以提高开发效率。3X3D虚拟现实建筑设计X3D虚拟现实建筑规划设计是由土地规划、公路街道设计、各种建筑设计以及校园绿化设计组成。在总体框架设计思想的基础上,对各个部分进行详细设计,根据需求分析做进一步调整、改进和完善,最终达到要求,完成整个建筑规划设计要求。土地规划、公路街道设计、各种、建筑设计和绿化设计,根据用户需求画出草图,再根据草图绘制出计算机软件层次结构图,再根据软件结构图画出流程图。4. X3D虚拟校园整体设计X3D虚拟校园整体设计采用深圳大学的真实校园为背景,通过虚拟现实技术完整的体现真实校园的校容校貌。按照以下两点进

12、行设计: 按照学校的实际情况进行虚拟建模,勾勒出学校的真实场景和自然风貌。建立起包括:学校大门、办公楼、教学楼、图书馆、体育馆、游泳馆、田径运动场、学生宿舍、花草树木等对象。 为了增强真实的校园气氛,可以加入汽车、行人、学生等人流。最后使用虚拟现实技术进行编码和调试,作出合格的项目产品。1.4 本文章节安排本论文共分为五章,各章节的主要内容如下:第一章为绪论。简要的介绍了论文的的研究背景、研究目的和研究意义,简要的介绍了本文研究的内容,最后阐述了论文章节的安排。第二章为虚拟现实技术基础。介绍了虚拟现实的基本概念、发展和现状、虚拟现实的关键技术。对于完成本系统所需要的X3D和相关的知识做了详尽的

13、介绍。第三章为总体设计。对虚拟校园漫游系统的开发和总体设计进行了描述。讨论了虚拟校园漫游系统的需求分析。对系统的总体设计目标,系统的总体设计流程等进行了阐述。第四章为虚拟校园场景设计与实现。这一部分是虚拟校园漫游系统的基础支撑部分,整章针对校园场景中不同类型的对象场景提出了多种建设思路,从效率和效果两方面考虑,为每个对象选择最优的构建方法。最终实现了可以为用户提供漫游平台的虚拟校园场景,对系统进行了测试与分析,并提出了优化方法。第五章为工作总结。对本文的研究工作进行了总结,并提出了进一步的研究和改进方案。第2章 虚拟现实技术基础2.1 虚拟现实的基本概念虚拟现实技术,又称“灵境技术”、“虚拟环

14、境”、“赛伯空间”等,原来是美国军方开发研究出来的一种计算机技术,其主要目的是用于军事上的仿真,在美国军方内部使用。一直到20世纪80年代末期,虚拟现实技术才开始作为一个较完整的体系受到人们极大地关注。虚拟现实技术是20世纪以来科学技术进步的结晶,集中体现了计算机技术、计算机图形学、多媒体技术、传感技术、显示技术、人体工程学、人机交互理论、人工智能等多个领域的最新成果。它以计算机技术为主,利用计算机和一些特殊的输入/输出设备来营造出一个多感官的三维虚拟世界。在这个虚拟世界中,人与虚拟世界可以进行自然地交互,使人与虚拟世界融为一体9。2.1.1 虚拟现实的定义关于虚拟现实技术的定义,目前尚无统一

15、的标准,有多种不同的定义,主要分为狭义和广义两种。所谓狭义的定义,认为虚拟现实技术就是一种先进的人机交互方式。在这种情况下,虚拟现实技术被称为“基于自然的人机接口”,在虚拟现实环境中,用户看到的是彩色的、立体的、随视点不同而变化的景象,听到的是虚拟环境中的声响,身体部位可以感受到虚拟环境反馈回来的作用力,由此使用户产生一种身临其境的感觉。所谓广义的定义,认为虚拟现实技术是对虚拟想象(三维可视化)或真实的、多感官的三维虚拟世界的模拟。它不仅仅是一种人机交互的接口,更主要的是对虚拟世界内部的模拟。人机交互接口采用虚拟现实的方式,对某个特定环境真实再现后,用户通过自然的方式接受和影响模拟环境的各种感

16、官刺激,与虚拟世界中的人及物体进行交流,使用户产生身临其境的感觉9。2.1.2 虚拟现实技术的基本特征从本质上来说,虚拟现实系统就是一种先进的计算机用户接口,它通过给用户同时提供诸如视、听、触等各种直观而又自然的实时感知交互手段、最大限度地方便用户的操作,从而减轻用户的负担、提高整个系统的工作效率。美国科学家BurdeaG.,Coiffet曾在Electro93国际会议上发表的“Virtual Reality System and Applications”一文中,提出一个“虚拟现实技术三角形”,它简明地表示了虚拟现实技术具有的三个最突出特征:交互性(Interactivity)、沉浸感(Im

17、mersion)和构想性(Imagination),也就是人们俗称的3个“I”特性,如图1所示10。 交互性(Interactivity)沉浸感(Immersion)构想性(Imagination)图1 3个“I”特性图 1.交互性 指参与者对虚拟环境内的物体的物体的可操作程度和从环境中得到反馈的自然程度。这种交互的产生主要借助于各种专用的三维交互设备(如头盔显示器、数据手套等),它们使人类能够利用自然技能,如同在真实的环境中一样与虚拟环境中的对象发生交互关系。2.沉浸感 用户感到作为主角存在于模拟环境中的真实程度。它包括如下内容。(1)多感知性。它除了一般计算机技术所具有的视觉感知之外,还有

18、听觉感知、力觉感知、触觉感知、运动感知等。理想的虚拟现实技术应该具有一切人所具有的感知功能。由于相关技术的限制,特别是传感技术的限制,目前虚拟现实技术所具有的感知功能仅限于视觉、听觉、力觉、触觉、运动等几种,无论感知范围还是感知的精确程度都尚无法与人相比拟。(2)自主性。它是指虚拟环境中的物体依据物理定律动作的程度。例如,当受到力的推动时,物体会向力的方向移动或翻倒,或从高处跌落到地面等。虚拟现实技术的四大特征使得我们不难将VR与相关技术区分开来,如仿真技术、计算机图形技术及多媒体技术。3.构想性 人类在许多领域都面临着越来越多前所未有而又必须解决和突破的问题。例如,载人航天、核试验、核反应堆

19、维护、新产品的开发与设计、医疗手术的模拟与训练等。借助于VR技术,人有可能从定性和定量综合集成的虚拟环境中得到感性和理性的认识,进而使人能深化概念,产生新意和构想10。2.1.3 虚拟现技术的组成一个典型的虚拟现实系统主要包括5大组成部分:虚拟世界、计算机、虚拟现实软件、输入设备和输出设备,如图2所示。其中,虚拟世界是可交互的虚拟环境,涉及模型的构筑、动力学特征、物理约束、照明及碰撞检测等;计算机环境涉及处理器配置、I/O通道及实时操作系统等;虚拟现实软件负责提供实时构造和参与虚拟世界的能力,涉及建模、物理仿真等;输入和输出设备则用于观察和操纵虚拟世界,涉及跟踪系统、图像显示、声音交互、触觉反

20、馈等10。 虚拟世界 VR软件 输入设备 输出设备 计算机 图2 虚拟现实系统的一般构成构建一个虚拟现实系统的基本手段和目标就是利用并集成高性能计算机软硬件及各类先进的传感器,去创建一个使参与者处于一个身临其境的沉浸感,具有完美交互能力和启发构思的信息环境。1.硬件方面。需要以下设备。 (1)跟踪系统:用以确定参与者的头手和身躯的位置。 (2)触觉系统:提供力与压力的反馈。 (3)音频系统:提供立体声源和判定空间位置。 (4)图像生成和显示系统:产生视觉图像和立体显示。 (5)高性能的计算机处理系统:具有高处理速度、大存储量、强联网特性。2.软件方面。除一般所需要的软件支撑环境外,只要是提供一

21、个能产生虚拟环境的工具集,或产生虚拟环境的“外壳”。它应该具有以下功能。 (1)能够接收各种高性能传感器的信息,如头盔的跟踪信息。 (2)能生成立体的现实图形。 (3)能把各种数据库(如地图地貌数据库、物体形象数据库等)、各种CAD软件进行调用和互联的集成环境。2.2 虚拟现实技术的发展及应用2.2.1 虚拟现实技术的发展计算机技术的发展促进了多种技术的飞速发展。虚拟现实技术跟其他技术一样,由于技术的要求和市场的需求也随即发展起来。在这个漫长的过程中,主要经历了以下三个阶段:1. 20世纪50年代-70年代,虚拟现实技术的探索阶段1956年,在全息电影技术的启发下,美国电影摄影师Morton

22、Heiling开发了Sensorama。Sensorama是一个多通道体验的显示系统。用户可以感知到事先录好的体验,包括景观、声音和气味等。1965年,计算机图形学的奠基者美国科学家Ivan Sutherland博士在国际信息处理联合会大会上提出了The Ultimate Display(终极显示)的概念,首次提出了全新的、富有挑战性的图形显示技术,即不通过计算机屏幕这个窗口来观看计算机生成的虚拟世界,而是是观察者直接沉浸在计算机生成的虚拟世界中,就像生活在客观世界中。随着观察者随意转动头部与身体,其所看到的场景就会随之发生变化,也可以用手、脚等部位以自然的方式与虚拟世界进行交互,虚拟世界会产

23、生相应的反应,使观察者有一种身临其境的感觉19。1968年,Ivan Sutherland使用两个可以戴在眼睛上的阴极射线管研制出了第一个头盔式显示器。20世纪70年代,Ivan Sutherland在原来的基础上把模拟力量和触觉的力反馈装置加入到系统中,研制出了一个功能较齐全的头盔式显示器系统。该显示器使用类似于电视机显像管的微型阴极射线管(CRT)和光学器件,为每只眼镜显示独立的图像,并提供与机械或超声波跟踪器的接口。1976年,Myron Kruger完成了Videoplace原型,它使用摄像机和其他输入设备创建了一个由参与者动作控制的虚拟世界。2. 20世纪80年代初期中期,虚拟现实技

24、术系统化,从实验室走向实用阶段20世纪80年代,美国的VPL公司创始人Jaron Lanier正式提出了Virtual Reality一词。当时,研究此项技术的目的是提供一种比传统计算机模拟更好的方法。1984年,美国宇航局NASA研究中心虚拟行星探测试验室开发了用于火星探测的虚拟世界视觉显示器,将火星探测器发回的数据输入计算机,为地面研究人员构造火星表面的三维虚拟世界。3. 20世纪80年代末至今,虚拟现实技术高速发展的阶段1996年10月31日,世界上第一个虚拟现实技术博览会在伦敦开幕。全世界人们可以通过互联网坐在家中参观这个没有场地,没有工作人员,没有真实展品的虚拟博览会。1996年12

25、月,世界上第一个虚拟现实环球网在英国投入运行。这样,互联网用户便可以在一个由立体虚拟现实世界组成的网络中遨游,身临其境般地欣赏各地风光、参观博览会和在大学课堂中听讲座等。目前,迅速发展的计算机硬件技术与不断改进的计算机软件系统极大地推动了虚拟现实技术的发展,使基于大型数据集合的声音和图像的实时动画制作成为可能,人机交互系统的设计不断创新,很多新颖、实用的输入输出设备不断地出现在市场上,为虚拟现实系统的发展打下了良好的基础3。2.2.2 虚拟现实技术的应用虚拟现实技术的应用非常广泛,目前在军事应用、城市仿真、教育与培训、工业应用、医学应用和艺术与娱乐中有着较高的应用10。1. 军事应用VR技术的

26、发展源于航天和军事部门。VR的最新技术成果往往被率先应用于航天和军事领域。VR技术将为武器装备确定需求、设计、制作样机。为部队的模拟训练、战备,为制定合成作战条令,为战后评估及战史分析等几乎全部军事活动提供一种一体化的作战环境。这将有助于从虚拟武器及战场顺利地过渡到真实武器与战场,VR技术对各种军事活动的影响将是极为深远的,有着极为广泛的军事应用前景。2. 城市仿真由于城市规划的关联性和前瞻性要求较高,城市规划一直是对全新的可视化技术需求最为迫切的领域之一。从总体规划到城市设计,在规划的各个阶段,通过现状和未来的描绘,为改善人居生活环境,以及形成各具特色的城市风格提供了强有力的支持。VR技术能

27、够使政府规划部门、项目开发商、工程人员及公众从任意角度,实时互动地看到规划效果。这是传统手段如平面图、效果图等所不能达到的。3. 教育与培训针对教育事业来说,虚拟现实技术能将三维空间的意念清楚地表示出来,能使学习者直接、自然地与虚拟环境中的各种对象进行交互作用,并通过多种形式参与到事件的发展变化过程中去。这种呈现多维度信息的虚拟学习和培训环境,将为参与者以最直观、最有效的方式掌握一门新知识、新技能提供前所未有的新途径。4. 医学应用虚拟现实技术在医学方面的应用具有十分重要的现实意义。虚拟现实技术的使用范围包括建立合成药物的分子结构模型到各种医学模拟,进行模拟人体解剖和外科手术培训等。如通过虚拟

28、现实仿真器,研究人员可以看到和感受到药物内的分子与其他生化物质的相互作用。在实施复杂的外科手术前,先用外科手术仿真器模拟出手术台和虚拟的病人人体,医生用带有跟踪器的手术器械演练。根据演练结果,医生可制定出最佳手术方案。5. 艺术与娱乐丰富的感觉能力与3D显示环境使得VR成为理想的视频游戏工具。由于在娱乐方面对VR的真实感要求不是太高,故近几年来VR在该方面发展最为迅猛。作为传输显示信息的媒体,VR在未来艺术领域方面所具有的潜在应用能力也不可低估。VR所具有的临场参与感与交互能力可以将静态的艺术转化为动态的,可以使观赏者更好地欣赏作品。2.3 X3D虚拟现实技术2.3.1 X3D简介VRML 组

29、织于 1998 年改名为 Web3D 联盟,并开始着手制订了一个新的标准:2002年 8 月,Web3D 联盟发布了 VRML97 的升级版本 X3D 的最终草案。新版本的 X3D 与VRML97 向后兼容(即能用 X3D 浏览器播放 VRML 文件)。它把 VRML 的功能封装到一个轻型的、可扩展的内核之中,并实现了 VRML 的全部功能14。X3D 在 VRML 的基础上提出了新的特性,2004 年 8 月,X3D 规范通过国际标准化组织(ISO)的审批,成为新一代的 Web3D 国际标准。X3D 的主要特性有以下几点:1. 整合 XMLXML 已经成为整合并管理信息的必选。X3D 采用

30、XML 作为它的编码规范是有利于增强 X3D 的可移植性,有利于对数据归档和移植,有效延长了数据信息的生命周期。同时,XML 编码可以让 X3D 的开发、播放都变得更加简洁、高效15。2. 统一性X3D 中订制了在不同浏览器之间协同运作场景和环境的 X3D 行为规范,保证了 X3D场景和环境在不同播放器中的操作的统一性。3. 组件化使用轻型的可扩展内核。VRML97 是相对庞大的标准,完全实现是比较复杂的。把VRML 的功能分割到一系列较小的内核,就可以比较容易的实现 X3D,减少实现的复杂性,因而改善了执行过程的可维护性。4. 可移植性允许在计算机以外的设备上使用 X3D。2.3.2 X3D

31、的组成X3D整体结构包括四个部分:内核(核心特性集),VRML97特性集,应用程序接口和扩展集。如图3所示。特性集是VRML元素的一个子集,是满足特定用户需求的一组功能的集合13。1.内核(核心特性集):定义了VRML中最关键的特性,形成核心构件,并将其封装在一个小型的、可扩展的内核。规范规定内核实现的大小应在Flash和Realplyaer之间,可被用户快速下载,运行时占用很少的系统资源,当前的核心特性集已确定只实现VRML97的54个节点中的23个节点。2.VRML97特性集:实现内核以外的VRML97元素VRML97的节点被设计为可插拔的构件,通过扩展内核,完整的实现了VR人IL97规范

32、定义的功能,从而确保了X3D与已有的VRML应用兼容。3.应用程序接口:X3D是描述几何体和行为的一种文件格式,由于使用XML编码,文档对象模型(Document Object Model简称DOM)自动为X3D提供了一组API,外部应用程序可以通过DOM访问X3D文件。4.扩展集:通过在内核之上进行特性集扩展,实现复杂的或是用户自定义的功能。用户可以在内核之上建立一个完整的VRML97特性集也可以添加其它的扩展,如NURBS扩展,二进制文件格式扩展等。通过扩展还可以利用VRML97规范中未定义的新的硬件渲染技术。构件化的设计为X3D的内核提供了一种插件机制,允许扩展功能被实时的加入到运行内核

33、。 图3 X3D的组成2.3.3 X3D的关键技术X3D 的两项关键技术是 XML 文档和组件思想。1XML 文档可扩展标记语言(Extensible Markup Language,简称 XML)是万维网联盟(W3C)创建的一组规范。与 HTML 一样,它也源自 SGML(Standard Generalize Markup Language 通用标记语言)。但与 HTML 不同,XML 是一种元标记语言,可以依据用户的需求,自行定义标签及属性名,从而突破了 HTML 固定标记集合的约束,具有自描述性和可扩展性的特点16。2. 组件思想组件思想来源于面向对象理论。基于面向对象的思想的特点,以

34、及传统 VRML 的不易扩展性在最新的X3D规范中,使用了组件思想对X3D规范进行实现,以增强与其他编程语言的交互。依据开发人员的需求,通过调用模块动态的将有用的底层摸块装配成应用处理。使用组件模型的好处有以下几点17:(1)精巧的内核。就实现而言,VRML97 是一个庞大而复杂的标准。通过将 VRML精简为一个小的核心功能集合,减少了实现的复杂度,并且增强了软件的可维护性。同时,精巧的内核可以方便用户,因为并不是每个用户都需要那些复杂的扩展,如果不加分辨的将这些复杂的应用集成上去,无疑会增加用户端的大小,所以只为用户提供简单的内核,扩展依照用户的需求自行加入。(2)扩展能力。借助扩展集和特性

35、集的概念,开发者可以在内核上添加新的扩展集,也可扩展新的特性。这样就可以依据不同的需求,定制不同的应用。(3)减少了对资源的占用。一个小型但可扩展的浏览器为用户节省不必要的资源开支将会大大地方便用户的使用。X3D的组件模型如图4所示。 图4 X3D的组件模型2.3.4 X3D文件结构X3D文件架构包含文件结构、文件头、文件体及注释等内容。X3D文件结构又包含文件头、主程序概貌,在主程序概貌中包括头文档、组件、说明及场景等。在场景中利用基本几何造型造型节点、复杂节点、组节点、纹理节点、效果节点、组件节点、人性化节点及动态感知节点等创建虚拟现实三维立体场景。在编写X3D文件、节点和域时,特别要注意

36、大小写,X3D语言对大小写是敏感的18。X3D文件结构图如图5所示。X3D文件结构X3D头文件X3D主程序概貌Head(头文档):Scene(场景):component(组件)metadata(元数据)节点节点图5 X3D文件结构图X3D文件语法结构是由X3D文件头、主程序概貌(头文档和场景)组成,其中,头文档又包含组件和元数据;场景主体涵盖X3D所有节点。X3D文件头是序码部分,是X3D文件必须书写的部分。主程序概貌是X3D文件主程序框架的主题部分,是X3D文件的精髓和灵魂。概貌中的头文件作用是引入外部组件及文档说明,概貌中的场景主体描述是对X3D文件三位立体场景中的自然景观、人文环境、建筑

37、造型、街道等创建和编码过程。2.3.5 X3D场景X3D 使用场景图(Scene Graph)数据结构来建立 3D 虚拟境界, 虚拟境界由对象构成,而对象及其属性用节点描述,节点是 X3D 的基本单元。每个节点由类型、域、事件、实现、名字组成,X3D 文件包含包括零个或多个根节点。节点按一定规则构成场景图(Scene graph)19。X3D节点层次结构:场景(Scene)根节点、父节点、子节点。以场景作为三维立体场景的根节点,以此增加节点和子节点以创建种复杂的三维立体场景。在每个X3D文件中只允许有一个场景根节点,在此基础上在增加需要的节点造型。在一个嵌套节点中,最顶层节点就是根节点,由它派

38、生整个场景的全部节点。父节点是根节点派生出来的,再由父节点派生子节点,循环下去直至全部场景。例如:在场景根节点下,创建一个模型节点(shape节点),此节点成为父节点。父节点又包含两个子节点,分别为Appearance节点和Geometry节点,在Geometry节点下又包含一个叶节点(Sphere节点),完成三维立体空间整体造型。X3D场景节点层次结构如图6所示:场景(Scene)场景(Scene)Sphere节点Appearance节点根节点 父节点Geometry节点 子节点图6 X3D根节点层次结构图根据X3D语法结构的要求,除根节点外,其他节点之间可以并列或层层嵌套使用。不同作用的节

39、点有着不同语法结构,父节点包含一个或多个子节点,子节点中又包含子节点等。2.3.6 X3D常用节点在虚拟现实中,节点是 X3D 核心所在,可以说如果没有节点,就没有 X3D,所以 X3D 的节点起着重要作用。学好 X3D 的节点,也就学好 X3D。以下是 X3D中常用的节点18。1.基本2D节点X3D 支持点的节点是 PointSet,它可以包含 Color 和 Coordinate 节点。Color 节点是用来构造颜色值的索引表用于指定对应点或对象的颜色,Coordinate 节点是用来构造坐标的列表。绘制直线是采用 IndexedLineSet 节点,它可以包含 Color 和 Coord

40、inate 子节点。IndexedLineSet 节点属性中,coordIndex 属性用来指定直线端点在Coordinate子节点的索引号(0表示第一个点),每条直线索引值3个数组成,前两个是点的索引号,第三个是-1。Rectangle2D 几何节点用来指定一个平面矩形。Arc2D、ArcClose2D、Circle2D 和 Disk2D节点分别用来绘制圆弧、封闭圆弧、圆和环。2.基本3D节点X3D 提供了立方体(Box)、圆柱(Cylinder)、圆锥(Cone)、球体(Sphere)等基本 3D 造型节点。Box 节点的主要属性是 size,用来确定长度(x 方向)、高度(y 方向)和宽

41、度(z)方向的大小。Cylinder 节点的主要属性有 height(高度)、radius(半径)以及是否包含顶面(top)、侧面(side)和底面(bottom)等。Cone 节点的主要属性有 height(高度)、bottomRadius(底面半径)以及是否包含侧面(side)和底面(bottom)等。Sphere 节点的主要属性是 radius,用来确定球体的半径。3.复杂节点利用X3D的几何2D和几何3D节点,可以创建出一些简单的几何造型。一个虚拟现实空间的内容是丰富多彩的,仅有一些简单造型不能满足X3D设计需要,因此需要创建出更加复杂多变的场景和造型以满足设计需求。X3D复杂几何造型

42、节点涵盖PointSet(点)节点、IndexedLineSet(线)节点、IndexedFaceSet(面)节点、ElevationGrid(海拔栅格)节点及Extrusion(挤出造型)节点等复杂节点。ElevationGrid节点先将某一个地表区域分割成很多网格,定义网格的个数,再定义网格的长和宽,最后定义网格的高度,可创建该区域所需的海拔栅格几何造型。该节点可以创建高山、丘陵、及不规则地表的空间造型。Extrusion节点可以创建出用户需要的所有立体空间造型,是X3D文件中最重要、最复杂、也是最有用的节点。Extrusion用以创建出造型,创建挤出造型过程类似于在工业生产中加工材料的流

43、体通过一个金属板的模型孔,按照模型孔的设计,挤压成为一个新的造型,这个过程就是挤出。Extrusion节点主要由crossSection域和spine域 的域值决定。crossSection域控制断面形状,是一系列的二维轮廓线,可以组成圆形、方形、多边形等。Spine域定义一系列的三维路径,crossSection域定义好的断面的几何中心沿spine路径创造。常见几种断面形状如图7所示。x x xzzz图7 常见几种断面(x-z)形状4.视点效果节点在X3D文件中的视点就是指在立体空间中预先定义的观察位置和空间朝向。在这个位置上通过这个朝向,浏览者可以观察到虚拟世界中的场景。Viewpoint

44、 节点指明了一个 X3D 场景空间中的观察位置和视角方向。NavigationInfo 节点用来指定场景的观看方式和替身的物理特征。5.空间坐标变换节点在 X3D 场景空间中,每一个造型都有其空间坐标,通过修改空间坐标系就可以使该造型在场景空间中移动、旋转和缩放等。X3D 提供 Transform 节点来进行造型的大小变换,位置变化。6.组节点利用X3D组节点设计可以创建X3D立体空间的复杂造型,可以将所有节点包含其中,看作一个整体对象造型。在组节点中节点可以是基本节点、子节点或者组节点本身。组节点的种类有很多,如Group(编组)节点、Inline(内联)节点、Billboard(广告、警示

45、牌)节点及LOD(细节层次)节点等。Group节点用来编组各种几何造型,并将其作为一个整体造型来看待。Group节点是将多个节点进行组合创建较复杂的立体空间造型。如果利用DEF(重定义节点名)为Group节点命名,则可以使用USE(重用节点)在相同文件中重复使用这一节点,从而增强程序设计的可重用性和灵活性。Inline节点可以使X3D程序设计模块化。由基本X3D程序模块组成复杂和庞大的X3D立体空间静态或动态场景。Inline节点还可以从其他网站中引入X3D文件(程序),可以实现分工协作。在X3D程序设计中,编写X3D程序时,由于创建的节点造型复杂,使X3D源程序过大或过长,给程序编写和调试带

46、来诸多的不变,因此需要将一个很大的X3D源程序拆分成几个小程序。这就是软件工程的设计思想,采用结构化、模块化、层次化的程序设计方法,提高软件设计质量。设计出层次清晰,结构结构合理的软件项目。Billboard节点可以在世界坐标系下创建一个局部坐标系,选定一个旋转轴后,这个节点下的子节点所构成的虚拟对象的正面会永远自动地面对观众,而不管观察者如何行走或旋转。在X3D场景中,可以用来给单位、公司做广告宣传,路标指示、张贴海报等。7.纹理绘制节点X3D纹理绘制节点将纹理图按一定规则粘贴到X3D文件立体空间造型表面的过程称为纹理映射。纹理是一种位图,即二维图像。使用纹理映射能使立体空间造型更具有真实感

47、,纹理图的使用能增强视觉效果,提高渲染质量。在X3D文件中,浏览器支持JPEG、GIF、PNG及MPEG等格式的纹理图像。X3D文件提供了多种纹理节点,如ImageTexture(图像纹理)节点、Image3DTexture(三维图像纹理)节点、PixelTexture(像素纹理)节点和MovieTexture(电影纹理)节点。8.动画节点(1)时间触发器 TimeSensor触发器或者叫做传感器,是用来产生不同类型的事件。时间触发器 TimeSensor 是根据时间来不断产生事件,它有许多属性,通常把用于输入的属性称为域,或称为输入事件,而把输出的属性称为产生的事件,或称为输出事件。(2)插值器计算机动画按生成的方法可以分为逐帧动画、关键帧动画和造型动画等几大类。在关键帧动画设计中,通常需要我们指定关键帧,而中间帧往往由计算机自动生成。X3D 中的插值

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号