虚拟现实模型语言的发展历程及应用展望要点Word文档下载推荐.docx
- 文档编号:18907164
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:21
- 大小:85.14KB
虚拟现实模型语言的发展历程及应用展望要点Word文档下载推荐.docx
《虚拟现实模型语言的发展历程及应用展望要点Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《虚拟现实模型语言的发展历程及应用展望要点Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
AbstractIII
虚拟现实模型语言的发展历程及应用展望
摘要虚拟现实技术已经在国际上得到广泛应用,它较好的实现了通过人机交互而真实仿真人们工作及社会活动的很多复杂内容及预期结果。
虚拟现实语言作为计算机的核心技术已被广泛应用于社会生活的各个领域。
随着网络技术的进一步发展,宽带、高速及平台性能的提升将导致人们对更高质量的网络三维资源的需求更加迫切,虚拟现实造型语言(VRML)的缺点逐渐暴露出来,它阻碍了面向Web的交互式三维图形技术的深入发展,从而产生了新一代的三维交互网络图形标准X3D,它以XML和组件思想作为核心技术,解决了VRML的不足,使得X3D除了在虚拟现实领域发挥自己的本领外,在电子商务、可视化仿真、数据库可视化、娱乐、教育等领域也都有很好的应用前景。
本文从虚拟现实的概念出发,介绍了虚拟现实技术的概念和互联网中三维应用的发展,接着介绍了虚拟现实模型语言VRML和X3D,重点分析了X3D系统相对于VRML的优越性及发展空间,最后阐述对虚拟现实X3D的展望。
通过本次论文写作,我对虚拟现实模型语言有了更深一层的认识与理解,为以后的进一步学习深造奠定了良好的基础。
关键字虚拟现实,VRML,X3D
1绪论
1.1虚拟现实技术概述
虚拟现实(VirtualReality),简称VR技术。
这一名词是由美国VPL公司创建人拉尼尔在80年代初提出的,也称灵境技术或人工环境。
虚拟现实集成了计算机图形技术、计算机仿真技术、人工智能、传感技术、显示技术、网络并行处理等技术的最新发展成果,是一种由计算机生成的高技术模拟系统[5]。
VR是一种可以创建和体验虚拟世界的计算机系统。
其中虚拟世界为全体虚拟环境或给定仿真对象的全体,它是由计算机产生具有动态声、像功能的三维空间环境,通过视、听、触觉等作用,最终使得参与者产生身临其境感觉的交互式视景仿真。
虚拟实现的概念包含了下述含义[1][11]:
⑴模拟环境,即由计算机生成的具有双视点的、实时动态三维立体逼真图像。
逼真就要达到三维听觉、触觉及嗅觉等的逼真。
而模拟环境则可以是某一特定现实世界的真实实现,也可以是虚拟构想的世界。
⑵感知,指理想的虚拟实现技术应该具有一切人所具有的感知。
除了生成的视觉感知外,还有听觉、触觉、力觉、运动等感知,甚至包括嗅觉和味觉等多感知。
⑶自然技能,是人的头部转动、眼睛、手势或其它人体行为动作,由计算机来处理与参与动作适应的数据,并对参与者的输入做出实时响应。
⑷传感设备,即三维交互设备。
常用的有头盔数据手套,三维鼠标、数据衣等装置和设置于现实环境中的传感装置,如摄像机、地板压力传感等。
不同的项目可以根据实际应用选择使用这些设备。
1.2Web3D技术概述
随着因特网的迅猛发展,我们生活中的数字信息不仅在数量上急剧增加,质量上也大大改善。
现今网络己不再是单一静止的世界,动感的网页随处可见,而三维网页及其带来“虚拟现实”,即将汇成一股新的时尚,使世界更加精彩起来。
Web3D技术是随着互联网与虚拟现实(VirtualReality)技术的发展而产生的,其目的在于在网络特别是在互联网上建立三维的虚拟世界。
目前,包括VRML(RealityModelingLanguage)-虚拟现实建模语言在内的各种Web3D技术在电子商务、远程教育、工程技术、计算机辅助设计等领域已经获得了广泛的应用。
3D技术一出现就使人耳目一新,成为万众瞩目的热点,其所虚构的梦幻般的缤纷世界是大家梦寐以求的。
3D虚拟技术不仅能应用于游戏和娱乐,更加诱人之处还在于其潜在的巨大商业价值,如产品展示(如图1)、广告制作、公共展览和博览会等等[4]。
对于网上电子商务,将销售产品展示做成在线3D的形式,必将吸引更多的顾客。
人们还可以通过3D虚拟技术,根据一些图片、建筑设计图纸等历史资料,再现以前的历史景观并漫游其中。
图1
使用3D技术实现网络上的虚拟展示,相当于构建一个3D场景,让用户以第一视角在其中穿行,场景和控制者之间能产生交互,尤其适合虚拟展厅、建筑房地产虚拟漫游展示等。
如果是建立一个多用户而且可以互相传递信息的环境,也就形成了所谓的虚拟社区。
另外,在教学领域,人们也可通过3D技术虚拟一个逼真的实境教室,令学生更形象地理解和掌握教学内容。
在表现一些空间立体化的知识,如分子的结构及其结合过程、宇宙的演变、机械的运动时,3D的展现形式会使学生更容易接受和掌握。
对计算机远程教育系统而言,引入3D内容必将取得很好的教学效果。
可见,市场对3D技术应用的需求是非常迫切的,但以目前的计算机处理能力和应用环境而言,想在网上展现完美3D仍然存在一些问题,比如易用的3D制作工具、网络的带宽问题、平台兼容性等问题。
如在近期以来,不仅Macromedia、Adobe、Autodesk等知名图形软件商开始将主要精力转向3D技术的开发,而且Sony、Dell、N派、EddieBauer等公司也纷纷强化它们的在线3D策略,同时,IBM、惠普等IT巨头也开始将网络实用3D环境的创建纳入到它们的战略发展目标中,这一切都表明3D时代已经离我们越来越近了[4][7]。
2VRML概述
2.1VRML的介绍
2.1.1VRML发展
VRML是VirtualRealityMakeupLanguage的缩写,意为“虚拟现实造型语言”,它是用于三维环境描述的一系列规范之一,定义与多信息相关联的三维世界的布局和内容。
始创于1994年,1997年形成2.0国际标准版,可构建交互实感的3D空间,VRML把交互式三维能力带入了万维网,是一种可以发布3D网页的跨平台语言[3]。
例如游戏、工程和科学可视化、教育和建筑,诸如此类的典型项目仅靠基于网页的文本和图像是不够的,而需要增强交互性、动态效果连续感以及用户的参与探索,这正是VRML的目标。
当前,研究人员已经开发出了许多基于VRML的实验或实用系统,如远程教育、建筑物的漫游、医学实验演示和虚拟剧场等等。
在一些传统的协同设计领域,也有人将VRML引入到了其中,借助于VRML提供的良好的交互性和真实性,使得在协同工作中非常重要的各开发者之间的交流联系变得很直观自然。
2.1.2VRML简介
虚拟现实技术是当今计算机领域的研究热点之一,而Internet的发展更是对社会经济和人类生活产生了巨大的影响。
两种技术的结合,产生了虚拟现实造型语言(VirtualRealityModelingLanguage,简称VRML),它定义了在Internet上描述交互式三维实体和共享虚拟世界的标准文件格式和相关的访问服务[12]。
VRML是一种用于三维造型和渲染的标记语言,它将每一个虚拟世界看作为一个场景,场景由一个个对象(也就是节点)组成。
在网络上传播的是一个个ASCII文档,由客户端的浏览器解释并实时生成虚拟场景。
VRML97集成了54个不同的节点,对三维场景进行显示。
VRML的基本功能[13]:
(1)存在感;
(2)多感知性;
(3)交互性;
(4)动态显示;
(5)立体感的视觉效果;
(6)立体感的听觉效果;
(7)动态显示与网络无关;
(8)脚本功能;
(9)多重使用者;
(10)全球资讯网参考节点;
(11)超链接功能。
2.2VRML技术特征
(1)基于客户机/服务器(Client/Server,C/S)模式的访问方式。
服务器作为中心工做站负责协调绝大数仿真活动,提供VRML文件及其资源(视频、图像声音等),并维护环境中所有虚拟对象的状态。
客户机则通过Internet下载期望访问的文件,运行客户进程,管理用户化身(Avatar),使用输入/输出(I/O)工具进行交互,并通过本地平台上的VRML浏览器实时完成场景绘制和系统交互。
由于浏览器有本地平台提供,从而实现了VRML系统的平台无关性。
(2)分布式环境设计及可扩充性。
语句结构化、层次化,可灵活高效地创建三维模型。
VRML文件的一个重要特性是其内建了支持多个分布式文件的内联机制(Internet节点),通过内联机制嵌入其他.wrl文件,从而允许将一个巨大的虚拟环境进行分割设计而后合并展示。
同时,VRML还提供了外部原型引用机制(EXTERNPROTO)语句、锚链机制(Anchor节点)、脚本语言(ScriptLanguage)等机制,允许以超链接方式在本地节点中指向并组织Internet网上资源,实现可扩充性。
(3)ASCII文本格式的描述性语言。
VRML和HTML相同,使用ASCⅡ文本格式的三维场景式描述语言进行编程。
这在保证各种平台通用的同时,也降低了数据通信量,从而提高网络传输速率。
而且当VRML在本地机器上运行的时,由于不再受网络带宽及传输速率的限制,其效果更佳。
(4)增强了的静态场景。
VRML2.0新增的一些功能节点可以使三维静态场景的真实感更强。
例如Background节点可以为场景设计环境背景图片,使用户置身于真实三维空间之中;
使用Fog节点还可以产生逼真的环境雾化打其效果等。
(5)可交互性与动画。
VRML2.0设置的接触传感器、环境传感器感知传感器以及碰撞传感器可用于对三维造型进行实时交互仿真,以避免物体穿墙而过等现象的发生;
而系统动画插补器则可以在场景中实时渲染关键帧动画。
(6)三维视听效果。
VRML所创建的虚拟环境已完全不同于HTML以及其他系统的二维平面效果。
随着浏览者的移动,VRML场景中造型的各种属性(例如方位、关照等)也将随之改变,以实现立体视觉。
VRML场景中的声音也不再是简单的二维音效。
通过Sound节点,用户可以具体设置声音大小、心愿位置、传播方向等控件属性,从而使声音表现出高低有别、远近不同的三维立体音效。
(7)Java或JavaScript支持。
VRML通过Script节点引入Java或JavaScript语言编写的脚本程序来扩展其功能。
Java与VRML具有很强的互补性;
Java具有Internet环境下程序设计的优势,而VRML具有虚拟现实场景建模的优势,两者结合可开发出较为复杂的、交互性强的虚拟三维系统[1]。
VRML文件是对所创建的空间场景的文本性描述,VRML中的场景由造型组成,而造型则由节点(Node)创建。
VRML2.0版提供54个节点可完成造型、形态、光源、编组、检测器、插补器、脚本和境界9大功能,每个节点又可以有零个或多个域(Field),每个域取域值,不同的域对应不同的域值类型,VRML定义了20种基本数据类型,以实现参数设置。
节点以层次关系联系在一起,节点间可以通过事件进行信息传递,事件通过场景图传播。
VRML的重大突破在于它描述的只是三维对象和场景的模型,而不是具体的三维对象的视频流,客户端浏览器再对这些模型进行实时的渲染,最终还原为原始的三维对象,这样就极大地减少了传输的数据量。
然而,VRML有其自身的缺陷:
●兼容能力欠缺
●对各种开发环境的兼容不足
●对浏览器的依赖过强
●VRML97是单用户、单处理器的标准
●缺乏有效的处理数字字符的数据的手段
2.3VRML浏览器
VRML文件是对所创建的空间场景的文本性描述,而场景则通过支持VRML播放的浏览器对文件的理解、渲染进而得到体现。
目前,支持VRML的浏览器有多种,较为常见的有MicrosoftVRML2.0浏览器、SGI的CosmoPlayer浏览器、Blaxxun的BlaxxunContact浏览器以及ParallelGraphics的CortonaVRMLClient浏览器等[1]。
需要说明的是,目前的这些VRML浏览技术一般都未提供三维模型的立体显示机制和用户扩展机制,也不支持如头盔显示器、数据手套等虚拟现实高级设备。
3X3D概述
3.1X3D的介绍
3.1.1X3D系统发展
2001年8月,Web3D协会(Web3DConsortium)发布了新一代国际标准——X3D(Extensile3D),它定义了面向Web和广播的可交互的,并集成了多媒体的3D内容。
X3D致力使用于多种硬件和广泛的应用领域,用于工程和科学可视化、多媒体演示、娱乐和教育、网页和共享的虚拟世界[15]。
X3D要成为一种集成3D图形和多媒体的通用格式,它是继VRML97之后的下一代互联网上的3D图形规范,它与VRML97向后兼容,即能用X3D技术浏览VRML的内容。
它把VRML的功能封装到一个轻型的、可扩展的核心之中,并实现了VRML97的全部功能,X3D在VRML的基础上提出了新的特性,高级API,附加数据编码格式,更严格的一致性和允许用模块化的方法支持新标准的组件化体系结构。
任何一个开发者都可以根据自己的需求,扩展其功能。
X3D使用可扩展标记语言(ExtensibleMarkupLanguage,简称XML)描述三维场景和实体行为。
X3D为满足一套专门的市场和技术需求而开发。
为了满足这些需求,X3D采用了下述设计目标[2]:
(1)分离的运行时构架和数据编码;
(2)支持多种编码格式,包括XML;
(3)添加了新的图形,行为和交互式的对象;
(4)具有可替换的进入3D场景的API;
(5)将建筑模块分解为组件;
(6)定义了满足不同市场需求的说明书子集;
(7)允许在不同服务等级下执行说明书;
(8)在可能的情况下,忽略未指明的行为
3.1.2X3D系统组成
虚拟现实
应用程序接口扩展
高级图形特性
二进制流
VRML97特性
文档对象模型DOM
场景创作接口SAI
外部创作借口EAL/JSAI
视频
音频
图2
(1)内核:
定义了VRML中最为关键的特性,形成核心组件,并将其封装为一个小型的、可扩展的内核。
规范规定内核实现的大小应在Flash和RealPlayer之间,可被用户快速地下载,运行时占用很少的系统资源。
当前的核心特性集已确定只实现VRML97的54个节点中的23个节点。
(2)VRML97特性集:
实现内核以外的VRML97元素。
VRML97的节点被设计为可插拔的组件,通过扩展内核,完整地实现了VRML97规范定义的功能,从而确保了X3D与已有的VRML应用兼容。
(3)应用程序接口:
X3D是描述几何体和行为的一种文件格式,由于使用XML编码,文档对象模型(DocumentOb-jectModel,简称DOM)自动为X3D提供了一组API,外部应用程序可以通过DOM访问X3D文件;
作为另一个选择,场景创作接口(SceneAuthoringInterface,简称SAI)是来自VRML的场景图像接口,它将外部创作接口(ExternalAuthoringInterface,简称EAI)和VRML97规范中的脚本接口(Script)融合,为外部或内部编程提供了一个单一的程序接口。
(4)扩展集:
通过在内核之上进行特性集扩展,实现复杂的或是用户自定义的功能。
用户可以在内核之上建立一个完整的VRML97特性集。
也可以添加其它的扩展,如NURBS扩展,二进制文件格式扩展等。
通过扩展还可以利用VRML97规范中未定义的新的硬件渲染技术。
组件化的设计为X3D的内核提供了一种插件机制,允许扩展功能被实时加入运行内核[4][8]。
3.1.3X3D系统特性
X3D(Extensible3D,可扩展3D)是互联网3D图形国际通用软件标准,定义了如何在多媒体中整合基于网络传播的交互三维内容。
X3D可以在不同的硬件设备中使用,并可用于不同的应用领域中,如科学可视化、航空航天模型、虚拟战场、多媒体再现、教育、娱乐、网页设计、共享虚拟世界等方面。
X3D也致力于建立一个3D图形与多媒体的统一的交换格式。
X3D是VRML的继承。
VRML是原来的网络3D图形的ISO标准(ISO/IEC14772)。
X3D标准是XML标准与3D标准的有机结合,X3D相对于VRML有所改进,提供了以下的新特性:
更先进的应用程序界面、新添的数据编码格式、严格的一致性、组件化结构用来允许模块化地支持标准的各个部分。
为了满足国防、工业、农业、商业、科研、教育、娱乐、共享虚拟社区等方面使用的需求,X3D提供了以下的新特性[2]:
1.3D图形:
多边形化几何体、参数化几何体、变换层级、光照、材质、多通道/多进程纹理贴图。
2.2D图形:
在3D变换层级中显示文本、2D矢量、平行图形。
3.动画设计:
计时器和插值器驱动的连续动画,人心花动画和变形。
4.空间化的音频和视频:
在三维立体空间场景几何体上映射影视、听觉文件。
5.用户交互:
基于鼠标的选取和拖拽,键盘输入的交互感。
6.导航功能:
用户在3D场景中的移动、碰撞,亲近度和可见度的智能检测。
7.用户定义对象:
通过创建用户定义的数据类型,可以扩展浏览器的功能。
8.脚本:
通过程序或脚本语言,可以动态地改变场景。
9.网络功能:
可以用网络上的资源组成一个单一的X3D场景,可以通过超连接对象连接到其他场景或网络上的其他资源。
10.物理模拟:
地理信息系统、分布交互模式(DistributedInteractiveSimulation,DIS)协议整合。
3.2X3D的关键技术
X3D的两项关键技术是XML文档和组件思想。
XML文档:
可扩展标记语言(ExtensibleMarkupLanguage,简称XML)是万维网联盟(W3C)创建的一组规范。
与HTML一样,它也源自SGML(StandardGeneralizeMarkupLanguage,通用标记语言)。
但与HTML不同,XML是一种元标记语言,可以依据用户的需求,自行定义标签及属性名,从而突破了HTML固定标记集合的约束。
其具有如下的特点:
●自描述性
●可扩展性
XML文档是由SGML和HTML发展而来,它为描述数据对象提供了新的方法。
我们称这些所描述的数据对象为XML文档(XMLDocuments)。
一个满足格式的良好的XML文档必须满足以下三点要求:
●作为一个整体,它满足XML文档的产生式
●它满足规范中定义的所有格式良好的约束
●该文档中直接或者间接引用的所有已经被解析过的实体都是格式良好的
我们使用XML作为X3D的编码,主要是使用它的逻辑结构。
由于XML文档都是采用结构化的方式来表示,比如有些元素之间是相互的嵌套,而有些元素是并列的兄弟节点,或者有的属性从属于某个元素。
这样的逻辑关系就构成了XML文档的逻辑结构。
文档由声明、元素、注释、字符、引用或者处理指令组成。
它可以被形象的描述成一棵树的根与叶,无论是根还是叶抑或是当中的子元素或者其它标记,每个节点都将对应各自的存储单元。
也就是说,XML文档是由一个或多个存储单元构成的,这些存储单元就是所谓的实体。
使用XML编码主要的依据在于[14]:
●变换宿主机制(Rehostability):
VRML97的语法对于那些非专业的VRML开发者而言是陌生的。
VRML97的语法与OpenInventor图形语法相似(很显然,因为VRML就是采用SGI的OpenInventor文件格式),但与世界通用的XML语法相比就过于封闭,限制了本身的发展。
●页面集成(Pageintegration):
XML将Web内容划分为很小的单元———元素(Elements),Elements比传统的页面(pages)要小,还可以单独进行存储,页面由若干元素构成。
这就使XML遵守传统的数据处理技术和体系结构。
XML解析器(XMLparser)将一个页面解析为一个元素树,从而降低了VRML对浏览器的依赖。
组件思想:
组件思想来源于面向对象理论。
基于面向对象的思想的特点,以及传统VRML的不易扩展性,在最新的X3D规范中,使用了组件思想对X3D规范进行实现,以增强与其他编程语言的交互。
依据开发人员的需求,通过调用模块动态的将有用的底层模块装配成应用处理。
在X3D中组件思想的基本原理:
X3D的组件指功能相关的一个或多个节点类型(VRML中基本的语言单位)的一个集合,每个组件扩展内核在某一定特定领域的功能。
X3D首先将VRML的关键特性封装为一个小型的、可扩展的内核。
然后通过特性集扩展内核,实现复杂的或者应用程序定义的功能。
用户可以在内核上建立一个完整的VRML97扩展,从而实现对VRML97规范的向后兼容。
也可以添加其它的扩展,如NURBS扩展,二进制文件格式或GeoVRML扩展,针对特定领域增强内核功能,从而扩大了其使用范围。
……
图3
使用组件模型的好处有以下几点[7][9]:
(1)精巧的内核:
就实现而言,VRML97是一个庞大而复杂的标准。
通过将VRML精简为一个小的核心功能集合,减少了实现的复杂度,并且增强了软件的可维护性。
同时,精巧的内核可以方便用户,因为并不是每个用户都需要那些复杂的扩展,如果不加分辨的将这些复杂的应用集成上去,无疑会增加用户端的大小,所以只为用户提供简单的内核,扩展依照用户的需求自行加入。
(2)扩展能力:
借助扩展集和特性集的概念,开发者可以在内核上添加新的扩展集,也可扩展新的特性。
这样就可以依据不同的需求,定制不同的应用。
(3)减少了对资源的占用:
例如对于机顶盒而言,每一种特性都是对资源的消耗,同样,对于现今普遍使用的网络客户端而言也是如此。
于是一个小型但可扩展的浏览器就显得至关重要了。
而为用户节省不必要的资源开支将会大大地方便用户的使用。
(4)组件思想在X3D体系结构中的广泛应用使得整体系统框架的易读性得到了提高。
可扩展性和灵活性使应用开发变得方便而简单,底层的实现将不再进入开发者的视野。
3.3X3D的浏览器
Xj3D是由SUN公司的Java3D工作组于1999年提供的一个VRML和X3D浏览器的代码集。
最初这是一个基于VRML97的浏览器,后来将这组代码来验证新规范的实现[2]。
从整体体系结构来看,开发者有三个基本目的:
●说明X3D规范可被实现
●创作代码来激励工作组的进一步工作
●通过将代码进行分割,以组件的形式与其它应用进行集成
4X3D/VRML的比较
4.1VRML97的缺点
Web技术的迅速发展使VRML97的缺点逐渐暴露出来,VRML3D图形自VRML97标准颁布以后进展缓慢,远远没有达到期望值。
它的缺点体现在以下几方面:
(1)性能表现
首次运行前用户要等待较长时间下载安装插件,运行时占用过多的资源。
对场景采用保守的优化方法,操作不方便,画面不连续,图像质量不高,不能满足对图像质量要求很高的应用。
VRML97属性过多,包括3D几何对象,色彩,材质,灯光,相机,动画以及提供交互性的传感器等等。
规范的复杂性直接导致了VRML9
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟现实 模型 语言 发展 历程 应用 展望 要点