图形化编程在虚拟现实探究实验室开发中的应用

2009-06-25 02:20王福利
中国信息技术教育 2009年9期
关键词:图形化虚拟仪器编程

郭 贤 郭 慧 王福利

● 传统探究式实验系统的不足

探究实验室是对理科实验教学设备进行数字化后产生的辅助教学系统,目前已被各大中小学广泛配备使用。探究实验室是广泛采用多媒体技术和数字测量技术,基于计算机平台辅助完成物理、化学、生物等学科实验的系统。

随着探究式教学实践的不断展开和信息技术发展的不断推动,传统的探究式实验系统的诸多不足逐渐展现出来了:①软件功能单一,对数据与知识点的表现能力不足;②软件部分交互性差,过度地强调硬件设备的相关交互操作,某种程度上忽略了软件平台在全局上的作用;③与教学结合不紧密,没有设计与“虚拟仪器”相对应的“虚拟环境”。

● 虚拟现实探究试验室系统的结构

为了解决上述问题,我们参考了大量的国内外资料,经过研究和商讨之后,结合国外先进探究试验室系统厂家的前沿探索,得出了虚拟现实探究试验室系统解决方案,即将探究实验室与虚拟现实技术和仿真技术相结合,采用图形化编程手段与敏捷软件工程思路相结合的办法,在软件工程实现上展开新的探索。

虚拟现实探究实验室系统是包括数据采集、数据分析和数据展示的综合系统。数据采集主要包括传感器的识别、采样控制、数据传输、数据存储等;数据分析部分包括数据图表显示,测量分析(如拟合)和求导、求积等;虚拟环境及虚拟仪器展示包括虚拟场景显示、虚拟仪器显示、虚拟仪器装配、虚拟仪器演示、仿真实验操作等内容。该系统包括五个子系统:场景显示模块、虚拟仪器模块、数据采集存储模块、数据处理显示模块和场景控制模块。各子模块的功能细化及逻辑关系如图1所示。

图1 虚拟现实探究试验系统结构图

由于虚拟现实探究实验室系统是以数据化探究实验室为基础,融合了虚拟现实仿真实验室的内容表现手法的,所以各项子系统的相对独立性很强;考虑到系统要不断适应和扩充新的设备和虚拟场景,需要具有很强的扩展性,因此系统采用模块化软件设计方法。系统的总体框架设计如图2所示。

图2 系统总体框架

根据系统的功能结构,可将系统分为以下四个层次。

1.表示层

在本系统中,表示层通过Quest3D虚拟现实引擎来实现,包括场景显示功能和虚拟场景控制两部分。场景显示功能在虚拟现实系统中代替标准的窗口界面,向用户提供经过渲染的虚拟场景。但是虚拟场景仅仅是经过渲染得出的画面帧,无法与用户交互。所以,我们将虚拟场景控制部分同样放置在标志层中,向用户提供可操作的图形接口。

2.业务层

业务层用于提供完整的虚拟场景的支持和数据处理操作的支持,使用Quest3D环境所提供的通道模块来进行图形化编程实现。业务层提供本系统的核心功能,即数据采集存储、数据处理显示和仿真实验功能。由于采用了图形化编程平台,业务层可以单独运行和调试。而且各业务模块之间完全独立运行,很好地达到了业务数据分离的效果。

3.业务数据访问层

业务数据访问层向系统提供数据服务接口。在Quest3D图形化编程环境中,数据服务接口由Serial Info Value通道和DB driver ODBC来实现。Serial Info Value通道即虚拟的串行总线接口,通过该通道可以访问和控制串口来进行数据采集;DB driver ODBC通道为ODBC数据库服务,通过ODBC连接ACCESS数据库。

4.数据访问层

数据访问层包括硬件设备和数据库,为系统的底层支持,向系统提供所需要的数据信息。本系统以Quest3D 4.0作为虚拟现实开发工具,实现了本系统的虚拟现实场景模块和物理仿真功能。其最大的特点是将众多标准DirectX函数封装为“通道”(channel),使设计开发人员可以真正采用“搭积木”的编程方法专注于自身虚拟现实系统的开发。

虚拟现实探究试验系统为学生及教师提供了简便易行的实验教学工具,能够全面、及时地展现和分析实验过程中的数据,极大地降低了实验教学的复杂度,提高了将现有实验室教学扩展为数字化实验室的能力。通过虚拟现实探究试验室系统的辅助,可以拉近试验现象与课本知识点之间的距离,加深学生对课本知识的把握和了解。

但图形化编程不能够全面代替文档和系统设计图的存在。图像化编程方式作为一种轻量化编程手段,所起到的作用是帮助用户快速地实现系统。虽然吸收了一系列的面向对象的方法,但是其关键思想仍然是基于流程的。在Quest3D中,图形化编写程序的流程即为Driect3D处理三维图形显示的流程,我们很难在显示流程上做出该系统的详细描述。

虽然这样,图形化编程仍然显示出易于使用的特点,在本项目中,图形化编程环境深受一线教师的喜爱。物理或者化学教师由于计算机水平的限制,很难对软件系统有全面深入的了解。图形化编程则提供了简单的切入手段。使非程序人员能够快速的开始编程。同时也免去了记忆复杂指令和调试的工作。

猜你喜欢
图形化虚拟仪器编程
基于Arduino图形化编程的教学应用研究
浅谈图形化编程在小学教育中的作用
玩游戏学编程,Blockly Games上手玩
纺织机上诞生的编程
编程屋完成数百元万天使轮融资
学编程,先画画
高职院校应用虚拟仪器技术的研究与实践①
Mixly米思齐:优秀的国产创客教育工具
基于LabVIEW与USB的虚拟仪器接口设计
基于虚拟仪器技术测控人才培养模式的研究与探索