金烨
(太原大学教育学院,山西太原 030001)
浅谈第二代Web语言
——VRML的发展及其应用
金烨
(太原大学教育学院,山西太原 030001)
随着计算机网络技术的飞速发展,虚拟现实技术作为第二代互联网技术的重要基础,已经越来越引起人们的广泛关注并被广泛应用于生活的各个方面。本文通过与第一代Web语言做对比,简要介绍了第二代Web语言——虚拟现实建模语言(VRML)的概念、发展历史、特点以及VRML在多领域的应用和发展前景。
VRML;第二代Web语言;虚拟现实
在网络中,人们接触到的各种形形色色的网页,都是以HTML为核心建立的第一代万维网。HTML结合多媒体技术可以提供图片、音乐、视频等多媒体元素的浏览,而且在JavaScript、VBScript等脚本语言的支持下,可以提供一定的人机交互功能。但是这些网页都是平面的,只能提供二维的、静态的信息,交互方式也很单调,随着网络技术的发展,已不能再满足人们的需求。
人们在视觉疲劳的时候,总会幻想在网络中也有一个类似于真实世界的虚拟世界。人们在这个虚拟世界中有更大的自由度。这样的虚拟世界的建立是网络发展的目标之一,我们称它为虚拟现实(Virtual Reality)。
虚拟现实(Virtual Reality)是20世纪90年代兴起的一种新的人机交互界面形式。它通过计算机虚拟出一个人工环境,让人处于其中并以高度自由的交互方式让用户获得如同在真实世界中一样的类似感受。VRML就是一种可以建立虚拟场景的建模语言。
VRML(Virtual Reality Modeling Language)的中文名字是虚拟现实建模语言。它是一个计算机对虚拟场景进行描述的标准,是通过对三维场景中的节点、材料质地、几何形状、光线、纹理特征等概念进行定义和解释,并和Inter、多媒体技术等结合在一起形成一种虚拟现实交互界面的建模语言。
VRML文件主要包括四个主要成分:VRML文件头、原型、造型节点和脚本、路由。在这四个要素中,只有文件头部分是必须的,1.0标准中文件只支持ASCII字符集,所以文本头为#VRMLV1.0ASCII。VRML 2.0标准的文件头与1.0标准的不同,文件头为#VRML V2.0 utf8。为了向下兼容,VRML 2.0文件格式兼容1.0文件格式。这个文件头有三个含义:第一、表明这个文件是一个VRML文件;第二,符合VRML 2.0版本;第三,文件使用的是utf8字符集。文件头用于告诉浏览器该文件符合的规范标准以及使用的字符集等信息。原型定义了创建了带有指定名称、接口和整体的新节点类型,一旦成功地定义了原型,它就可以在VRML文件的其他地方随意使用。造型节点是VRML中的基本建造模块,它构成了VRML文件的主体部分。脚本可以看作是一个节点的外壳,它的动作可以通过程序脚本来赋予。这里的程序脚本是一种简化了的应用程序,一个典型的脚本是由Java或JavaScript编程语言写成的程序。路由是一种文本描述的消息,一旦在两个节点之间创建了一个路由,第一个节点可以顺着路由传递消息给第二个节点,这样的消息被称为事件。VRML还可以包含下列条目:注释、节点和域值、定义的节点名、使用的节点名等。
以VRML为核心建立的Web被称为第二代万维网,以其立体的场景、强烈的代入感、高度的自由感和更多样的交互性等特点区别于以HTML为核心建立的第一代平面Web。它能带给用户如身临其境的感官享受,如随着用户活动而感受到的光线变化、因距离声源的远近而感受到的声音的大小变换等,都是第一代万维网无法做到的。
VRML起源于1994年5月在瑞士日内瓦召开的WWW会议。会议上,Mark Pesce和Tony Parisi向与会者展示了一种他们开发的可以在万维网上运行的虚拟场景的界面,并引起了强烈的反响。与会的一个叫BOF的组织决定开发一种用于虚拟场景描述的语言,并把它定名为VRML。
1994年10月在芝加哥召开的第二次万维网会议上,一个名为WWW-VRML的Mailing List组织发布了VRML 1.0的草案。VRML 1.0确立了以后的工作核心,为以后的版本更新打好了基础,但它本身的功能十分有限,只能建立一个静态的虚拟环境,只能一个用户使用且没有交互功能,而且它完全面向ASCLL字符集没有处理127个以上字符的能力。
在VRML 1.0的基础进行了很大的补充和完善后,VRML 2.0的规范于1996年8月在新奥尔良召开的SIGGRAPH'96会议上通过。并于1997年4月向国际标准化组织ISO JYCI/SC24委员会提交申请,成为VRML国际标准,定名为VRML 97。
1998年底由Web3D联盟提出VRML2000X规范,也被称为X3D(Extensible 3D)。2002年3月发布了X3D的第一版,2004年8月X3D被ISO(国际标准化组织)正式批准成为国际标准(ISO/IEC19775)。
虽然VRML给出的是三维虚拟场景,但它在网络中的访问速度却并不慢。最初VRML的设计者们就考虑到了在网络中传输图片文件的速度很慢,而文本信息的速度却很快的情况,所以VRML传输的只是描述虚拟场景的文本信息。服务器把VRML的文本信息通过网络传输到用户那的客户端计算机上中,由客户端的计算机根据VRML文本中提供的信息建立相对于的三维虚拟场景,这就是VRML的基本工作原理,被称为服务器/客户端(C/S)模式。这种工作模式也是VRML的特点之一。这种工作方式不仅减少了服务器的工作量和网路的负荷,还由于场景的建立是在本地计算机上,也实现了VRML的访问与平台无关的特性,最大限度的利用了客户端资源。当然,在客户端生成虚拟场景的时候需要有专门的VRML浏览器如Cosmo Player、Worldview、Crotona等,或安装有VRML浏览插件来对VRML的文本信息进行解释。
VRML的第二个特点是实时渲染。由于VRML的C/S的工作模式,VRML虚拟场景中的色彩等元素的渲染是在本地计算机上完成的。他的渲染不同于图片、动画或三维建模等,后者的预先进行渲染的,而VRML场景则是根据用户的浏览情况,由本地计算机实时进行的渲染,有很强的交互性和灵活性。
VRML的第三个特点是它是可扩充的。VRML不只是一种语言,还是一个开发标准。VRML一开始就被定义为是可扩充的,一是为了减少市场的冲突,加强协作,最大化的资源整合和减少由不同的技术规范给用户带来的不便;二是鼓励其他的相关技术引用VRML或称为VRML的一部分,达到扩充和完善VRML标准的目的。所以VRML是不断发展的。
但VRML也有很多缺点,如着色不如OpenGL快、没有底层控制、缺乏数据库支持等。
VRML有着众多的优势,在诸多领域都有着广泛的应用前景。例如:
(一)教育领域
利用VRML独特的立体交互方式和代入感,可以把课程当中很多抽象的或不可能展示出来的内容通过虚拟的方式具现化,以真实的例子展现在学生眼前。如化学分子结构、事件的模拟或学习场景的建立等等。既方便学生的理解,又能激发学生的学习兴趣,提高教育教学水平。
(二)商业领域
电子购物已经是现在网络中不可或缺的一部分了,但用户购物时只能观察到平面的照片,并不能很好的选购商品。而VRML构建的商品时立体的,用户可以很方便的从各个角度观察商品,使用户在电子购物时也能有逛街的感觉。
(三)工程领域
在工程领域中新项目的开发都是通过设计、试验品、到生产这三个环节逐步实现的。一个新的设计需要反复的推敲和试验才有可能成为定型产品,而且平面设计图很难让人把握设计中的整体性和协调性,也需要不断修改,过程繁复,耗时耗力。应用VRML制作出三维实时动态虚拟模型,使得复杂的机构运动可视化仿真成为现实。问题的发现和解决变得直观明了,从而达到到高效、快速、敏捷、一次试制成功的目的。
(四)娱乐领域
VRML在这个领域中的应用可以说是最吸引人的。通过VRML虚拟出各种人们平时去不了的或梦幻不存在的场景,加上其良好的实时交互方式和强烈的代入感,人们在其中游戏、探险等,都能有身临其境的感官享受和乐趣。也许有天,不出门就可遍览世界诸多名胜不会只是出现在梦中了。如上海的世博会,在网络中构建了一些场馆的虚拟场景,不能去上海的人们可以很方便的通过网络参观这些场馆,达到了参与世博、宣传世博的目的。通过以上列举的部分领域的应用可以预见,VRML有着巨大的潜力和广阔的发展空间,它的发展会影响和改变我们生活中的各个方面。
本文介绍了VRML的概念、发展历程、特点和一些应用实例,通过与第一代WWW做对比,可以看出VRML具有巨大的发展潜力和广泛的应用前景。虽然VRML的发展现在还处于起步阶段,实际应用并不普及,但我们可以预见到,随着网络通信技术的不断发展,VRML终将改变我们的生活。
[1]阳化冰,刘忠丽等.虚拟现实构造语言VRML[M].北京航空航天大学出版社.
[2]王付生.WWW上的虚拟现实技术-VRML的发展与现状[J].电脑应用技术,2000,(10).
[3]孟国军,钟家骐.第二代Web语言VRML的发展及其应用[J].中国测试技术,2003,29(2).
[4]周前祥,姜世忠,姜国华.虚拟现实技术的研究现状与进展[J].计算机仿真,2003,20(7).
(责编:赵国梁)
TP312
A
1008-8431(2010)05-0072-03
2010-09-28
金烨(1982-),男,太原师范学院计算机科学与技术专业毕业,太原大学教育学院助教。