论文部分内容阅读
一、引言
近年来随着网络教育的兴起,实验教学逐渐成为影响网络教育质量的重要因素之一。网络教育中师生双方异地分离,学生几乎不可能亲自到校做实验,当地学习中心的实验条件也难以满足实验要求,这严重影响了远程学员的学习质量,导致理论与实践的分离。另外,一些学校实验条件有限,而学生众多,导致实验课时开设不足,学生的实验技能不强,而且有一些具有危险性、抽象性的实验也难于开设。要解决以上问题,开发虚拟实验是较好的途径之一。而现有的虚拟实验系统绝大多数是二维平面的,在真实感、交互性方面还有所欠缺。在需要表现一些空间立体化的知识,如原子和分子的结构、分子的结合过程、机械的运动时,三维的展现形式必然使学习过程形象化,学生更容易理解、接受和掌握。因此,近年来利用Web3D技术开发三维虚拟实验已成为网络教育研究的热点问题。Web3D是一个专业术语,通常指基于互联网的任何三维图形技术。由于Web3D技术目前有几十种之多,许多初学者在开发网络三维虚拟实验时,往往不知如何选择这些技术,造成了选择上的困惑。本文希望通过对目前几种用于开发虚拟实验的Web3D技术的介绍、分析和比较,能够为今后开发网络三维虚拟实验的技术方案和实现方法提供一些参考。
二、几种基于Web3D的虚拟实验实现技术概述
1.基于VRML技术的虚拟实验
VRML(Virtual Reality Modeling Language)是一种虚拟现实建模语言,它的基本目标是建立互联网上的交互式三维多媒体,它以互联网作为应用平台,作为构筑虚拟现实应用的基本构架。它的出现及其发展改变了网络的二维平面世界,实现真正的三维立体网络世界、动态交互与智能感知,是计算机网络、多媒体技术与人工智能等技术的完美结合。与其他Web技术语言相比,其语法简单、易懂,学习相对容易。VRML具有创建三维造型与场景的能力,并可以很好地实现交互效果,而且可嵌入Java、JavaScript等程序,使其表现力得到极大扩充。此外,VRML的文件容量小,适宜网络传输,还具有多媒体功能,其程序中可方便地加入声音、图像、动画等效果。
国内外一些高等院校利用VRML语言,已成功开发了许多基于集成声音、图像及其它多媒体技术的三维空间的虚拟实验室。例如美国密西西比州立大学的Taha Mzoughi、S. Davis Herring等人开发了名为WebTOP的物理虚拟实验室,该实验主要是帮助教师教学,学生学习物理中的波和光学。[1]该虚拟实验是综合运用了VRML、Java、JavaScript,以及VRML的Java EAI来实现的。中国农业大学的卢洁,游运华等人开发了基于VRML技术的动物解剖虚拟实验。[2]该虚拟实验系统可以给学生提供一个身临其境的学习环境,调动学生的学习积极性,帮助他们更好地掌握专业知识中的重点难点。
2.基于X3D技术的虚拟实验
随着互联网技术的发展,VRML在取得巨大成功的同时,也暴露出一些缺点。主要体现在:性能表现欠佳;代码重用率不高;在不同播放器中效果不一致。因此,Web3D协会制定了一个替代VRML的新标准:Extensible 3D(X3D),它整合了正在发展的XML、Java、流媒体技术等先进技术,包括了更强大、更高效的3D计算能力、渲染质量和传输速度。X3D标准的发布结束了当前互联网3D图形的混乱局面。在统一的X3D基本框架下保证不同软件厂家开发软件具有互操作性。它集成了最新的图形硬件技术,其可扩展性将使它能够为未来Web3D图形技术提供最优秀的性能。
由于2004年,X3D才成为新一代的Web3D国标标准,目前基于X3D技术的虚拟实验还不多,这方面的研究才刚开始不久。如美国北达科他州州立大学考古学技术实验室利用X3D技术开发了一个名为ON-A-SLANT 的虚拟村庄,用于学生在去美国大草原地区探险之前,指导他们如何与当地的土著居民进行文化交流。[3]国内山东科技大学杨卫平等人用X3D技术开发的虚拟示波器应用实验,实现的虚拟仪器造型逼真、交互性强,网络传输速度快,显示效果良好。[4] 四川师范大学的刘洪也研究了基于X3D技术的虚拟化学实验。[5] 同济大学的周培聪开发了基于X3D技术的磁头场近磁隙场的模拟实验。[6]
3.基于Java3D技术的虚拟实验
Java3D 是由SUN公司在1998年年底正式推出,是Java语言在三维图形领域的扩展,它由一组应用编程接口(API)组成,并将Java“一次书写,随处运行”的优点带给了三维图形程序,使得Java3D能运行于多种平台。利用Java3D的API,可以编写出基于网页的三维动画、各种计算机辅助教学软件和三维游戏等等。利用Java3D编写的程序,只需要编程人员调用这些API进行编程,而客户端只需要使用标准的Java虚拟机就可以浏览,因此具有不需要安装插件的优点。Java3D从高层次为开发者提供对三维实体的创建、操纵和着色,使开发工作变得极为简单。同时,Java3D的低级API是依赖于现有的三维图形系统的,如Direct 3D、OpenGL、QuickDraw 3D和XGL等。Java3D实现了三维显示能够用到的功能,如生成简单或复杂的形体,使形体具有颜色、透明效果、贴图,具有行为的处理判断能力,使形体变形、移动、生成三维动画等。
目前国内,山东理工大学的葛文庆设计了一个基于Java3D技术的工程制图课程虚拟实验系统,该系统实现了对实验影响因素的参数化控制和图形投影变换方法的控制,可帮助学生建立正确的形体概念、投影概念,易于对课程难点内容(如截交线、相贯线受各种因素影响的变化)加以理解。[7]可有效地克服传统工程制图实验教学的缺陷,有利于提高学生的图形认知能力和水平。另外,吉林大学、华中师范大学也在研究基于Java3D技术的虚拟实验。
4.基于Cult3D技术的虚拟实验
Cult3D是由瑞典的Cycore公司推出的一种崭新的Web3D技术,是应用于主流操作系统和应用程序的交互三维渲染软件,使用Cult3D技术,用户可以在线浏览、观察可交互的三维产品模型,仅仅通过鼠标点击,用户即可以翻转、缩放和平移Cult3D模型,从任何角度观察它,单击Cult3D对象中设置的交互区域可以开启或者关闭模型的部件或者播放音乐,语音解说等。Cult3D并不在语言上有所创新,而是利用现有的技术,采用跨平台的3D引擎,其目的是在网页上建立互动的3D物件。利用Cult3D技术制作出的3D立体产品交互能力强,采用流的形式,文件较小,效果较好。可以旋转,放大,缩小,体现真实的物体属性。特别是对于窄带网的应用,Cult3D是展示产品最好的解决方案之一,浏览Cult3D的文件只需在浏览器中安装一个插件,既可观看。同时Cult3D文件可以应用于网页Director、Office文档、Acrobat文档以及支持ActiveX开发语言的程序中。
基于Cult3D技术的虚拟实验,目前,国内已知有福建师范大学开发的虚拟光学实验[8],其分光计的三维操作模型在网络浏览器中该模型可以任意翻转、任意分解,可以从任何角度对仪器进行观察,可以实际操作该仪器,同时给出提示。并设计了学生加入该实验室的虚拟身份,使用者可以如同加入游戏一样加入实验系统,以达到身临其境的感觉,该设计的引入为实验室的设备基本使用介绍提供了良好的解决方案,大大降低了实验设备中由于学生对设备的不熟悉而带来的设备损坏。另外还有吉林大学高等教育研究所利用Cult3D和Flash技术开发的一些大学物理虚拟实验,河南工业大学的朵天林开发的摄像机操作虚拟试验。
三、比较和分析
目前基于Web3D的虚拟实验系统常见的四种实现技术比较见表1。各种实现技术都有各自的优势,同时也存在着这样那样的缺陷。
基于VRML技术构建的虚拟实验,一般是先建立三维实验仪器的模型,可以使用文本编辑器,如Vrmlpad、Notepad直接编写VRML源代码,这种方法简单方便,但设计的效率不高,只能创建比较简单的物体和场景。对于复杂的物体和场景,一般使用专业的三维建模软件如3ds max、Maya等建模,然后导出为wrl格式的文件,再用Vrmlpad等软件对文件进行修改,添加Java或Javascript脚本进行交互。实验设计完成后,发布到网上,客户端在使用浏览器浏览时需要安装相应的插件,才能访问。随着互联网技术的发展,VRML也暴露出许多缺点,如性能表现欠佳,用户在首次运行前要等待较长时间下载并安装插件,运行时占用系统资源过多。代码重用率不高,在不同播放器中效果不一致等。因此,Web3D协会推出了新一代的标准X3D,以替代VRML。所以基于VRML技术的虚拟实验以后的发展方向应该是向基于X3D技术的虚拟实验靠拢。
基于X3D技术构建的虚拟实验,其制作过程一般也是先用3DMAX等专业三维建模软件建立模型,然后利用输出插件导出为wrl或x3d格式的文件,再用X3D编辑器,如X3D-Edit、Flux Studio、SwirlX3D等进行编辑。复杂的交互可以通过Java/Javascript/ECMAScript语言进行设计。客户端在访问X3D格式的文件时需要安装Xj3D或Octaga、BS Contact等浏览器。由于X3D推出的时间还不长,其编辑器的功能还不够完善,但是X3D作为Web3D的新一代ISO标准,越来越多的软件开发商正在加入到研究开发队伍中,相信功能强大的编辑器会离我们越来越近。
基于Java3D技术的虚拟实验,其制作过程一般也是先用3DMAX等专业三维建模软件建立模型,然后导出为wrl或3ds、obj格式的文件。再用Eclipse等软件编写程序,添加交互。其制作过程要求对Java语言较为熟悉,相比其他一些Web3D开发工具,制作过程较慢,但却能够实现一些虚拟实验中较为复杂的功能。另外,要运行Java3D开发的软件,需要在客户端安装Java虚拟机(JVM)。但是,微软宣布在它的WindowXP中不再预装JVM,其目的是否出于商业竞争我们不得而知,但由此引起的麻烦是在WindowsXP中要运行基于Java的应用,就必须下载安装JVM,这显然不比安装一个插件更简单,这给用户造成了很多麻烦,影响了Java3D技术的推广与普及。
基于Cult3D技术的虚拟实验,其程序开发的一般步骤是首先用3DSMAX、Auto-CAD、Maya等三维建模软件建立模型或动画,然后输出Cult3D支持的.C3D格式;其次将建立好的模型和做好的动画导人到Cult3D中;第三步,根据实验要求设计交互和反馈。由于Cult3D软件设计的初衷是用于产品的网络三维展示,因此,Cult3D制作的产品视觉效果较好、交互方便灵活,但是二维动画显示功能和与网络数据库连接功能不是很强。需要借助于Flash和Javascript等技术才能取得较好的效果。
随着网络技术的高速发展,每天都有不同的Web3D新技术出现,面对众多的Web3D技术,如何选择?选择哪种Web3D技术最佳,就目前而言很难定论,需要针对不同的应用方向来做具体选择。网络三维虚拟实验实现技术的选择不应该追求技术的难度,而是根据具体实验课程的特点和要求,选择合适的技术。一个优秀的网络三维虚拟实验不可能只通过单一的技术实现,因此,在网络虚拟实验实现技术上必将形成多种实现技术相结合的局面。将多个技术按照教育的要求相融合,取长补短,发挥各自的优势,是网络三维虚拟实验实现技术的主要趋势。?筅
参考文献:
[1]Taha Mzoughi, S.Davis Herring,John T. Foley,et al.WebTOP:A 3D interactive system for teaching and learning optics[J].Computers
近年来随着网络教育的兴起,实验教学逐渐成为影响网络教育质量的重要因素之一。网络教育中师生双方异地分离,学生几乎不可能亲自到校做实验,当地学习中心的实验条件也难以满足实验要求,这严重影响了远程学员的学习质量,导致理论与实践的分离。另外,一些学校实验条件有限,而学生众多,导致实验课时开设不足,学生的实验技能不强,而且有一些具有危险性、抽象性的实验也难于开设。要解决以上问题,开发虚拟实验是较好的途径之一。而现有的虚拟实验系统绝大多数是二维平面的,在真实感、交互性方面还有所欠缺。在需要表现一些空间立体化的知识,如原子和分子的结构、分子的结合过程、机械的运动时,三维的展现形式必然使学习过程形象化,学生更容易理解、接受和掌握。因此,近年来利用Web3D技术开发三维虚拟实验已成为网络教育研究的热点问题。Web3D是一个专业术语,通常指基于互联网的任何三维图形技术。由于Web3D技术目前有几十种之多,许多初学者在开发网络三维虚拟实验时,往往不知如何选择这些技术,造成了选择上的困惑。本文希望通过对目前几种用于开发虚拟实验的Web3D技术的介绍、分析和比较,能够为今后开发网络三维虚拟实验的技术方案和实现方法提供一些参考。
二、几种基于Web3D的虚拟实验实现技术概述
1.基于VRML技术的虚拟实验
VRML(Virtual Reality Modeling Language)是一种虚拟现实建模语言,它的基本目标是建立互联网上的交互式三维多媒体,它以互联网作为应用平台,作为构筑虚拟现实应用的基本构架。它的出现及其发展改变了网络的二维平面世界,实现真正的三维立体网络世界、动态交互与智能感知,是计算机网络、多媒体技术与人工智能等技术的完美结合。与其他Web技术语言相比,其语法简单、易懂,学习相对容易。VRML具有创建三维造型与场景的能力,并可以很好地实现交互效果,而且可嵌入Java、JavaScript等程序,使其表现力得到极大扩充。此外,VRML的文件容量小,适宜网络传输,还具有多媒体功能,其程序中可方便地加入声音、图像、动画等效果。
国内外一些高等院校利用VRML语言,已成功开发了许多基于集成声音、图像及其它多媒体技术的三维空间的虚拟实验室。例如美国密西西比州立大学的Taha Mzoughi、S. Davis Herring等人开发了名为WebTOP的物理虚拟实验室,该实验主要是帮助教师教学,学生学习物理中的波和光学。[1]该虚拟实验是综合运用了VRML、Java、JavaScript,以及VRML的Java EAI来实现的。中国农业大学的卢洁,游运华等人开发了基于VRML技术的动物解剖虚拟实验。[2]该虚拟实验系统可以给学生提供一个身临其境的学习环境,调动学生的学习积极性,帮助他们更好地掌握专业知识中的重点难点。
2.基于X3D技术的虚拟实验
随着互联网技术的发展,VRML在取得巨大成功的同时,也暴露出一些缺点。主要体现在:性能表现欠佳;代码重用率不高;在不同播放器中效果不一致。因此,Web3D协会制定了一个替代VRML的新标准:Extensible 3D(X3D),它整合了正在发展的XML、Java、流媒体技术等先进技术,包括了更强大、更高效的3D计算能力、渲染质量和传输速度。X3D标准的发布结束了当前互联网3D图形的混乱局面。在统一的X3D基本框架下保证不同软件厂家开发软件具有互操作性。它集成了最新的图形硬件技术,其可扩展性将使它能够为未来Web3D图形技术提供最优秀的性能。
由于2004年,X3D才成为新一代的Web3D国标标准,目前基于X3D技术的虚拟实验还不多,这方面的研究才刚开始不久。如美国北达科他州州立大学考古学技术实验室利用X3D技术开发了一个名为ON-A-SLANT 的虚拟村庄,用于学生在去美国大草原地区探险之前,指导他们如何与当地的土著居民进行文化交流。[3]国内山东科技大学杨卫平等人用X3D技术开发的虚拟示波器应用实验,实现的虚拟仪器造型逼真、交互性强,网络传输速度快,显示效果良好。[4] 四川师范大学的刘洪也研究了基于X3D技术的虚拟化学实验。[5] 同济大学的周培聪开发了基于X3D技术的磁头场近磁隙场的模拟实验。[6]
3.基于Java3D技术的虚拟实验
Java3D 是由SUN公司在1998年年底正式推出,是Java语言在三维图形领域的扩展,它由一组应用编程接口(API)组成,并将Java“一次书写,随处运行”的优点带给了三维图形程序,使得Java3D能运行于多种平台。利用Java3D的API,可以编写出基于网页的三维动画、各种计算机辅助教学软件和三维游戏等等。利用Java3D编写的程序,只需要编程人员调用这些API进行编程,而客户端只需要使用标准的Java虚拟机就可以浏览,因此具有不需要安装插件的优点。Java3D从高层次为开发者提供对三维实体的创建、操纵和着色,使开发工作变得极为简单。同时,Java3D的低级API是依赖于现有的三维图形系统的,如Direct 3D、OpenGL、QuickDraw 3D和XGL等。Java3D实现了三维显示能够用到的功能,如生成简单或复杂的形体,使形体具有颜色、透明效果、贴图,具有行为的处理判断能力,使形体变形、移动、生成三维动画等。
目前国内,山东理工大学的葛文庆设计了一个基于Java3D技术的工程制图课程虚拟实验系统,该系统实现了对实验影响因素的参数化控制和图形投影变换方法的控制,可帮助学生建立正确的形体概念、投影概念,易于对课程难点内容(如截交线、相贯线受各种因素影响的变化)加以理解。[7]可有效地克服传统工程制图实验教学的缺陷,有利于提高学生的图形认知能力和水平。另外,吉林大学、华中师范大学也在研究基于Java3D技术的虚拟实验。
4.基于Cult3D技术的虚拟实验
Cult3D是由瑞典的Cycore公司推出的一种崭新的Web3D技术,是应用于主流操作系统和应用程序的交互三维渲染软件,使用Cult3D技术,用户可以在线浏览、观察可交互的三维产品模型,仅仅通过鼠标点击,用户即可以翻转、缩放和平移Cult3D模型,从任何角度观察它,单击Cult3D对象中设置的交互区域可以开启或者关闭模型的部件或者播放音乐,语音解说等。Cult3D并不在语言上有所创新,而是利用现有的技术,采用跨平台的3D引擎,其目的是在网页上建立互动的3D物件。利用Cult3D技术制作出的3D立体产品交互能力强,采用流的形式,文件较小,效果较好。可以旋转,放大,缩小,体现真实的物体属性。特别是对于窄带网的应用,Cult3D是展示产品最好的解决方案之一,浏览Cult3D的文件只需在浏览器中安装一个插件,既可观看。同时Cult3D文件可以应用于网页Director、Office文档、Acrobat文档以及支持ActiveX开发语言的程序中。
基于Cult3D技术的虚拟实验,目前,国内已知有福建师范大学开发的虚拟光学实验[8],其分光计的三维操作模型在网络浏览器中该模型可以任意翻转、任意分解,可以从任何角度对仪器进行观察,可以实际操作该仪器,同时给出提示。并设计了学生加入该实验室的虚拟身份,使用者可以如同加入游戏一样加入实验系统,以达到身临其境的感觉,该设计的引入为实验室的设备基本使用介绍提供了良好的解决方案,大大降低了实验设备中由于学生对设备的不熟悉而带来的设备损坏。另外还有吉林大学高等教育研究所利用Cult3D和Flash技术开发的一些大学物理虚拟实验,河南工业大学的朵天林开发的摄像机操作虚拟试验。
三、比较和分析
目前基于Web3D的虚拟实验系统常见的四种实现技术比较见表1。各种实现技术都有各自的优势,同时也存在着这样那样的缺陷。
基于VRML技术构建的虚拟实验,一般是先建立三维实验仪器的模型,可以使用文本编辑器,如Vrmlpad、Notepad直接编写VRML源代码,这种方法简单方便,但设计的效率不高,只能创建比较简单的物体和场景。对于复杂的物体和场景,一般使用专业的三维建模软件如3ds max、Maya等建模,然后导出为wrl格式的文件,再用Vrmlpad等软件对文件进行修改,添加Java或Javascript脚本进行交互。实验设计完成后,发布到网上,客户端在使用浏览器浏览时需要安装相应的插件,才能访问。随着互联网技术的发展,VRML也暴露出许多缺点,如性能表现欠佳,用户在首次运行前要等待较长时间下载并安装插件,运行时占用系统资源过多。代码重用率不高,在不同播放器中效果不一致等。因此,Web3D协会推出了新一代的标准X3D,以替代VRML。所以基于VRML技术的虚拟实验以后的发展方向应该是向基于X3D技术的虚拟实验靠拢。
基于X3D技术构建的虚拟实验,其制作过程一般也是先用3DMAX等专业三维建模软件建立模型,然后利用输出插件导出为wrl或x3d格式的文件,再用X3D编辑器,如X3D-Edit、Flux Studio、SwirlX3D等进行编辑。复杂的交互可以通过Java/Javascript/ECMAScript语言进行设计。客户端在访问X3D格式的文件时需要安装Xj3D或Octaga、BS Contact等浏览器。由于X3D推出的时间还不长,其编辑器的功能还不够完善,但是X3D作为Web3D的新一代ISO标准,越来越多的软件开发商正在加入到研究开发队伍中,相信功能强大的编辑器会离我们越来越近。
基于Java3D技术的虚拟实验,其制作过程一般也是先用3DMAX等专业三维建模软件建立模型,然后导出为wrl或3ds、obj格式的文件。再用Eclipse等软件编写程序,添加交互。其制作过程要求对Java语言较为熟悉,相比其他一些Web3D开发工具,制作过程较慢,但却能够实现一些虚拟实验中较为复杂的功能。另外,要运行Java3D开发的软件,需要在客户端安装Java虚拟机(JVM)。但是,微软宣布在它的WindowXP中不再预装JVM,其目的是否出于商业竞争我们不得而知,但由此引起的麻烦是在WindowsXP中要运行基于Java的应用,就必须下载安装JVM,这显然不比安装一个插件更简单,这给用户造成了很多麻烦,影响了Java3D技术的推广与普及。
基于Cult3D技术的虚拟实验,其程序开发的一般步骤是首先用3DSMAX、Auto-CAD、Maya等三维建模软件建立模型或动画,然后输出Cult3D支持的.C3D格式;其次将建立好的模型和做好的动画导人到Cult3D中;第三步,根据实验要求设计交互和反馈。由于Cult3D软件设计的初衷是用于产品的网络三维展示,因此,Cult3D制作的产品视觉效果较好、交互方便灵活,但是二维动画显示功能和与网络数据库连接功能不是很强。需要借助于Flash和Javascript等技术才能取得较好的效果。
随着网络技术的高速发展,每天都有不同的Web3D新技术出现,面对众多的Web3D技术,如何选择?选择哪种Web3D技术最佳,就目前而言很难定论,需要针对不同的应用方向来做具体选择。网络三维虚拟实验实现技术的选择不应该追求技术的难度,而是根据具体实验课程的特点和要求,选择合适的技术。一个优秀的网络三维虚拟实验不可能只通过单一的技术实现,因此,在网络虚拟实验实现技术上必将形成多种实现技术相结合的局面。将多个技术按照教育的要求相融合,取长补短,发挥各自的优势,是网络三维虚拟实验实现技术的主要趋势。?筅
参考文献:
[1]Taha Mzoughi, S.Davis Herring,John T. Foley,et al.WebTOP:A 3D interactive system for teaching and learning optics[J].Computers