【关键词】虚拟实现 VRML 虚拟现实技术
【摘 要】虚拟实验的出现引起了实验领域的一场新的革命.本文借助于虚拟现实技术。分析虚拟实验室的实现模式及体系结构,并根据虚拟实验过程研究了主要功能的实现.本文为虚拟实验方面的研究提供 了一定的参考借鉴.
虚拟实验技术是基于一定技术进行的实验,是信息时代发展的产物,是人类的实验技术和研究能力进入一个新发展阶段的标志.学生通过虚拟实验 ,可以对实验的思想和方法、仪器的结构及原理的理解取得较好的效果,达到培养能力、学习技能、深化知识的目的.
1 虚拟实验的设计
1.1 虚拟实验室的实现模式
虚拟实验室的建立,使得处于不同位置的学习者可以同时对一个实验项 目进行实验工作.Web为虚拟实验室的实现提供了一种基础平台,基于 WEB的 B/S构建模式是实现虚拟实验室的一种基本模式.
完善的虚拟实验室包含下面几个重要的组成部分 :第一,能处理大量模拟操作数据的服务器(女口超级计算机中心高性能的计算机系统);第二,用于存储模拟数据初始条件和边界条件以及实验结果数据的数据库系统;第三,连接于网络的科学实验仪器及合作工具等;第四,实验处理软件 ,每一个虚拟实验系统都是基于专业的仿真软件系统的,它们用于数据处理、分析 、存储并使这几个过程可视化.这几个部分的紧密结合就组成了一个虚拟实验室.
1.2 虚拟实验的体系结构
虚拟实验根据参与感知交互方式的不同,主要分为三类:桌面虚拟现实系统、座舱式虚拟现实系统、沉浸式虚拟现实系统后 两类虚拟实验系统需要昂贵的设备 ,创建一个虚拟现实系统的花费是相当巨大的,无论是从软件还是从硬件 ,普通的用户都无法承担.因此在 目前阶段还不可能大规模应用,其仅仅运用在军事和航空航天等方面囝I本文研究的虚拟实验系统属于第一类,即桌面虚拟现实系统.和用软件编程方法在输出设备(如显示器)上输出逼真的具有虚拟现实系统特征的三维场景.网络虚拟实验平 台采用的是VRML-Java同步协调技术.总体的设计思想如下:
(1)系统结构为 3层 B/S结构,由客户端、网络服务器和数据库服务器组成.B/S结构简化了客户端软件,只须安装Web 浏览器作为客户端的运行平台,采用该结构实现的共享虚拟环境比较稳定和健壮 ,可扩展性较好.系统版本的升级及维护均在web服务器端进行的,用户需要访问时才动态下载,这就保证了用户每次使用的都是最新版本.
(2)客户端与服务器端的通信采用基于TCP//P 协议的.1ava Socket通信技术 ,Java对网络通信提供了强有力的支待,其中 Java.net包中的 InetAddress 、URL、Socket 等类对TCP/IP 协议提供了良好的支持.
独立运行的服务器应用程序主线程负责监听客户端的连接请求 ,连接上后生成另外一个线程与客户端通过‘IEP/IP进行通信.在服务器上建立一个共享对象的数据库上面有所有变动对象的当前信息.当一个新用户连接进来的时候,他的信息将写入该共享对象数据库中,同时通过该数据库读取共享对象的信息,并将这些信息在本地机器上的VRML世界中表现出来.
(3)服务器与数据库的通信技术是基于JDBC.
(4)VRML与Java间的通信是基于 SAI.
综上所述,系统采用 Web、VRML、SAI、Java、JDBC、SQL等主要开发技术.虚拟单元作为实验的主体,提供不同的设定参数,以Java Applet形式运行 ,并通过 VRML脚本编程接口SAI与 Java进行通信翻.
1.3 虚拟实验的功能层次结构
虚拟实验系统遵循模块化设计的原则,采取类 ISO协议的分层技术,无论是什么课程的虚拟实验系统,最终的程序遵循以下的层次结构:上层是实验接 口层;中间是 Web服务接口、仿真服务接 口以及中间件等.下层是后台服务程序.
(1)用户实验接口的主要功能:作为虚拟实验室客户端模块的一部分,主要完成“所见即所得”功能,给用户提供一个良好的界面(实验环境).同时引导用户 了解 、熟悉、掌握虚拟实验软件的基本使用方法;收集用户设置的实验参数和数据;检查用户的实验环境是否配置正确.提供与web服务接 口的相关函数.另外 ,还要完成实验结果的采集、处理、优化和显示 ,可以包括各种数据的图形化、图表、动画显示及打印输出.具备简单的智能分析功能,给用户提供方便的处理接口.
(2)WEB服务接口的主要功能:负责管理虚拟实验系统的一般 Web服务请求,负责接受虚拟实验原始数据 ,向客户端发送虚拟实验结果.负责通知消息的发布 ,统计网络状态信息,调整用户权限等.
(3)服务接 口的主要功能:负责调度后台虚拟服务程序,接收上层接口传递的实验数据 ,记录用户的实验过程.
(4)a0间件模块的主要功能:为仿真后台程序和仿真服务接口模块提供通用的接口,向下负责发送调度指令和接收结果,向上负责接收调度指令和发送结果.
(5)服务程序的主要功能:第三方服务程序,提供相应的服务. [
2 虚拟实验的实现
2.1 虚拟实验的运行环境
本系统的服务器试验运行环境为:WindowsNT、MS IIS、JDK1.2.2、Corona SAI包 ,客户端的试验环境为:WindowsNT、IE6.0、Corona VRML Client.在服务器端用 IIS建立 wWw站点,设置套接字端 口号和 VRML文件中一致,并运行服务器程序.客户端浏览器装载 VRML插件,登陆服务器 Html文件,连接成功后可进行相应的操作.
2.2 虚拟实验的模块实现
系统在服务器端和 IIS建立 irW站点,服务器端与客户端设置套接字端口号,并在 VRML文件中也设置一致的端口号,运行服务器程序.客户机端浏览器装载 VRML插件,登录服务器 Html文件 ,经过身份验证后进行在线虚拟实验系统.用户可以使用鼠标或者键盘在场景中漫游,进行交互 .
主要模块描述如下:
(1)用户的验证登录
实验者首先通过输入相应的用户名及密码,经过身份识别后才能进入相应的页面进行下一步的操作.如验证通过。用户就可以根据虚拟实验环境提供的一些准备资料进行实验准备 ,比如熟悉实验设备器材 、了解实验目的、学习实验原理等,然后实验者就可以进行实验了.
当用户登录系统时,首先在客户端 ,根据服务器名和端口连接服务器,并启动一个客户端线程:
thread=new ClientThread(this,hotname,port,UselTh~lrle,avatarURL);thread.star@
同时服务器端会根据客户端的连接请求创建一个线程Vuser来负责交互 ,并把该线程加入到服务器端的线程列表中,同时通过 user.sendALLFields ((VU~r)user)把用户添加到所有用户的场景中去.如下 :
sCene.setViewpointPosition( (VSFVec3Ovalue);
scene.setViewpointOrientation( (VSFRotation)value);
(2)虚拟实验教室漫游
在虚拟环境的漫游中,建立了一个虚拟实验教室环境,体现了虚拟实验环境的真实感.虚拟实验环境的交互控制,主要是改变用户视点的位置或视线方向,从而实现在三维场景中的漫游.用户可以通过左侧及下侧的控制按钮来对这个虚拟实验教室进行全方位观察,三维场景根据用户的交互控制命令连续不断地改变视点位置或视线方向并渲染场景.另外,用户也可以通过输入设备f如鼠标 、键盘)完成多个视点的切换和视角的变换.VRML虚拟场景中的视点是一个在所浏览的立体空间中预先定义的观察位置和空间朝 向,使用视点控制,可以实现虚拟场景的自动漫游功能.对于场景的漫游,涉及到用户视角的移动与变换,会触发 callback0,该函数执行时会把当前用户视角的位置和方向参数送给服务器:
期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。
【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。