毕业论文基于x3d的虚拟校园漫游系统设计与实现_内容摘要:

其他输入设备创建了一个由参与者动作控制的虚拟世界。 2. 20 世纪 80 年代初期 — 中期,虚拟现实技术系统化,从实验室走向实用阶段 20 世纪 80 年代,美国的 VPL 公司创始人 Jaron Lanier 正式提出了 Virtual Reality一词。 当时,研究此项技术的目的是提供一种比传统计算机模拟更好的 方法。 1984 年,美国宇航局 NASA 研究中心虚拟行星探测试验室开发了用于火星探测的虚拟世界视觉显示器,将火星探测器发回的数据输入计算机,为地面研究人员构造火星表面的三维虚拟世界。 3. 20 世纪 80 年代末至今,虚拟现实技术高速发展的阶段 1996 年 10 月 31日,世界上第一个虚拟现实技术博览会在伦敦开幕。 全世界人们可以通过互联网坐在家中参观这个没有场地,没有工作人员,没有真实展品的虚拟博览会。 1996 年 12 月,世界上第一个虚拟现实环球网在英国投入运行。 这样,互联网用户便可以在一个由立体虚拟现实世界组成的网 络中遨游,身临其境般地欣赏各地风光、参观博览会和在大学课堂中听讲座等。 目前,迅速发展的计算机硬件技术与不断改进的计算机软件系统极大地推动了虚拟现实技术的发展,使基于大型数据集合的声音和图像的实时动画制作成为可能,人机交互系统的设计不断创新,很多新颖、实用的输入输出设备不断地出现在市场上,为虚拟现实系统的发展打下了良好的基础 [3]。 虚拟现实技术的应用 虚拟现实技术的应用非常广泛,目前在军事应用、城市仿真、教育与培训、工业应用、医学应用和艺术与娱乐中有着较高的应用 [10]。 1. 军事应用 VR 技术 的发展源于航天和军事部门。 VR 的最新技术成果往往被率先应用于航天和军事领域。 VR 技术将为武器装备确定需求、设计、制作样机。 为部队的模拟训练、战备,为制定合成作战条令,为战后评估及战史分析等几乎全部军事活动提供一种一体化的作战环境。 这将有助于从虚拟武器及战场顺利地过渡到真实武器与战场, VR 技术对各种军事活动的影响将是极为深远的,有着极为广泛的军事应用前景。 2. 城市仿真 由于城市规划的关联性和前瞻性要求较高,城市规划一直是对全新的可视化技术需求最为迫切的领域之一。 从总体规划到城市设计,在规划的各个阶段,通过现状和 未来的描绘,为改善人居生活环境,以及形成各具特色的城市风格提供了强有力的支持。 VR 技术能够使政府规划部门、项目开发商、工程人员及公众从任意角度,实时互动地看到规划效果。 这是传统手段如平面图、效果图等所不能达到的。 3. 教育与培训 深圳大学本科毕业论文 —— 基于 X3D 的虚拟校园漫游系统设计与实现 10 针对教育事业来说,虚拟现实技术能将三维空间的意念清楚地表示出来,能使学习者直接、自然地与虚拟环境中的各种对象进行交互作用,并通过多种形式参与到事件的发展变化过程中去。 这种呈现多维度信息的虚拟学习和培训环境,将为参与者以最直观、最有效的方式掌握一门新知识、新技能提供前所未有的新途径。 4. 医学应用 虚拟现实技术在医学方面的应用具有十分重要的现实意义。 虚拟现实技术的使用范围包括建立合成药物的分子结构模型到各种医学模拟,进行模拟人体解剖和外科手术培训等。 如通过虚拟现实仿真器,研究人员可以看到和感受到药物内的分子与其他生化物质的相互作用。 在实施复杂的外科手术前,先用外科手术仿真器模拟出手术台和虚拟的病人人体,医生用带有跟踪器的手术器械演练。 根据演练结果,医生可制定出最佳手术方案。 5. 艺术与娱乐 丰富的感觉能力与 3D 显示环境使得 VR 成为理想的视频游戏工具。 由于在娱乐方面对VR 的真实感要求不是太高, 故近几年来 VR 在该方面发展最为迅猛。 作为传输显示信息的媒体, VR 在未来艺术领域方面所具有的潜在应用能力也不可低估。 VR 所具有的临场参与感与交互能力可以将静态的艺术转化为动态的,可以使观赏者更好地欣赏作品。 X3D 虚拟现实技术 X3D 简介 VRML 组织于 1998 年改名为 Web3D 联盟,并开始着手制订了一个新的标准: 2020 年 8 月, Web3D 联盟发布了 VRML97 的升级版本 X3D 的最终草案。 新版本的 X3D 与 VRML97 向后兼容(即能用 X3D 浏览器播放 VRML 文件)。 它把 VRML 的功能封装到一个轻型的、可扩展的内核之中,并实现了 VRML 的全部功能 [14]。 X3D 在 VRML 的基础上提出了新的特性, 2020 年 8 月, X3D 规范通过国际标准化组织( ISO)的审批,成为新一代的 Web3D 国际标准。 X3D 的主要特性有以下几点: 1. 整合 XML XML 已经成为整合并管理信息的必选。 X3D 采用 XML 作为它的编码规范是有利于增强 X3D 的可移植性,有利于对数据归档和移植,有效延长了数据信息的生命周期。 同时, XML 编码可以让 X3D 的开发、播放都变得更加简洁、高效 [15]。 2. 统一性 X3D 中订制了在不同浏览器之间协同运作场景和环境的 X3D 行为规范,保证了 X3D 场景和环境在不同播放器中的操作的统一性。 3. 组件化 使用轻型的可扩展内核。 VRML97 是相对庞大的标准,完全实现是比较复杂的。 把 VRML 的功能分割到一系列较小的内核,就可以比较容易的实现 X3D,减少实现的复杂性,因而改善了执行过程的可维护性。 4. 可移植性 深圳大学本科毕业论文 —— 基于 X3D 的虚拟校园漫游系统设计与实现 11 允许在计算机以外的设备上使用 X3D。 X3D 的组成 X3D 整体结构包括四个部 分 :内核 (核心特性集 ),VRML97 特性集 ,应用程序接口和扩展集。 如图 3所示。 特性集是 VRML元素的一个子集 ,是满足特定用户需求的一组功能的集合 [13]。 (核心特性集 ):定义了 VRML 中最关键的特性 ,形成核心构件 ,并将其封装在一个小型的、可扩展的内核。 规范规定内核实现的大小应在 Flash和 Realplyaer 之间 ,可被用户快速下载 ,运行时占用很少的系统资源 ,当前的核心特性集已确定只实现 VRML97的 54个节点中的 23 个节点。 特性集 :实现内核以外的 VRML97 元素 VRML97 的节 点被设计为可插拔的构件 ,通过扩展内核 ,完整的实现了 VR 人 IL97 规范定义的功能 ,从而确保了 X3D 与已有的 VRML 应用兼容。 :X3D 是描述几何体和行为的一种文件格式 ,由于使用 XML 编码 ,文档对象模型 (Document Object Model 简称 DOM)自动为 X3D 提供了一组 API,外部应用程序可以通过 DOM 访问 X3D 文件。 :通过在内核之上进行特性集扩展 ,实现复杂的或是用户自定义的功能。 用户可以在内核之上建立一个完整的 VRML97特性集 也可以添加其它的扩展 ,如 NURBS扩展 ,二 进制文件格式扩展等。 通过扩展还可以利用 VRML97 规范中未定义的新的硬件渲染技术。 构件化的设计为 X3D 的内核提供了一种插件机制 ,允许扩展功能被实时的加入到运行内核。 图 3 X3D 的组成 X3D 的关键技术 X3D 的两项关键技术是 XML 文档和组件思 想。 1. XML 文档 深圳大学本科毕业论文 —— 基于 X3D 的虚拟校园漫游系统设计与实现 12 可扩展标记语言 (Extensible Markup Language,简称 XML)是万维网联盟 (W3C)创建的一组规范。 与 HTML 一样,它也源自 SGML(Standard Generalize Markup Language 通用标记语言 )。 但与 HTML 不同, XML 是一种元标记语言,可以依据用户的需求,自行定义标签及属性名,从而突破了 HTML 固定标记集合的约束,具有自描述性和可扩展性的特点 [ 1 6]。 2. 组件思想 组件思想来源于面向对象理论。 基于面向对象的思想的特 点,以及传统 VRML 的不易扩展性在最新的 X3D 规范中,使用了组件思想对 X3D 规范进行实现,以增强与其他编程语言的交互。 依据开发人员的需求,通过调用模块动态的将有用的底层摸块装配成应用处理。 使用组件模型的好处有以下几点 [17]: ( 1)精巧的内核。 就实现而言, VRML97 是一个庞大而复杂的标准。 通过将 VRML 精简为一个小的核心功能集合,减少了实现的复杂度,并且增强了软件的可维护性。 同时,精巧的内核可以方便用户,因为并不是每个用户都需要那些复杂的扩展,如果不加分辨的将这些复杂的应用集成上去,无疑会增加用 户端的大小,所以只为用户提供简单的内核,扩展依照用户的需求自行加入。 ( 2)扩展能力。 借助扩展集和特性集的概念,开发者可以在内核上添加新的扩展集,也可扩展新的特性。 这样就可以依据不同的需求,定制不同的应用。 ( 3)减少了对资源的占用。 一个小型但可扩展的浏览器为用户节省不必要的资源开支将会大大地方便用户的使用。 X3D 的组件模型如图 4 所示。 图 4 X3D 的组件模型 X3D 文件结构 X3D 文件架构包含文件结构、文件头、文件体及注释等内容。 X3D 文件结构又包含文件头、主程序概貌,在主程序概貌中包括头文档、组件、说明及场景等。 在场景中利用基本几何造型造型节点、复杂节点、组节点、纹理节点、效果节点、组件节点、人性化节点及动态感知节点等创建虚拟现实三维立体场景。 在编写 X3D 文件、节点和域时,特别要注意大小写,X3D 语言对大小写是敏感的 [18]。 深圳大学本科毕业论文 —— 基于 X3D 的虚拟校园漫游系统设计与实现 13 X3D 文件结构图如图 5 所示。 图 5 X3D 文件结构图 X3D 文件语法结构是由 X3D 文件头、主程序概貌(头文档和场景)组成,其中,头文档又包含组件和元数据;场景主体涵盖 X3D 所有节点。 X3D 文件头是序码部分,是 X3D 文件必须书写的部分。 主程序概貌是 X3D 文件主程序框架的主题部分,是 X3D 文件的精髓和灵魂。 概貌中的头文件作用是引入外部组件及文档说明,概貌中的场景主体描述是对 X3D 文件三位立体场景中的自然景观、人文环境、建筑造型、街道等创建和编码过程。 X3D 场景 X3D 使用场景图( Scene Graph)数据结构来建立 3D 虚拟境界 , 虚拟境界由对象构成,而对象及其属性用节点描述,节点是 X3D 的基本单元。 每个节点由类型、域、事件、实现、名字组成, X3D 文件包含包括零个或多个根节点。 节点按一定规则构成场景图( Scene graph)[19]。 X3D 节点层次结构:场景( Scene)根节点、父节点、子节点。 以场景作为三维立体场景的根节点,以此增加节点和子节点以创建种复杂的三维立体场景。 在每个 X3D 文件中只允许有一个场景根节点,在此基础上在增加需要的节点造型。 在一个嵌套节点中,最顶层节点就是 根节点,由它派生整个场景的全部节点。 父节点是根节点派生出来的,再由父节点派生子节点,循环下去直至全部场景。 例如:在场景根节点下,创建一个模型节点( shape 节点),此节点成为父节点。 父节点又包含两个子节点,分别为 Appearance 节点和 Geometry 节点,在 Geometry 节点下又包含一个叶节点( Sphere 节点),完成三维立体空间整体造型。 X3D 场景节点层次结构如图 6 所示: X3D 文件结构 X3D 头文件 X3D 主程序概貌 Head(头文档): Scene(场景): ponent(组件) metadata(元数据) 节点 节点 深圳大学本科毕业论文 —— 基于 X3D 的虚拟校园漫游系统设计与实现 14 根节点 父节点 Geometry 节点 子节点 图 6 X3D 根节 点层次结构图 根据 X3D 语法结构的要求,除根节点外,其他节点之间可以并列或层层嵌套使用。 不同作用的节点有着不同语法结构,父节点包含一个或多个子节点,子节点中又包含子节点等。 X3D 常用节点 在虚拟现实中,节点是 X3D 核心所在,可以说如果没有节点,就没有 X3D,所以 X3D 的节点起着重要作用。 学好 X3D 的节点,也就学好 X3D。 以下是 X3D 中常用的节点 [18]。 2D节点 X3D 支持点的节点是 PointSet,它可以包含 Color 和 Coordinate 节点。 Color 节点是用来构造颜色值的索引表用于指定对应点或对象的颜色, Coordinate 节点是用来构造坐标的列表。 绘制直线是采用 IndexedLineSet 节点,它可以包含 Color 和 Coordinate 子节点。 IndexedLineSet 节点属性中, coordIndex 属性用来指定直线端点在 Coordinate 子节点的索引号。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。