基于VRML虚拟实验室的探究

时间:2022-05-01 12:38:33

基于VRML虚拟实验室的探究

摘要:虚拟实验室为实验教学提供了新的形式,VRML语言(虚拟现实造型语言)为虚拟实验室的建设提供了经济有效的手段。虚拟实验室具有教育导向性、强交互性、知识整合性等功能,虚拟实验技术作为新的教学媒体,它的出现无疑将对现代教学,特别是远程教学产生深远的影响。本文讨论了基于VRML的虚拟实验室的实现方法,实验方法中应考虑的问题,以及构建虚拟实验室中的不足之处。我院信息工程系也在着手创建计算机教学的虚拟实验室,并逐步应用到全院各系的相关教学中。

关键词:虚拟实验室;VRML

中图分类号:TP391.9 文献标识码:A文章编号:1007-9599 (2011) 11-0000-03

The Virtual Laboratory Research Based on VRML

Yang Rongguang,Zeng Yangqing

(SiChuan Technology and Business College,Dujiangyan611830,China)

Abstrict:Virtual laboratory for experimental teaching provided new form,virtual reality modeling language(VRML language)for virtual laboratory construction provides economic effective means.Virtual laboratory has the education orientation,strong interactivity,knowledge integrated,and other functions,virtual experiment technology as a new teaching media,which appears to modern teaching will no doubt,especially remote teaching far-reaching impact.This paper discusses the VRML the realization method of the virtual laboratory,the experimental method should be considered in question,and the construction of the defects of the virtual laboratory.The college`s engineering department to create information in computer teaching virtual laboratory,and gradually applied in the following aspects including relevant teaching.

Keywords:Virtual laboratory;VRML

一、引言

实验教学是高校培养学生实际操作能力的重要环节,因而院校都投入了大量的资金建立实验室,但实验教学受到很多因素的限制,如:仪器设备、耗材、实验时间、实验次数、空间等。随着计算机网络技术、多媒体技术和VRML技术的快速发展,一种新型的实验室―网络虚拟实验室的建设在院校越来越受到重视。网络虚拟实验室是一个基于网络的实验教学、技术交流、共同研究、协同工作的平台,是一种利用虚拟现实及仿真技术进行科学研究与工程设计的方法。

虚拟实验系统的开发建设不仅改变着人们对传统实验过程的认识,而且由于它能够有效地降低实验成本、提高实验效率,有利于实现远程学习和资源共享等,因此这种实验教学方式正在成为我国教育信息化建设中实验教学手段改革的一个重要方面。

虚拟实验室的概念是由美国弗吉尼亚大学的沃尔夫(William wolf)教授于1989年首次提出的,是指在计算机系统中采用虚拟现实技术实现的各种虚拟实验环境,实验者可以如同在真实的环境中一样完成各种预定的实验项目,所取得的学习和训练效果等值于甚至优于在真实环境中所取得的效果。

虚拟实验室具有以下优点:简单易行,交互性与可操作性与实际实验基本相同;可降低教师的劳动强度;减少仪器设备的损坏,材料的耗损,又可以提高实验教学的安全性;虚拟资源还可反复使用。因此,院校的虚拟实验室的发展将成为必然

二、基于VRML的虚拟实验的总体设计

VRML虚拟现实造型语言,是1994年在瑞士日内瓦举行的第一届国际互联网大会上提出的,为创建三维网络的界面的一种通用的描述性语言,用于在WWW上的超级链接,类似于超文本标记语言(HTML)。VRML使用文本编辑器,如Windows的Note Pad,Dos的Edit等编写。VRML创造了交互式浏览的三维空间,VRML浏览器可以是一个独立的程序,也可以是某个Web页的附件和插件。VRML文件名的后缀为wrl,它的主要结构包括VRML文件头、造型、脚本、路由等部分。VRML程序实现的要点有二个方面:一是节点(Node)构成虚拟世界的基本要素;二是路由(Route)节点间传递信息的途径。具有4大特点:(1)强大的网络功能,通过安装特定的VRML解释器插件运行VRML程序,能够直接接入Internet创建立体网页与网站;(2)多媒体功能,能够实现多媒体制作,合成声音、图像以达到影视效果;(3)创建三维立体造型和场景的功能,能够实现更好的立体交互界面;(4)感知功能,可以利用感知传感器节点来感受用户及造型之间的动态交互感觉。

(一)虚拟实验室的设计

这里所说的虚拟实验室是一个网络环境中建设远程教学系统中的实验设施,它需要建立一个网站,网站是虚拟实验室空间的载体。下面以一个简单的网站系统的建立为例加以说明。

1.建立虚拟空间的方法和所需要的软件工具

用VRML建立虚拟现实世界有二种方法。一是通过编写源代码生成文本文件,再转化生成“.wrl”为扩展名的网页文件,此法的缺点是源代码函数过于复杂,文件较大,不易掌握,运用较困难;另一种方法是通过辅助建模软件,先建立三维物体,再在虚拟世界中进行组合,形成丰富多彩的虚拟世界。这里主要探讨第二种方法,即在3DSMAX中建立各种三维物体,再将这些物体以“.wrl”格式导入到VRML中,编辑它们在虚拟现实世界的位置关系,形成一个统一的整体世界。系统使用VRML、3DSMAX、Pro/E、Photoshop、FrontPage、Dreamweaver等作为制作工具。特别要注意在建模时应尽量减小文件占用空间,首先保证使用适合于网络运行的建模软件。

2.网站的结构设计

网站由若干个HTML页面与若干个VRML节点组成,应根据实际需要而定。首页将以按钮超级链接或文本超级链接的形式与其它各页面链接。每个实验内容都是一个虚拟空间与HTML内容的组合。

其结构关系如图所示

3.网站的制作过程

首页可用FrontPage、HTML、Dreamweaver等网页制作软件制作。首先生成一个空白网页,背景的设置在“格式”一栏中。背景图片的制作,在“渲染”中选择“高斯模糊”处理图形边界,产生图片与背景色融合的效果。存储前必须将“*.bmp”格式文件转换为“*.jpg”格式,以减少存储数据量。在首页制作过程中,网页常常由于显示器的分辨率不同而丢失格式。要解决这一问题,就应当采用表格定位的方法,在表格中确定各图形、图片的位置。

(二)实验室功能模块

功能模块结构如图:

1.服务器主要功能模块描述如下:

(1)Web服务器:是服务器端的基础模块,接受客户机请求并响应,返回虚拟实验场景;

(2)虚拟实验物品库:在虚拟实验物品库中,建立一个虚拟实验中所涉及的实验器材库,并且附带简要的文字说明,以帮助实验者在开始实验以前熟悉虚拟实验中出现的器材;

(3)虚拟实验:虚拟实验是本系统的最主要部分,包括了实验场景模块和实验介绍模块。实验场景为每个实验提供了各自所需的实验流程,动画和器材对象;

(4)实验介绍模块:提供了相关的介绍材料,以供实验者在实验之前了解实验所需的知识。

2.虚拟实验系统客户端模块

系统客户端模块描述如下:

(1)浏览器:虚拟实验所有的操作都在此进行。一般选择IE6.0以上即可;

(2)用户交互模块:用户交互模块包括鼠标、键盘等。通过用户交互设备,实验者可以自由的在虚拟场景中切换视点和视角,单击按钮等操作;

(3)VRML插件:VRML插件是建立在浏览器基础上的模块。它是虚拟实验的基础,所有的实验场景都通过插件解释并渲染在浏览器之中。系统使用了Cortona VRML插件,Cortona是目前最出色的VRML解释器之一。

(三)系统实现

1.使用3DSMAX、Pro/E与VRML进行场景制作

虚拟现实场景的制作通常有如下三种途径:第一是通过摄像机或数码相机进行实景拍摄,然后制成全景图;第二是使用编程的方法直接生成,常用的程序设计语言有VRML和OpenGL等;第三则是使用商品化的软件帮助我们制作虚拟的三维场景和动画,如用3DS MAX、Pro/E等。由于虚拟试验环境相当复杂,如果全部采用VRML来进行制作,工作量将非常大,3DSMAX、Pro/E与VRML相结合可以很大程度减轻建模的工作量。

建立虚拟实验环境时的步骤是:先在3DSMAX中建立一个三维场景的造型、材质、贴图、动画和视点等,再利用3DSMAX的Export功能导出为VRML文件格式,最后再编辑生成的.wrl源文件,对其进行修改和编辑。

2.基于VRML传感器实现简单交互

利用VRML的传感器节点,通过事件和路由来实现简单的交互。例如对于下面的代码,就可通过拖动鼠标来打开或关闭一扇门。

DEF DoorTime TimeSensor{

cycleInterval 1#exposedField SFTime

enabled TRUE #exposedField SFBool

loopFALSE#exposedField SFBool

startTime 0#exposedField SFTime

stopTime0#exposedField SFTime

}

ROUTE DoorTouch.touchTime TO DoorTime.startTime

3.利用VRML的Script节点实现复杂交互

VRML标准提供了扩展VRML并和外部程序实现连接的机制―即Script节点。VRML中的Script节点是一个可以描述一个由用户自定义制作的传感器和插补器的节点。通过它可以定义和改变场景中对象的外观和行为。VrmlScript语言继承了JavaScript的大多数特性,而且使用JavaScript的基本语法,不同之处在于VrmlScript内建了针对VRML而设计的JavaScript对象。在VRML中使用VrmlScript的基本结构为:

Script{

eventIn SFBool input

eventOut SFBool output

url"vrmlscript:

function input(value)

{output=value;

}"

}

三、使用VRML构建虚拟实验室的不足

(一)VRML的不足和值得注意之处

VRML处在发展过程中,许多技术尚不成熟,用它开发交互网络三维动画也有诸多短处。首先,VRML目前没有成熟的专门开发工具,在动画的交互实现过程中,所有涉及编程方面的工作都必须使用文本编辑工具编写每一段代码,因此造成开发速度缓慢。但由于三维物体的绘制能够完全由3DSMAX完成,所以相比Java与VB等开发工具,它依然是效率最高的。此外,VRML并没有非常严格的格式,例如在对节点的定义中:

Appearance Appearance{……}

appearance

Appearance{……}

两者完全等价,因此容易造成代码编写不规范,阅读困难,重用率降低。

VRML技术尚待完善还体现在它提供的功能有限。例如用接触检测器(Touch Sensor)的一个输出事件(event Out)is Active无法实现最常用的开关功能,只能通过在代码中添加Javascript小程序来实现(见上节Javascript代码段)。另一方面,VRML的动画主要是靠插值器(Position Interpolator)完成。这种类似关键帧的动画处理方式依赖尽可能多的插值来近似模拟平滑曲线轨迹的运动,因此平滑程度有限,另外数值需要预先插入,因此无法实现物体的运动交互,解决方案是嵌入Javascript代码或者更强大的Java辅助实现。

VRML的时间检测器(Time Sensor)一旦被启动就始终处于工作状态,无论它是否被激活。因此当它处于不被激活的工作状态时,依然占用了大量资源,另外当一段动画由时间检测器控制时,只要它已经被启动,即使目前未被激活,也始终处于运行状态(只是这部分动画并没有输出),当该物体被停止运动而后再次激活,由于受到时间检测器的影响,它将从当前实际位置(虽然在被激活前它并未显示出来),而不是物体停止时的位置继续动画演示。该检测器的缺陷依然只能由其他语言嵌入的代码来填补。VRML的源代码暂时无法进行加密,所以任何人都能够不经过允许轻易获取他人的代码,这样虽然利于VRML技术的学习,但是也侵害了他人的知识产权。

(二)3DSMAX辅助开发VRML产品的缺陷

大量的文献都提及3DS MAX能够辅助开发VRML产品,但是这个三维动画制作软件并非专门为VRML设计,因此在开发过程中依然会存在许多问题。在使用3DSMAX辅助进行场景和物体绘制时,如果使用中文命名,最终成为VRML97格式时该物体ID会发生改变,它将按照物体出现的先后顺序进行数字编号命名。所以在定义物体ID时应该使用英文,以方便接下来的用文本编辑器添加代码的工作。在使用3DSMAX制作物体时,物体形状应该尽量简单,使用VRML中约定的规则形状。规则形状只需要记录很少的顶点就能够在播放器中解释显示,而不规则形状需要记录每一个节点的位置及其颜色。这样代码会显著增加,同时在解释过程中所花费的时间也会变长。

另一方面,如果想创造一个封闭场景进行漫游,就必须注意VRML97标准规定物体大小的单位是米,所以在使用3DSMAX辅助创造物体的时候就必须考虑到物体大小与第一人称视角间的比例,否则两者的不匹配会造成灾难性后果,物品的不正常比例会使漫游者看到的东西扭曲和不协调。使用3DSMAX构造物体时,应该尽量避免对物体使用复杂的材质,这是因为VRML虽然声称支持材质功能,而它确实提供了一个Material节点,然而功能非常有限,在被成VRML文件过程中,关于物体材质的数据将有可能丢失,较复杂的材质丢失的情况几乎是必然的,这将导致该物体外观完全改变。解决的方法是采用jpeg图片的贴图(使用Image Texture节点)或者mpeg-1视频文件贴图(使用Movie Texture节点)来解决。

四、结束语

VRML技术并不是一种十分成熟技术,从研究虚拟系统的服务器模块构建和客户端模块构建出发,设计了虚拟实验环境和虚拟实验两部分。网上虚拟实验系统建成后,学生可以登陆网站进入虚拟实验系统,操作设备,进行各种实验。不仅可以节约在实验教学方面的投入,更能促进学生学习的自主性,培养和提高学生的动手能力和创新能力。目前的不足主要在于实验内容的还不够丰富,在仿真环境的逼真程度上,还需要有进一步的改进。随着网络技术和硬件设施的飞速发展,虚拟现实技术将成为今后网络多媒体发展方向的主流。而VRML作为一种ISO国际标准将会得到越来越好的完善,相信将来VRML在构建网上虚拟实验室中将发挥越来越大的作用。

参考文献:

[1]吴艳梅等.用VRML实现虚拟实验室的设计方法[J].微型机与应用,2001,12

[2]李仁发等.虚拟实验室网络体系结构研究[J].系统仿真学报,2002,14

[3]王乐娅.网络虚拟实验室的开发与实现[J].计算机应用,2003

[4]刘红玲等.基于VRML的网络虚拟实验室建设[J].徐州工程学院学报,2005,5

[5]衣李娜等.基于VRML的虚拟实验室设计方法[J].曲阜师范大学学报,2005,10

[6]刘辉.基于VRML虚拟实验室实现方法的研究[J].实验室研究与探索,2007,12

[7]吕克志.基于校园网的虚拟实验室的研究与设计[J].网络安全技术与应用,2008,3

[8]胡广.基于VRML的虚拟实验室研究与设计[J].湖北广播电视大学学报,2009,5

[9]王志喜.VRML基础教程[M].湖南科技大学计算机科学与工程学院

上一篇:网络控制系统中有关问题的分析探讨 下一篇:生物酶造粒车间通风系统设计简介