朱韶平
(湖南财政经济学院 信息管理系, 湖南 长沙 410205)
摘 要:虚拟现实技术的共享性、沉浸性和交互性使得虚拟实验室在高校实践实训教学中的应用成为可能,现有的虚拟实验系统绝大多数是二维平面的,真实感和交互性不强.论文提出了应用Java和Web3D新技术设计基于Java的Web3D电子技术虚拟实验室,解决了系统数据通用性、兼容性差和真实感、交互性不强等问题,很好地实现了三维逼真虚拟场景的渲染、三维动画效果和人机交互性等功能,给人身临其境的感受,达到了电子技术实践教学的目的.
教育期刊网 http://www.jyqkw.com
关键词 :虚拟实验室;Java技术;Web3D;电子技术
中图分类号:TP393.08文献标识码:A文章编号:1673-260X(2015)01-0052-03
1 引言
电子技术是电子信息工程及其相关专业的重要基础课和专业必修课,一直是许多高等院校和科研院所考研的主要专业课程.该课程着重介绍了模拟和数字电子技术及其典型电路的分析和设计,对学生掌握本科阶段所有专业课程以及课程之间的有机联系、建立完整的学科知识体系起着重要作用.它是一门原理性和实践性很强的课程,其实验实践环节极其重要.有效并有趣的实验操作能使学生摆脱枯燥的理论学习,可将抽象的理论学习与现实世界结合起来,提高学生的实践能力和应用能力.传统的电子技术实验实践教学环节受时间和空间的限制,学生实验机会相对较少,而近年来新兴的虚拟实验室可以使学生实验不受时空的限制,学生能够随时随地进行实验,是一种开放式网络化和数字化的虚拟实验教学系统,它是对传统实验室教学的有力补充,有着广阔的应用前景.
随着计算机网络技术和虚拟现实技术的不断发展,虚拟现实技术引入到了高校教学尤其是实践实训教学中.虚拟实验室具有低成本、效率高、灵活性等特点,其在高校实践实训教学中的应用改变了传统的实践教学模式,教学不再受时空等因素的限制,使得教与学的方式发生了根本的改变.目前,绝大多数的虚拟实验系统是二维平面的,其真实感不强,在一定程度上存在数据通用性差,系统较难兼容,实验过程中用户与系统的交互性差等不足.本文充分利用Java新技术的面向对象、分布式、通用性、健壮性、安全性、高效性和可移植性等特点,和Web3D新技术的网络性、三维性和交互性的特点,构建基于Java的Web3D电子技术虚拟实验室,它能够跨应用程序、跨平台和跨网络运行,解决了系统数据通用性差,实验过程中用户与系统的交互性差等问题,实现三维逼真的动画效果,达到三维人机交互的目的,给人身临其境的感受.
2 关键技术
2.1 Java技术
Java是由Sun公司在1995年5月推出的Java程序设计语言和Java平台的总称.Java语言是简单、面向对象、分布式、健壮、安全与系统无关、可移植、解释型、高性能、多线程和动态的语言.Java平台是基于Java语言的平台,它由Java虚拟机和Java应用编程接口(API)构成.Java 应用编程接口可分为基本部分和扩展部分,它为Java应用提供了一个独立于操作系统的标准接口.只需在硬件或操作系统平台上安装一个Java平台,Java应用程序就可运行.Java平台现在已经嵌入了几乎所有的操作系统.Java程序只编译一次,就可以在各种系统中运行.Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,减少了应用系统的维护费用.Java平台内嵌的API及Java对对象技术的全面支持能缩短应用系统的开发时间和降低成本.Java编译一次,到处可运行的特性使得它能够提供一个随处可用的开放性结构和在多平台之间传递信息的低成本方式,具有卓越的通用性、高效性、平台移植性和安全性.[1]
2.2 Web3D技术
Web3D技术是基于Internet和依靠计算机软件技术来实现的虚拟现实技术.它综合了计算机仿真技术、多媒体技术、传感技术等,是一种能逼真地模拟人在自然环境中的视觉、听觉和运动等行为的高级人机交互技术.它能将计算机获得的各种数字化信息转换为人能感受到的具有各种表现形式的多维信息,是虚拟现实技术的实现形式.它具有沉浸性、构想性、多感知性、三维性和交互性等特点,是互联网展示技术的核心,广泛应用于远程教育、城市规划、数字城市建设、企业宣传、产品营销及展示、旅游推广、文博展览、军事模拟、房产装修等.Web3D的实现技术主要包括建模技术、显示技术和三维场景中的交互技术三大部分.其中三维复杂模型的实时建模与动态显示是Web3D技术的基础,它分为基于几何模型的实时建模与动态显示和基于图像的实时建模与动态显示两大类.建模采用虚拟现实建模语言(VRML).VRML定义三维图形和多媒体集成在一起的文件格式,用来描述基于时间的三维空间,设计支持多个分布式文件的多种对象和机制,利用层次性文件的包含关系创建任意虚拟现实环境.VRML定义传感器节点类型,决策用户和虚拟环境中几何造型的交互动作、用户在虚拟环境中的行为以及时间推移等.传感器提供的信息通过由VRML定义的整个事件体系产生视觉或听觉效果,用户通过安装支持VRML的浏览器插件可以使用IE或Natscape访问虚拟场景[2].显示技术是将建立的三维模型转换成人们所见到的图像,它是用软件通过计算机的运算完成的,在客户端用一个Java解释包来解释.Web3D实现用户和场景之间的交互是相当丰富的,交互功能的强弱由Web3D软件本身决定.
3 基于Java的电子技术虚拟实验室设计与实现
电子技术虚拟实验室是利用计算机仿真技术,在计算机上进行电路分析、模拟电子技术和数字电子技术等课程的电路分析与设计、仿真和调试等实验.它的本质是以虚拟仪器设备等代替真实的实验仪器设备,以软件代替硬件.基于Java技术的电子技术虚拟实验室设计采用Java技术和Web3D技术相结合,能实现复杂的人机交互功能,模拟真实的实验场景和实验仪器,具有很强的沉浸感和真实感.
3.1 基于Java的电子技术虚拟实验室系统功能结构
基于Java的电子技术虚拟实验室是运用Web3D技术模拟真实实验的计算机软件.它采用Java和Web3D技术在计算机上建立虚拟实验环境,提供可操作的虚拟实验仪器,学生在互联网上通过接近真实的人机交互界面完成实验.基于Java的电子技术虚拟实验室由虚拟实验模块、实验管理模块和系统管理模块等主要功能模块组成[3],其系统功能结构如图1.
虚拟实验模块是电子技术虚拟实验室的主要功能模块,具有实验预约、软件下载、实验操作、实验报告和疑难解答等主要功能.实验管理模块具有实验项目管理、虚拟仪器管理和教学管理等主要功能,是基于Java的电子技术虚拟实验室的核心模块.系统管理模块具有用户管理及安全管理等主要功能,为系统提供安全保障.
基于Java的电子技术虚拟实验室采用虚拟仿真软件模拟真实实验中所使用的各种实验设备及实验器材,提供逼真的虚拟实验环境和视觉、听觉、触觉及味觉等各种自然、直观的实时感知交互手段,使学生完全沉浸在由虚拟实验室所创建的虚拟实验环境中,并获得身临其境的感受[4].它营造了一种“自主学习”和多样化及个性化的实践学习环境,实验内容丰富,且更加灵活,学生通过虚拟实验室可自主选择实验内容、设计实验方案、自主完成实验;可根据不同学校的具体培养目标合理设置实验内容,既可设置基础性和综合性的实验内容,还可设置创新性等设计型实验内容,为高校实践实训教学提供了有利条件.所需的硬件投入少,具有明显的经济优势;学生可自行设计并完成实验,可锻炼学生解决实际问题的能力;虚拟实验中几乎不存在元件的损耗和器械磨损等情况,基本没有元器件等的损耗问题;实验与实际工程实践最为接近,可以了解实际问题的解决过程;大量的范例,可供学生参考处理,有助于培养学生的协作能力和锻炼学生的自主学习和创新能力;基于Java的电子技术虚拟实验室支持网络环境,实现了实验室的虚拟化和网络化,学生实验不受时空限制,可大大提供实验室的使用效率和范围,从而给学生提供了更多独立自主操作、实践动手的机会,实现真正意义上的全开放式实验教学.
3.2 基于Java的虚拟实验室系统逻辑结构
基于Java的电子技术虚拟实验室采用B/S结构[5,6],系统分为数据层、业务层和应用层,以业务层为核心,结合应用层、数据层形成一个多层次的应用结构,系统逻辑结构如图2.
采用MVC模式设计用户界面,实现了逻辑层和表示层的分离.在客户端,开发了用户实验页面、实验设备组件和虚拟场景.服务器端,通过控制器联接视图层和业务逻辑层并使其匹配,完成虚拟场景响应及接受并响应用户请求.用户通过浏览器进入系统,经过身份认证后方可对系统进行操作,客户端的信息由浏览器以超文本的形式向服务器提出请求,服务器解释JSP代码和JavaBean组件,并执行Servlet代码,通过JDBC和数据库联接,实现数据的读写操作.数据层完成在数据库中设计数据库表和合理存储数据等功能.用户通过Applet小程序浏览虚拟场景和完成场景漫游,通过Applet和Servlet建立通信,完成虚拟实验操作.
3.3 基于Java的电子技术虚拟实验室的实现
基于Java的电子技术虚拟实验室选用具有很强三维描述功能的Web3D技术从形状、颜色和纹理来对场景实物进行建模[7],并在VRML编辑环境下进行优化,保证了模型的逼真,由Java3D来调用模型,大大提高了系统的开发效率.Java3D可提供用来导入一些常用3D图形文件的接口,通过这些接口将3D图形文件转化为Java3D可识别的数据结构,实现在程序中可以显示复杂的几何形体.在主向场景中安装特定的Behavior对象,在Behavior对象中定义键盘响应,控制世界坐标.由Java3D提供对鼠标输入进行交互的KeyNavigatorBehavior类,通过该类响应键盘的输入来控制观察者的移动.将各类Behavior对象加入到虚拟场景中,虚拟场景通过Applet嵌入到网页中,实现场景漫游功能.
4 结论
基于Java的电子技术虚拟实验室设计采用Java技术和Web3D技术相结合,运用MVC的设计模式构建系统,减少了系统开发的工作量,大大提高了虚拟实验室组件的开发效率.采用B/S结构分层设计体系,很好地实现了系统的数据、逻辑与应用的分离,使系统层次分明、架构清晰,具有良好的可扩展性.利用Java的平台独立性,增强了系统的通用性、可移植性和高效性,优化了数据的共享机制,增强了数据的安全性.应用Web3D的网络性、三维性和交互性的特点对场景实物建模,渲染三维逼真的虚拟实验场景,实现三维动画效果,达到人机交互的目的,并给人身临其境的感受.基于Java的电子技术虚拟实验室很好地解决了绝大多数虚拟实验室存在的数据通用性、系统兼容性和交互性差、沉浸感和真实感不强等问题.它为大学实验实训教学提供了一种全新的教学手段,打破了传统实践实训教学受时空等条件的限制,具有开放性高、真实感强、交互性好和实践性强等优点,有助于解决大学实践实训教学中不可视、不可摸、不可入、危险性场所实验等问题和实验实训设备落后及不足等实践条件差的困难,在高校实践实训教学中具有广阔的应用前景.
教育期刊网 http://www.jyqkw.com
参考文献:
〔1〕邱进冬.基于Web的虚拟现实的开发与应用[J].计算机应用研究,2003(3):92-94.
〔2〕朱韶平.基于Web ActiveX数据控件的网络虚拟实验室构建[J].计算机技术与自动化,2010(12):104-106.
〔3〕朱杰杰.基于VRML的虚拟网络教学研究与实现[J].计算机应用,2002,22(8):97-98.
〔4〕李仁发,周祖德.虚拟实验室网络体系结构研究[J].系统仿真学报,2002,14(33):59-62.
〔5〕吴访升,潘志庚,陈田,等.家具3D虚拟展示与定制分布式原型系统[J].计算机应用,2003(3):78-81.
〔6〕吴明赞,陈晓宁,等.基于LabVIEW的电机虚拟实验室平台设计[J].电气电子教学学报,2008,30(6):70-71.
〔7〕张刚.构建网络虚拟实验室技术研究[J].实验室研究与探索,2008,27(3):55-58.