高宏远 文福安 李建伟
北京邮电大学网络教育学院网络系统与网络文化北京市重点实验室 北京 100088
“虚拟实验室”最早由William Wolf于1989年提出,在很短的时间里,因其广阔的应用前景在各国均得到大力开发。在我国,随着高等教育体制的深入改革及招生规模的日益扩大,教育软件与互联网的结合是未来发展方向[1-2]。目前国内外常用的虚拟实验室系统开发技术主要有Java、ActiveX、VRML、QuickTime VR和Flash,本文主要总结这5种开发技术的工作原理、工作条件及各自的优缺点,并展望其发展前景,为虚拟实验室的开发提供理论依据。
1)基于Java的虚拟实验室构建技术。Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,它已广泛应用于虚拟实验室的开发,如普渡大学的交互式硬件实验系统和北京大学的3WNVLAB系统等。Java技术的优势主要包括:①可移植性,它具有代码、硬件平台及操作可移植性;②安全稳定性,它的下标检查机制以及自动内存管理机制使其具有较强的稳定性和安全性[3];③面向对象性,便于开发大型、复杂的实验;④交互性,applet与多线程可以提供灵活的显示与强大交互作用。Java技术也存在不足:①对设计人员的编程要求较高;②单纯应用Java设计出的实验缺乏真实性;③Java 3D创建的三维场景在播放时会出现不流畅的现象[4]。
2)基于ActiveX的虚拟实验室构建技术。ActiveX技术是Microsoft将OLE技术在Internet上的重定义,是一组应用COM/DCOM模型实现软件部件在网络环境中进行交互的技术集。大连理工大学的气相色谱仪系统便是利用ActiveX技术开发的[5]。ActiveX技术的优势主要有:①允许不同软件开发的组件在网络上交互作用;②代码的复用性[3]。ActiveX技术的缺点有:①安全隐患大;②生成的作品灵活性和动感不强;③移植性和通用性比较差[6];④占用空间大,易造成客户端软件垃圾增多[7]。
3)基于VRML的虚拟实验室构建技术。VRML采用文本信息描述三维场景,在本地机上由VRML的浏览器依据VRML规范生成三维场景。VRML广泛应用于生活、生产、科研、商务甚至军事等各领域。VRML技术的优势主要有:①平台独立性;②可扩展性;③低带宽要求;④灵活高效地创建三维场景;⑤实时的图形渲染;⑥良好的交互能力[5]。它的缺点主要有:①交互能力不强[4];②本身不能计算和处理数据;③缺少程序逻辑的随意性和可扩充性;④要求高,基于VRML的虚拟实验制作复杂,成本高,运行VRML对客户端计算机的性能要求高[9]。
4)基于QuickTime VR(QTVR)的虚拟实验室构建技术。QTVR是美国苹果公司开发的基于静态图像的、在计算机平台上实现的初级虚拟现实技术。QTVR系统软件包括创作软件与播放软件,创作软件是将离散的图像拼合成全景图像,再将全景图像制作成QTVR格式的文件。QTVR的优势包括:①设备要求低;②真实感强[3];③可创建三维空间;④交互性;⑤开发简单[5]。
5)基于Flash的虚拟实验室构建技术。Flash是由美国Macromedia公司创建的基于矢量图形的交互式多媒体创作软件,在虚拟实验室的开发中主要应用于模拟复杂的实验操作过程。Flash的优势主要包括:①动画编辑功能强大;②交互作用强;③易学易用[8],适用于要求不是很高的虚拟实验[6]。但是单纯使用Flash设计出的实验缺乏真实性,Flash的交互性不如VRML,数据处理能力不如Java,适用于演示性的虚拟实验[5]。
1)实验场景角度分析。从实验场景角度分析,QTVR采用实景建模。Flash软件通过Flash3D引擎可实现三维效果,适用于要求不高的虚拟实验。VRML技术虽然三维效果比较好,但开发难度高,对三维虚拟环境的建模非常复杂,经常与3DMAX结合应用[7]。
2)人机交互能力分析。Java通过applet与多线程可以提供灵活的显示与强大交互作用。VRML利用软件设置一个传感器附 在一个造型上来实现检测观察者的移动、点击和拖动,但它直接接收实验者输入的实验参数的能力很弱。QTVR技术使参与者可以自己控制体验的进程和顺序,可以只挑选自己感兴趣的部分。Flash具有强大的交互能力,在Flash MX版本中的脚本语言(Action Script)功能强大,通过它可开发出很强功能的交互式网络动画。
3)网络适用性分析。Flash适用于所有系统,包括Linux、Unix的各种变种,具有完全的平台无关性。ActiveX只能应用在微软的Windows浏览器上。VRML要在不同平台安装不同的播放器才能应用。VRML和Flash最终发布的文件都非常小,适合于网络上的传送[9]。
4)开发难易程度分析。在这几种技术中,Flash可直接编写服务端的程序并从服务器端接收数据。VRML不具有网络编程功能,必须借助其他语言实现网络功能,不能通过编程来实现数学建模,必须借助其他数学运算工具[4]。ActiveX技术通过DCOM进行网络通讯,效率十分高。Java技术的开发周期长,组件实现工作量大,经常调用MATLAB功能函数来简化其算法的复杂性[10]。
随着网络技术的发展,虚拟实验室在教学舞台上发挥着越来越重要的优势,各种虚拟实验室构建技术也日益完善。各种技术在构建虚拟场景、实现人机的交互性以及对平台的适用性和开发的难易程度上各有千秋,在今后的研究与应用中应重视各种技术的结合。
[1]文福安.虚拟实验教学系统的研究与应用[J].中国教育信息化,2008(11):37-39.
[2]孙燕莲,文福安.虚拟实验教学的探索与实践[J].现代教育技术,2009,19(4):131-132.
[3]隋菱歌.基于网络的虚拟实验室的研究[J].吉林商业高等专科学校学报,2006(1):31-32.
[4]张红军,吴志刚.VRML与JAVA在网络虚拟实验中应用[J].实验室研究与探索,2006,25(9):1082-1086.
[5]彭巧梅.基于Internet的虚拟实验室的研究与开发[D].黑龙江:大庆石油学院,2008.
[6]韩文虹.物理虚拟实验室的设计与实现[D].郑州:郑州大学,2010.
[7]许又泉,谭敏生,邓轶华.网络虚拟实验室及其实现方法研究[J].邵阳学院学报,2004(3):83-85.
[8]包艳.用flash制作交互式远程教育软件[J].长沙大学学报,2001(4):55-58.
[9]陈怡.虚拟实验室平台设计的研究与实现[D].成都:西南交通大学,2010.
[10]廖云伢,王建新,盛羽.基于Java与Matlab集成的虚拟实验平台的设计与实现[J].计算机应用,2007(2):394-399.