《虚拟现实模型语言的发展历程及应用展望21.docx》由会员分享,可在线阅读,更多相关《虚拟现实模型语言的发展历程及应用展望21.docx(21页珍藏版)》请在三一办公上搜索。
1、目录摘要II1 绪论11.1虚拟现实技术概述11.2 Web3D技术概述12 VRML概述32.1 VRML的介绍32.1.1 VRML发展32.1.2 VRML简介32.2 VRML技术特征32.3 VRML浏览器53 X3D概述63.1 X3D的介绍63.1.1 X3D系统发展63.1.2 X3D系统组成73.1.3 X3D系统特性83.2 X3D的关键技术83.3 X3D的浏览器104 X3D/VRML的比较114.1 VRML97的缺点114.2 VRML97 和 X3D 的举例比较114.2.1 VRML程序举例114.2.2 X3D程序举例134.2.3 VRML和X3D的不同之处
2、145 虚拟现实X3D展望16总结17参考文献18AbstractIII虚拟现实模型语言的发展历程及应用展望摘要 虚拟现实技术已经在国际上得到广泛应用,它较好的实现了通过人机交互而真实仿真人们工作及社会活动的很多复杂内容及预期结果。虚拟现实语言作为计算机的核心技术已被广泛应用于社会生活的各个领域。随着网络技术的进一步发展,宽带、高速及平台性能的提升将导致人们对更高质量的网络三维资源的需求更加迫切,虚拟现实造型语言(VRML)的缺点逐渐暴露出来,它阻碍了面向Web的交互式三维图形技术的深入发展,从而产生了新一代的三维交互网络图形标准X3D,它以XML和组件思想作为核心技术,解决了VRML的不足,
3、使得X3D除了在虚拟现实领域发挥自己的本领外,在电子商务、可视化仿真、数据库可视化、娱乐、教育等领域也都有很好的应用前景。本文从虚拟现实的概念出发,介绍了虚拟现实技术的概念和互联网中三维应用的发展,接着介绍了虚拟现实模型语言VRML和X3D,重点分析了X3D系统相对于VRML的优越性及发展空间,最后阐述对虚拟现实X3D的展望。通过本次论文写作,我对虚拟现实模型语言有了更深一层的认识与理解,为以后的进一步学习深造奠定了良好的基础。关键字 虚拟现实,VRML,X3D 1 绪论1.1虚拟现实技术概述虚拟现实( Virtual Reality ),简称 VR技术。这一名词是由美国 VPL公司创建人拉尼
4、尔在 80年代初提出的,也称灵境技术或人工环境。虚拟现实集成了计算机图形技术、计算机仿真技术、人工智能、传感技术、显示技术、网络并行处理等技术的最新发展成果,是一种由计算机生成的高技术模拟系统5。VR是一种可以创建和体验虚拟世界的计算机系统。其中虚拟世界为全体虚拟环境或给定仿真对象的全体,它是由计算机产生具有动态声、像功能的三维空间环境,通过视、听、触觉等作用,最终使得参与者产生身临其境感觉的交互式视景仿真。虚拟实现的概念包含了下述含义111: 模拟环境,即由计算机生成的具有双视点的、实时动态三维立体逼真图像。逼真就要达到三维听觉、触觉及嗅觉等的逼真。而模拟环境则可以是某一特定现实世界的真实实
5、现,也可以是虚拟构想的世界。 感知,指理想的虚拟实现技术应该具有一切人所具有的感知。除了生成的视觉感知外,还有听觉、触觉、力觉、运动等感知,甚至包括嗅觉和味觉等多感知。 自然技能,是人的头部转动、眼睛、手势或其它人体行为动作, 由计算机来处理与参与动作适应的数据,并对参与者的输入做出实时响应。 传感设备,即三维交互设备。常用的有头盔数据手套,三维鼠标、数据衣等装置和设置于现实环境中的传感装置,如摄像机、地板压力传感等。不同的项目可以根据实际应用选择使用这些设备。1.2 Web3D技术概述随着因特网的迅猛发展,我们生活中的数字信息不仅在数量上急剧增加,质量上也大大改善。现今网络己不再是单一静止的
6、世界,动感的网页随处可见,而三维网页及其带来“虚拟现实”,即将汇成一股新的时尚,使世界更加精彩起来。Web3D技术是随着互联网与虚拟现实(Virtual Reality)技术的发展而产生的,其目的在于在网络特别是在互联网上建立三维的虚拟世界。目前,包括VRML (Reality Modeling Language)-虚拟现实建模语言在内的各种Web3D技术在电子商务、远程教育、工程技术、计算机辅助设计等领域已经获得了广泛的应用。3D技术一出现就使人耳目一新,成为万众瞩目的热点,其所虚构的梦幻般的缤纷世界是大家梦寐以求的。3D虚拟技术不仅能应用于游戏和娱乐,更加诱人之处还在于其潜在的巨大商业价值
7、,如产品展示(如图1)、广告制作、公共展览和博览会等等4。对于网上电子商务,将销售产品展示做成在线3D的形式,必将吸引更多的顾客。人们还可以通过3D虚拟技术,根据一些图片、建筑设计图纸等历史资料,再现以前的历史景观并漫游其中。图1使用3D技术实现网络上的虚拟展示,相当于构建一个3D场景,让用户以第一视角在其中穿行,场景和控制者之间能产生交互,尤其适合虚拟展厅、建筑房地产虚拟漫游展示等。如果是建立一个多用户而且可以互相传递信息的环境,也就形成了所谓的虚拟社区。另外,在教学领域,人们也可通过3D技术虚拟一个逼真的实境教室,令学生更形象地理解和掌握教学内容。在表现一些空间立体化的知识,如分子的结构及
8、其结合过程、宇宙的演变、机械的运动时,3D的展现形式会使学生更容易接受和掌握。对计算机远程教育系统而言,引入3D内容必将取得很好的教学效果。可见,市场对3D技术应用的需求是非常迫切的,但以目前的计算机处理能力和应用环境而言,想在网上展现完美3D仍然存在一些问题,比如易用的3D制作工具、网络的带宽问题、平台兼容性等问题。如在近期以来,不仅Macromedia、Adobe、Autodesk等知名图形软件商开始将主要精力转向3D技术的开发,而且Sony、Dell、N派、EddieBauer等公司也纷纷强化它们的在线3D策略,同时,IBM、惠普等IT巨头也开始将网络实用3D环境的创建纳入到它们的战略发
9、展目标中,这一切都表明3D时代已经离我们越来越近了47。2 VRML概述2.1 VRML的介绍2.1.1 VRML发展VRML是 Virtual Reality Makeup Language的缩写 ,意为“虚拟现实造型语言”,它是用于三维环境描述的一系列规范之一,定义与多信息相关联的三维世界的布局和内容。始创于1994年, 1997年形成2. 0国际标准版,可构建交互实感的3D空间, VRML把交互式三维能力带入了万维网,是一种可以发布 3D网页的跨平台语言3。例如游戏、工程和科学可视化、教育和建筑,诸如此类的典型项目仅靠基于网页的文本和图像是不够的,而需要增强交互性、动态效果连续感以及用户
10、的参与探索,这正是VRML的目标。当前,研究人员已经开发出了许多基于 VRML的实验或实用系统,如远程教育、建筑物的漫游、医学实验演示和虚拟剧场等等。在一些传统的协同设计领域,也有人将VRML引 入到了其中,借助于 VRML提供的良好的交互性和真实性,使得在协同工作中非常重要的各开发者之间的交流联系变得很直观自然。2.1.2 VRML简介虚拟现实技术是当今计算机领域的研究热点之一,而Internet的发展更是对社会经济和人类生活产生了巨大的影响。两种技术的结合,产生了虚拟现实造型语言(Virtual Reality Modeling Language,简称VRML),它定义了在Internet
11、上描述交互式三维实体和共享虚拟世界的标准文件格式和相关的访问服务12。VRML是一种用于三维造型和渲染的标记语言,它将每一个虚拟世界看作为一个场景,场景由一个个对象(也就是节点)组成。在网络上传播的是一个个ASCII文档,由客户端的浏览器解释并实时生成虚拟场景。VRML97集成了54个不同的节点,对三维场景进行显示。VRML的基本功能13:(1) 存在感;(2)多感知性;(3)交互性;(4)动态显示;(5)立体感的视觉效果;(6)立体感的听觉效果;(7)动态显示与网络无关;(8)脚本功能;(9)多重使用者;(10)全球资讯网参考节点;(11)超链接功能。2.2 VRML技术特征(1)基于客户机
12、/服务器(Client/Server, C/S)模式的访问方式。服务器作为中心工做站负责协调绝大数仿真活动,提供VRML文件及其资源(视频、图像声音等),并维护环境中所有虚拟对象的状态。客户机则通过Internet下载期望访问的文件,运行客户进程,管理用户化身(Avatar),使用输入/输出(I/O)工具进行交互,并通过本地平台上的VRML浏览器实时完成场景绘制和系统交互。由于浏览器有本地平台提供,从而实现了VRML系统的平台无关性。(2)分布式环境设计及可扩充性。语句结构化、层次化,可灵活高效地创建三维模型。VRML文件的一个重要特性是其内建了支持多个分布式文件的内联机制(Internet节
13、点),通过内联机制嵌入其他.wrl文件,从而允许将一个巨大的虚拟环境进行分割设计而后合并展示。同时,VRML还提供了外部原型引用机制(EXTERNPROTO)语句、锚链机制(Anchor节点)、脚本语言(Script Language)等机制,允许以超链接方式在本地节点中指向并组织Internet网上资源,实现可扩充性。(3)ASCII文本格式的描述性语言。VRML和HTML相同,使用ASC文本格式的三维场景式描述语言进行编程。这在保证各种平台通用的同时,也降低了数据通信量,从而提高网络传输速率。而且当VRML在本地机器上运行的时,由于不再受网络带宽及传输速率的限制,其效果更佳。(4)增强了的
14、静态场景。VRML2.0新增的一些功能节点可以使三维静态场景的真实感更强。例如Background节点可以为场景设计环境背景图片,使用户置身于真实三维空间之中;使用Fog节点还可以产生逼真的环境雾化打其效果等。(5)可交互性与动画。VRML2.0设置的接触传感器、环境传感器感知传感器以及碰撞传感器可用于对三维造型进行实时交互仿真,以避免物体穿墙而过等现象的发生;而系统动画插补器则可以在场景中实时渲染关键帧动画。(6)三维视听效果。VRML所创建的虚拟环境已完全不同于HTML以及其他系统的二维平面效果。随着浏览者的移动,VRML场景中造型的各种属性(例如方位、关照等)也将随之改变,以实现立体视觉
15、。VRML场景中的声音也不再是简单的二维音效。通过Sound节点,用户可以具体设置声音大小、心愿位置、传播方向等控件属性,从而使声音表现出高低有别、远近不同的三维立体音效。(7)Java或JavaScript支持。VRML通过Script节点引入Java或JavaScript语言编写的脚本程序来扩展其功能。Java与VRML具有很强的互补性;Java具有Internet环境下程序设计的优势,而VRML具有虚拟现实场景建模的优势,两者结合可开发出较为复杂的、交互性强的虚拟三维系统1。VRML文件是对所创建的空间场景的文本性描述,VRML中的场景由造型组成,而造型则由节点(Node)创建。VRML
16、 2. 0版提供54个节点可完成造型、形态、光源、编组、检测器、插补器、脚本和境界9大功能,每个节点又可以有零个或多个域(Field),每个域取域值,不同的域对应不同的域值类型,VRML定义了20种基本数据类型,以实现参数设置。节点以层次关系联系在一起,节点间可以通过事件进行信息传递,事件通过场景图传播。VRML的重大突破在于它描述的只是三维对象和场景的模型,而不是具体的三维对象的视频流,客户端浏览器再对这些模型进行实时的渲染,最终还原为原始的三维对象,这样就极大地减少了传输的数据量。然而,VRML有其自身的缺陷:兼容能力欠缺对各种开发环境的兼容不足对浏览器的依赖过强VRML97是单用户、单处
17、理器的标准缺乏有效的处理数字字符的数据的手段2.3 VRML浏览器VRML文件是对所创建的空间场景的文本性描述,而场景则通过支持VRML播放的浏览器对文件的理解、渲染进而得到体现。目前,支持VRML的浏览器有多种,较为常见的有Microsoft VRML 2.0浏览器、SGI的Cosmo Player浏览器、Blaxxun的 Blaxxun Contact 浏览器以及ParallelGraphics的Cortona VRML Client 浏览器等1。需要说明的是,目前的这些VRML浏览技术一般都未提供三维模型的立体显示机制和用户扩展机制,也不支持如头盔显示器、数据手套等虚拟现实高级设备。3
18、X3D概述3.1 X3D的介绍3.1.1 X3D系统发展2001年8月,Web3D协会(Web3DConsortium)发布了新一代国际标准X3D(Extensile 3D),它定义了面向Web和广播的可交互的,并集成了多媒体的3D内容。X3D致力使用于多种硬件和广泛的应用领域,用于工程和科学可视化、多媒体演示、娱乐和教育、网页和共享的虚拟世界15。X3D要成为一种集成3D图形和多媒体的通用格式,它是继VRML97之后的下一代互联网上的3D图形规范,它与VRML 97向后兼容,即能用X3D技术浏览VRML的内容。它把VRML的功能封装到一个轻型的、可扩展的核心之中,并实现了VRML97的全部功
19、能,X3D在VRML的基础上提出了新的特性,高级API,附加数据编码格式,更严格的一致性和允许用模块化的方法支持新标准的组件化体系结构。任何一个开发者都可以根据自己的需求,扩展其功能。X3D使用可扩展标记语言(Extensible Markup Language,简称XML)描述三维场景和实体行为。X3D为满足一套专门的市场和技术需求而开发。为了满足这些需求,X3D采用了下述设计目标2:(1)分离的运行时构架和数据编码;(2)支持多种编码格式,包括XML;(3)添加了新的图形,行为和交互式的对象;(4)具有可替换的进入3D场景的API;(5)将建筑模块分解为组件;(6)定义了满足不同市场需求的
20、说明书子集;(7)允许在不同服务等级下执行说明书;(8)在可能的情况下,忽略未指明的行为 3.1.2 X3D系统组成虚拟现实应用程序接口 扩展高级图形特性二进制流 VRML97特性文档对象模型DOM核心特征性事件(EVENT),路由(ROUTE),原型(PROTO)场景创作接口SAIEcma脚本输入插值器Interpolators外部创作借口EAL/JSAI视频Script节点事件传感器TimeSeasor几何图形音频图2(1)内核:定义了VRML中最为关键的特性,形成核心组件,并将其封装为一个小型的、可扩展的内核。规范规定内核实现的大小应在Flash和RealPlayer之间,可被用户快速地
21、下载,运行时占用很少的系统资源。当前的核心特性集已确定只实现VRML97的54个节点中的23个节点。(2) VRML97特性集:实现内核以外的VRML97元素。VRML97的节点被设计为可插拔的组件,通过扩展内核,完整地实现了VRML97规范定义的功能,从而确保了X3D与已有的VRML应用兼容。(3)应用程序接口:X3D是描述几何体和行为的一种文件格式,由于使用XML编码,文档对象模型(Document Ob-ject Model,简称DOM)自动为X3D提供了一组API,外部应用程序可以通过DOM访问X3D文件;作为另一个选择,场景创作接口(Scene Authoring Interface
22、,简称SAI)是来自VRML的场景图像接口,它将外部创作接口(External Authoring Interface,简称EAI)和VRML97规范中的脚本接口(Script)融合,为外部或内部编程提供了一个单一的程序接口。(4)扩展集:通过在内核之上进行特性集扩展,实现复杂的或是用户自定义的功能。用户可以在内核之上建立一个完整的VRML97特性集。也可以添加其它的扩展,如NURBS扩展,二进制文件格式扩展等。通过扩展还可以利用VRML97规范中未定义的新的硬件渲染技术。组件化的设计为X3D的内核提供了一种插件机制,允许扩展功能被实时加入运行内核48。3.1.3 X3D系统特性X3D(Ext
23、ensible 3D,可扩展3D)是互联网3D图形国际通用软件标准,定义了如何在多媒体中整合基于网络传播的交互三维内容。X3D可以在不同的硬件设备中使用,并可用于不同的应用领域中,如科学可视化、航空航天模型、虚拟战场、多媒体再现、教育、娱乐、网页设计、共享虚拟世界等方面。X3D也致力于建立一个3D图形与多媒体的统一的交换格式。X3D是VRML的继承。VRML是原来的网络3D图形的ISO标准(ISO/IEC 14772)。X3D标准是XML标准与3D标准的有机结合,X3D相对于VRML有所改进,提供了以下的新特性:更先进的应用程序界面、新添的数据编码格式、严格的一致性、组件化结构用来允许模块化地
24、支持标准的各个部分。为了满足国防、工业、农业、商业、科研、教育、娱乐、共享虚拟社区等方面使用的需求,X3D提供了以下的新特性2:1. 3D图形:多边形化几何体、参数化几何体、变换层级、光照、材质、多通道/多进程纹理贴图。2. 2D图形:在3D变换层级中显示文本、2D矢量、平行图形。3. 动画设计:计时器和插值器驱动的连续动画,人心花动画和变形。4. 空间化的音频和视频:在三维立体空间场景几何体上映射影视、听觉文件。5. 用户交互:基于鼠标的选取和拖拽,键盘输入的交互感。6. 导航功能:用户在3D场景中的移动、碰撞,亲近度和可见度的智能检测。7. 用户定义对象:通过创建用户定义的数据类型,可以扩
25、展浏览器的功能。8. 脚本:通过程序或脚本语言,可以动态地改变场景。9. 网络功能:可以用网络上的资源组成一个单一的X3D场景,可以通过超连接对象连接到其他场景或网络上的其他资源。10. 物理模拟:地理信息系统、分布交互模式(Distributed Interactive Simulation,DIS)协议整合。3.2 X3D的关键技术X3D的两项关键技术是XML文档和组件思想。XML文档:可扩展标记语言(Extensible Markup Language ,简称XML)是万维网联盟(W3C)创建的一组规范。与HTML一样,它也源自SGML(Standard Generalize Marku
26、p Language,通用标记语言)。但与HTML不同,XML是一种元标记语言,可以依据用户的需求,自行定义标签及属性名,从而突破了HTML固定标记集合的约束。其具有如下的特点:自描述性可扩展性XML文档是由SGML和HTML发展而来,它为描述数据对象提供了新的方法。我们称这些所描述的数据对象为XML文档(XML Documents)。一个满足格式的良好的XML文档必须满足以下三点要求:作为一个整体,它满足XML文档的产生式它满足规范中定义的所有格式良好的约束该文档中直接或者间接引用的所有已经被解析过的实体都是格式良好的我们使用XML作为X3D的编码,主要是使用它的逻辑结构。由于XML文档都是
27、采用结构化的方式来表示,比如有些元素之间是相互的嵌套,而有些元素是并列的兄弟节点,或者有的属性从属于某个元素。这样的逻辑关系就构成了XML文档的逻辑结构。文档由声明、元素、注释、字符、引用或者处理指令组成。它可以被形象的描述成一棵树的根与叶,无论是根还是叶抑或是当中的子元素或者其它标记,每个节点都将对应各自的存储单元。也就是说,XML文档是由一个或多个存储单元构成的,这些存储单元就是所谓的实体。使用XML编码主要的依据在于14: 变换宿主机制(Rehostability):VRML97的语法对于那些非专业的VRML开发者而言是陌生的。VRML97的语法与Open Inventor图形语法相似(
28、很显然,因为VRML就是采用SGI的Open Inventor文件格式),但与世界通用的XML语法相比就过于封闭,限制了本身的发展。 页面集成(Page integration):XML将Web内容划分为很小的单元元素(Elements),Elements比传统的页面(pages)要小,还可以单独进行存储,页面由若干元素构成。这就使XML遵守传统的数据处理技术和体系结构。XML解析器(XML parser)将一个页面解析为一个元素树,从而降低了VRML对浏览器的依赖。组件思想:组件思想来源于面向对象理论。基于面向对象的思想的特点,以及传统VRML的不易扩展性,在最新的X3D规范中,使用了组件思
29、想对X3D规范进行实现,以增强与其他编程语言的交互。依据开发人员的需求,通过调用模块动态的将有用的底层模块装配成应用处理。在X3D中组件思想的基本原理:X3D的组件指功能相关的一个或多个节点类型(VRML中基本的语言单位)的一个集合,每个组件扩展内核在某一定特定领域的功能。X3D首先将VRML的关键特性封装为一个小型的、可扩展的内核。然后通过特性集扩展内核,实现复杂的或者应用程序定义的功能。用户可以在内核上建立一个完整的VRML97扩展,从而实现对VRML97规范的向后兼容。也可以添加其它的扩展,如NURBS扩展,二进制文件格式或GeoVRML扩展,针对特定领域增强内核功能,从而扩大了其使用范
30、围。GeoVRML扩展X3D二级扩展VRML97特性集 X3D内核操作系统库图3使用组件模型的好处有以下几点79:(1)精巧的内核:就实现而言,VRML97是一个庞大而复杂的标准。通过将VRML精简为一个小的核心功能集合,减少了实现的复杂度,并且增强了软件的可维护性。同时,精巧的内核可以方便用户,因为并不是每个用户都需要那些复杂的扩展,如果不加分辨的将这些复杂的应用集成上去,无疑会增加用户端的大小,所以只为用户提供简单的内核,扩展依照用户的需求自行加入。(2)扩展能力:借助扩展集和特性集的概念,开发者可以在内核上添加新的扩展集,也可扩展新的特性。这样就可以依据不同的需求,定制不同的应用。(3)
31、减少了对资源的占用:例如对于机顶盒而言,每一种特性都是对资源的消耗,同样,对于现今普遍使用的网络客户端而言也是如此。于是一个小型但可扩展的浏览器就显得至关重要了。而为用户节省不必要的资源开支将会大大地方便用户的使用。(4)组件思想在X3D体系结构中的广泛应用使得整体系统框架的易读性得到了提高。可扩展性和灵活性使应用开发变得方便而简单,底层的实现将不再进入开发者的视野。3.3 X3D的浏览器Xj3D是由SUN公司的Java3D工作组于1999年提供的一个VRML和X3D浏览器的代码集。最初这是一个基于VRML97的浏览器,后来将这组代码来验证新规范的实现2。从整体体系结构来看,开发者有三个基本目
32、的:说明X3D规范可被实现创作代码来激励工作组的进一步工作通过将代码进行分割,以组件的形式与其它应用进行集成4 X3D/VRML的比较4.1 VRML97的缺点Web技术的迅速发展使VRML97的缺点逐渐暴露出来,VRML3D图形自VRML97标准颁布以后进展缓慢,远远没有达到期望值。它的缺点体现在以下几方面:(1)性能表现首次运行前用户要等待较长时间下载安装插件,运行时占用过多的资源。对场景采用保守的优化方法,操作不方便,画面不连续,图像质量不高,不能满足对图像质量要求很高的应用。VRML97属性过多,包括3D几何对象,色彩,材质,灯光,相机,动画以及提供交互性的传感器等等。规范的复杂性直接
33、导致了VRML97运行环境的稳定性和互操作性欠佳,软件的一致性差,浏览器之间不兼容。(2)编程能力用VRML97提供的节点、字段、事件来直接编程,效率十分低下,要表现复杂场景非常困难,必须借助其他的可视化编程工具。它提供的API远不能满足应用程序开发的要求,且复杂不易使用,文件采用ASCII格式,传输缓慢。(3)软件实现由于VRML97过于庞大,规范中定义的一些特性很少使用,为了满足这些特性从而增加了浏览器的大小和复杂性。另外VRML97是一个单一的封闭的标准,与现有的Web技术和多媒体技术的集成能力弱,且不支持名字空间,难于实现,稳定性和一致性不能满足用户要求。这些严重阻碍了Web交互式三维
34、图形技术的发展,以及交互式三维图形技术在Web上的大规模应用。4.2 VRML97 和 X3D 的举例比较4.2.1 VRML程序举例#VRML V2.0 utf8# X3D-to-VRML-97 XSL translation autogenerated by X3dToVrml97.xslt# http:/www.web3d.org/x3d/content/X3dToVrml97.xslt# Generated using XSLT processor: Apache Software Foundation # Info: differs from computed profile=Int
35、erchange# X3D VRML V3.0 utf8# PROFILE Immersive# X3D version=3.0# X3D noNamespaceSchemaLocation=http:/www.web3d.org/specifications/x3d-3.1.xsd# head# META filename X3D 源实=name= # Hint: preferred Dublin Core Metadata Term is name=title (vice filename) # META author name=zjz # Hint: preferred Dublin C
36、ore Metadata Terms are name=creator or name=contributor (vice author) # META creator *enter name of original author here*# META rights *enter copyright information here* Example: Copyright (c) Web3D Consortium Inc. 2006# META identifier *enter online Uniform Resource Identifier (URI) or Uniform Reso
37、urce Locator (URL) address for this file here*# META generator X3D-Edit, http:/www.web3d.org/x3d/content/README.X3D-Edit.html # Hint: Recommended: add for documentation # Hint: Recommended: add date content for documentation # Hint: Recommended: add date content for documentation# Scene = = =Navigat
38、ionInfo type EXAMINE ANY # Default X3D NavigationInfoBackground skyColor 0.98 0.98 0.98 Transform translation 0 1 0 children Shape appearance Appearance material Material diffuseColor 0 1 0 geometry Sphere Transform translation 0 -1.6 0 children Shape appearance Appearance material Material diffuseC
39、olor 0 0 1 geometry Cone bottomRadius 2 height 4 4.2.2 X3D程序举例X3D由XML编码 4.2.3 VRML和X3D的不同之处两种标准在整体和细节上都有不同之处。X3D 继承了 VRML97 的工作并正式加入了先前规格中使用了多年的非正式的功能区域。X3D 要更有弹性,既能满足基本要求也要能够扩展。X3D 主要的改变包括把规格完全改写到三个独立的规格以分别规定抽象概念、文件格式编码、编程语言存取。其它的改变包括更精确的光照和事件模型,为保持一致性而对域名的改变等1015。以下是主要的改变摘要及详解。 扩展场景图的能力 修订和统一应用程序模
40、型 用包括 XML 在内的多个文件编码描述相同的抽象模型 模块化的结构允许用不同范围级别来支持不同的市场类型 可扩展的规格结构 1、X3D 场景图,即 X3D 应用的核心。几乎和 VRML97 场景图相同。 VRML97 场景图结构和节点类型的原始设计基于已经建立的交互图形技术。这个设计已经在 VRML97 上使用和测试了很长时间。通过引入新的节点和数据类型,而对 X3D 场景图的改变,主要是为了融入商业图形硬件方面的发展。另外将明确对某些部分的较小改动,例如事件模型和光照模型更加精确,也提供了存取 colour 域的 alpha 值的能力。 2、X3D 有一个统一的应用程序界面(application programmer interface - API)。这和 VRML97 是不一样的,VRML97 使用内部脚本 API 加上外部 API。X3D 的统一的 API 解释并解决了