陈强等
摘 要:虚拟实验室为实验教学提供了新的形式,VRML语言为开发网络虚拟实验室提供了经济有效的手段。基于VRML技术的虚拟实验室可提高教学效率、降低教学成本。本文主要介绍了VRML语言,提出了使用VRML技术开发虚拟实验室的结构类型和实现方法,希望使其成为一种有效的辅助实验教学手段。
关键词:VRML;虚拟实验室;虚拟环境;交互控制
在世界范围内,网络时代信息化的到来正在进一步推动高等教育的发展。远程教育的广泛兴起,使得校园的围墙逐渐消失,学生对教师面对面授课的依赖性也逐步降低,传统的课堂教学受到挑战。网上虚拟课堂的新型教学模式已悄然而至。
实验是许多课程教学活动中一个不可或缺的环节。远程教育中,理论知识的教学形式比较成熟,但是实验教学却存在着困难。许多实验只能通过观看演示录像的方式进行,甚至根本不安排实验环节,这不可避免地造成了理论与实践脱节,影响学生对所学理论知识的理解和掌握。正基于此,目前国内外有很多组织和大学纷纷开展了基于计算机和互联网技术的虚拟实验系统的研究和建设工作,以Web为实现平台,把一系列软件和实验硬件有机结合起来,构建一个虚拟而又逼真的实验环境,实现对真实实验过程的计算机模拟。学生只需要在终端显示器上点击和拖动鼠标,即可完成整个实验,观察实验现象,记录实验结果。
虚拟实验室具有传统实验室无法比拟的优点,决定了它在科研、教育(特别是远程教育)中的良好应用前景。这对培养学生的创新意识、创新能力及动手能力,都有着其他环节不可替代的重要作用。
一、VRML技术概述
1.VRML的发展
VRML是虚拟现实造型语言(即Virtual Reality Modeling Language)的简称。它是由SGI公司提出,可以进行全面定义的一种网络环境下描述虚拟三维模型、渲染以及提供交互操作的跨平台、开放式、解释性文本语言。它本身的定义就具有对三维实体真实显示的能力,满足了机械设计中对机械零部件三维造型的要求,而且VRML文件比较小,满足了在Internet/ Intranet网上交流机械零部件三维信息的要求,可实现网络化的虚拟设计。
自1994年开发出三维浏览器Lab-
yrinth,经过发展,1995年VRML1.0版本正式推出。1996年,在对1. 0版本进行重大改进的基础上推出了2. 0版本,其中添加了场景交互、多媒体支持、碰撞检测等功能。VRML工程组在1997年4月提出了以VRML2.0为基础制订的国际标准草案。VRML标准是至今为止唯一的一个采用HTML方式发布的标准,这充分反映了VRML技术的广泛认可和开放性。在VRML发展的过程中,不断与相关技术进行融合,包括HTML、Open Inventor、面向对象技术、Java技术和XML技术,显示了VRML技术的包容性和创新性。
2.VRML组成部分
在语法上, VRML以节点(Node)作为基本单位。一个节点可以是一个单一的3D造型,也可以是一个造型的材质,还可以是动画定时器、传感器等。VRML2.0中就定义了54个节点,如造型节点、编组节点、传感器节点、脚本节点等。节点包括域和事件,各种信息可以在节点之间通过路由传递。
与HTML类似,VRML的解释执行和演示是通过浏览器来完成的,浏览器接受特定文件格式的用户输入以及用户接口模式。其中,分析程序读取VRML文件并生成场景图,场景图除了包括节点和路由图外,还包括处理事件、读取编辑路由图及触发节点改变的执行引擎。
3.基于VRML技术的虚拟实验室的特点
VRML具有强大的网络功能,它能够创建三维造型,实现多媒体制作,可以利用感知传感器节点来感受用户及造型之间的动态交互感觉。因此,基于VRML技术的虚拟实验室具有以下特点。
(1)成本低廉。虚拟实验室在可视化方面的强大优势以及可交互性,不仅大大降低了实验的材料成本费用,而且还可以节省场地和人力资源成本,减小实验损耗。此外,基于VRML的虚拟实验可以实现资源共享,避免软件、仪器及设备等相关资源的重复投资。
(2)省时高效。与传统实验相比,虚拟实验无需大量繁琐的实验准备和仪器设备维护工作。用户可以避免受传统实验不可预知情况以及无关细节的影响,集中精力研究实验对象本身的特性和规律。虚拟实验还能实现将缓变的实验过程快速化和将快变过程慢速回放,大大增强了实验的直观性,提高了学生学习和研究效率。
(3)交互灵活。虚拟实验通过人机交互环境,对用户的实验过程做出及时反馈,并对实验结果进行实时分析和评价,实现了教与学的双向交流,提高用户学习的兴趣和效率。
(4)用户自主。虚拟实验解决了传统实验中,实验人数与实验场地和时间安排之间的难题,用户不仅可以随时随地进行虚拟实验,还可以自我探索和设计新的实验,有利于培养学生分析问题和解决问题的能力。
二、虚拟实验室的结构与实现
1.基于VRML技术的虚拟实验室的结构组成
虚拟实验室包含下面几个重要的组成部分:提供远程用户访问的Web服务器;用于存储虚拟实验基础数据和实验结果数据的数据库系统;用于数据处理、分析、存储并使这几个过程可视化的实验处理软件。这可以是基于专业的仿真软件系统,也可以是自主开发的基于Web的实验软件系统。
互联网为虚拟实验室的实现提供了一种基础平台,基于Web的浏览器/服务器(B/S)计算模式是一种三层计算模型,也是实现网上虚拟实验室的一种基本模式。它由浏览器、服务器和数据服务器组成,其体系结构如图1所示。
B/S体系结构是利用超文本传输协议HTTP的消息传输机制,客户端通过浏览器访问服务器发出的服务请求,服务器进行响应处理后将响应结果返回给客户端。学习者在客户端进行实验操作,实验过程中的数据和实验结果数据放置于服务器端,服务器端的后台数据库提供了可以共享的实验数据和实验方法。endprint
VRML在系统中用来描述三维虚拟场景和设备, 为了加快VRML文件的加载速度,将VRML文件和相关的网页存储在Web 服务器上,用户的相关信息则存放在数据库服务器上。客户机采用嵌入了VRML 插件的通用Web 浏览器, 负责向Web服务器发送用户请求,并显示Web服务器通过解析所返回的结果数据。由于嵌入了VRML插件,客户机的Web浏览器不但能够显示一般的HTML文本及图像信息,还能显示VRML三维场景。Web 服务器接收客户机浏览器传来的HTTP 请求并传给应用服务器, 应用服务器将请求转换成为数据库能辨识的SQL 语句,并向数据库服务器发出请求。数据库服务器接收应用服务器的请求,然后执行相应的操作并将结果集返回给应用服务器,应用服务器把结果集进行分析处理并以浏览器能接受的形式发送给Web服务器,最后Web服务器把结果信息返回给Web 浏览器。这样,用户通过VRML 插件就能在客户机端浏览器上操纵虚拟仪器进行虚拟实验了。
2.系统结构的具体实现
(1)虚拟环境的建立。虚拟环境的视觉效果是影响虚拟现实系统真实感的最重要因素。为了使用户能够真正对一个由计算机生成的虚拟环境产生认同感,必须使生成的环境足够逼真和自然。虚拟环境的构建首先要完成的是对实验室场景的三维建模,三维模型是虚拟实验室系统实现的基础。
虚拟环境建模主要包括三维视觉建模和三维听觉建模,三维视觉建模主要包括实验室中各类实体的几何建模和行为建模,听觉建模则是把交互的声音响应添加到用户和对象的活动中。如图2所示虚拟场景系统。
所谓三维实体模型的构建,就是将传统实验中各类实体,大到复杂的实验器材,小到连接芯片的导线,进行三维建模。实体的形状由构成实体的各个多边形、顶点、曲面等来确定,实体的外观由其表面纹理、颜色、材质等来确定。
在创建复杂的VRML场景时,除了创建大量的模型外,还必须考虑两件事,VRML文件的长度和场景的渲染速度。VRML文件的大小会影响到场景,渲染的速度则直接影响浏览者浏览的速度,速度过低将使场景失去真实感。所以在创建场景的同时必须要考虑对场景的优化。
利用VRML设计虚拟实验环境时,最简单的方法是利用文本编辑器编写源代码,并保存为“.wrl”扩展名的网页文件。这一过程类似于传统意义上的程序设计,其方法简单方便,但缺点是源代码函数过于复杂,不易掌握,而且对设计者的空间想象能力要求也较高,设计的效率较低。现在很多可视化的VRML设计工具,已经将VRML的标准节点做成可视的组件,开发者只需拖动这些组件构建自己需要的虚拟场景即可,而且实现了整个设计过程的“所见即所得”,大大提高了设计效率。设计完毕后,系统设计工具可以自动将这些可视的虚拟场景生成标准的VRML描述文本。当这些文本传送到用户的浏览器后,便会在用户的屏幕上重现这个虚拟场景。
对于一些较为复杂的三维模型及动画,直接使用可视化的VRML设计工具有时也难以达到理想的效果,因此,在虚拟实验环境构建过程中,系统开发者还需要运用一些成熟的三维建模工具,如3D Studio Max、SolidWorks等。为了达到比较理想的效果,可以结合可视化的VRML设计工具与三维建模工具的各自优势,利用三维建模工具建立虚拟实验模型,利用VRML工具进行交互设计。
(2)交互控制。交互控制是构建虚拟实验室需要解决的核心问题,用户必须通过鼠标、键盘、音频和视频等输入设备与虚拟环境以及其他用户进行交互。为了清晰、直观地实现复杂的交互控制,在虚拟实验的总体操作框架上采用串行的操作方式,即用户必须严格按照实验物理模型给定的操作顺序进行实验。采用这种操作方式可以使实验过程清晰, 实验系统设计简单,能够比较好地运用于为初学者设计的虚拟实验。
目前VRML2.0浏览器支持两种水平上的编程。第一种是在VRML中有一个Script接口节点,它是VRML与其他编程语言如Java的一个接口,
VRML允许扩展它的功能。如图3所示。
第二种方式是通过VRML2.0浏览器外部编程接口EAI(External Authoring Interface外部程序接口)进行编程,发送或读取三维场景中节点的事件消息,使VRML2.0虚拟世界与外部网页上其他对象沟通,而此程序本身又能够完成其他的用户需求功能,从而扩大了VRML的用途。这一思想如图4所示,就是将VRML和Java Applet置于同一个Web Page下,以Java Applet作为控制的核心,VRML场景作为三维展示的平台。
(3)系统的整体设计。本虚拟实验室是在网络环境中使用的,这就需要把它做成网页发布出去,这样才能够实现远程教学。一方面实验者可以通过Internet访问虚拟实验室,进行远程实验操作,填写和浏览实验报告,另一方面实验指导教师也可以通过Internet来批阅实验报告。网络虚拟实验的特点决定了文件占据的空间要少,对图像、声音都要支持,必须支持交互等。因此采用3DMAX、VrmlPad、Dreamweaver工具结合VRML技术、Java技术、Web技术来实现虚拟实验是可行的。
图5为系统整体设计结构。
使用VRML语言开发网络虚拟实验室,其制作方法简单,成本较低。与HTML相结合,可以在互联网上构建网络虚拟实验环境,更多的人可以通过网络来完成各种实验,弥补真实实验室的局限性,也为远程教学的实施提供了一种更好的实验手段。
尽管虚拟实验室相对于传统实验室有着很多的便利之处,但需要指出的是,虚拟实验只能作为实验教学的辅助手段,决不能取代实际实验操作。虚拟实验只有与传统实验教学有机结合起来,通过交互式虚拟实验手段形象、生动地再现完整的实验过程,使得用户在完成实验的同时,进一步加深对实验原理和现象的理解和掌握,才能切实起到辅助实验教学的作用。
参考文献:
[1]陈小红.虚拟实验室的研究现状及其发展趋势[J].中国现代教育装备,2010(17):107—109.
[2]单美贤,李 艺.虚拟实验原理与教学应用[M].北京:教育科学出版社,2005.
[3]刘筱兰,张 薇,程惠华,王本应. 虚拟实验室的类型及发展趋势[J].计算机应用研究,2004(11).
[4]戴 俊,沈建华.基于VRML的虚拟实验室的研究与实现[J].舰船电子工程,2009(4):126—128.
[5]刘红玲,杨 凯.基于VRML的网络虚拟实验室建设[J]. 徐州工程学院学报,2005(5):101—104.
(作者单位:装甲兵工程学院机械工程系 )endprint