APP下载

基于ARCore 的中学实验平台设计

2020-10-12彭佳汉李刚毅秦天文冯佳玉韩书垚张亦驰赖晓晨

现代计算机 2020年24期
关键词:仪器化学模块

彭佳汉,李刚毅,秦天文,冯佳玉,韩书垚,张亦驰,赖晓晨

(大连理工大学软件学院,大连 116000)

0 引言

随着我国信息技术的不断发展,软件已经开始渗透到了教育领域当中,成为了提升学校教学能力的强大支持。教育部文件《教师教育振兴行动计划(2018-2022 年)》中指出,教育要实施“互联网+教师教育”创新行动,充分利用云计算、大数据、虚拟现实、人工智能等新技术,推进教师教育信息化教学服务平台建设和应用。众所周知,化学是非常重要的一门学科,而在我们的国内校园中,受到各种条件制约,使得学生们无法尝试大多数的实验,因此,如今迫切需要使用信息化手段来帮助解决这个问题。

1 研究现状

仿真化学实验教学是一种新型的教学媒体和现代化的教学手段,具有容量大、速度快以及图文并茂、声色俱全、生动形象等特点,因而可以扩展实验类型,拓宽学生事业,弥补课内常规实验的不足[1]。

目前,国内市场推出了许多仿真化学实验软件,目前的软件面临着以下的现状:

现在网上的许多应用都是以教材知识和基础操作为中心,大多数都是以演示实验为主,很少有让用户自己操作的机会;界面和仪器一般都较为生硬,使得用户在使用时有很强的距离感,无法体验到自己动手做实验的感觉。

本文将介绍基于ARCore 的中学实验平台软件,软件提供了大量以动手做为主的实验素材,基于Google的ARCore 技术,用户拿起手机进行操作,感觉实验就仿佛发生在自己面前,带来了良好的学习体验,更激发了用户对化学实验的好奇心,加深了对化学知识的理解,为化学课程的教学信息化带来巨大的助力。

2 系统设计

2.1 系统概要

本项目主要由3 个功能构成,功能分别为“实验展示”功能、“动手做试验”功能和“老师指导”功能。项目系统结构图如图1 所示。

2.2 “实验展示”模块

“实验展示”功能根据教育部《普通高中化学课程标准》所要求掌握的实验,包括二氧化硫和浓硫酸的性质实验、氢氧化铝的两性实验、氨及铵盐的性质实验和葡萄糖与新制氢氧化铜悬浊液实验等,设计出预计设置22 种相应的实验模型。学生在完成书本内容的学习后,通过扫描书本上的实验图片,在手机上观看立体的实验。学生不仅仅可以看到具体的实验流程,更可以通过自身移动多角度地、全方面地观察实验现象,同时,在实验的关键点还会用箭头和文字进行标注提醒,实现二维的知识与三维的立体图像结合,以便学生更好地掌握实验流程、实验现象以及实验中的关键点。

通过“实验展示”功能,一方面学生不用在实验室接触危险的化学药品即可多角度、全方位地观察实验,另一方面二维与三维的结合使得学习更加有趣,使得学生对实验现象的记忆更加深刻。

这里我们把每个实验都做成一个预制体,因为AR技术需要与环境相适应,所以实验中的流程都是实时进行的,保证了实验制作的独立性,增强了软件的扩展性。

图1 系统结构图

2.3 “动手做实验”模块

“动手做试验”根据中学实验要求,设计出中学化学实验所常使用到的13 种仪器,包括试管、烧杯、烧瓶、锥形瓶、集气瓶等和中学化学实验所常使用到的38种化学试剂,包括乙酸乙酯、氢氧化铜、乙醇、碳酸钠和碳酸氢钠等。学生通过对书上实验图片进行扫描后,选择“动手做试验”。随后,手机上加载出实验所需的仪器和化学试剂的模型,学生通过拖拽等方式可完成仪器的拼接、化学试剂的添加和在相应关键处添加标注等功能,在仪器拼接以及试剂添加完成后,即可观察实验现象。

这里将单独的化学实验按照时间顺序分成多个阶段,每个阶段都有其对应的操作,学生需按步骤进行实验,即完成第一阶段的操作才可进入下一阶段,以此类推,整体上按时间循序渐进,帮助学生理解整个实验流程。

2.4 “老师指导”模块

“老师指导”功能基于“实验展示”和“动手做试验”功能。在学生进行“实验展示”和“动手做试验”时,教师可从另一个手机上实时观看学生所进行的操作,并且对实验中的重要点用箭头和文字进行标注,学生可在自己的手机上看到老师的标注信息,从而更好地理解实验原理和学习实验过程。

总的来讲,该模块支持跨设备观看实验、跨设备标注等一些联网操作。这使得学生们在能够接触新型化学实验的同时,还可以得到教师的指导,能够更好地对化学实验进行学习记忆。

“老师指导”模块相当于在前两个模块的基础上增加联网标识等功能,从功能上来讲,三个模块相互联系又相互独立,第一个模块注重实验的整体性和完整性,第二个模块注重实验的逻辑性和步骤性,第三个模块注重联网和标识,方便开发者扩展相应功能。

3 系统实现

3.1 实现概述

(1)技术实现。平台采用了Google 的先进增强现实技术ARCore,主要使用其中的图片增强功能部分,确保AR 成像与化学实验展示的稳定性。ARCore 的运动跟踪技术使用手机摄像头标识兴趣点(称为特征点),并跟踪这些点随着时间变化的移动。将这些点的移动与手机惯性传感器的读数组合,可以在手机移动时确定手机的位置和屏幕方向。通过将渲染3D 内容的虚拟摄像头的姿态与ARCore 提供的设备摄像头的姿态对齐,开发者能够从正确的透视角度渲染虚拟内容。渲染的虚拟图像可以叠加到从设备摄像头获取的图像上,让虚拟内容看起来就像现实世界的一部分一样;本项目还采用Unity 物理引擎,使化学实验具有更逼真的物理和化学效果,同时优化应用所需的计算资源。

(2)关键点。关键点在于如何在手机有限的存储、计算资源上更完美地展示化学实验。在化学仪器模型方面,我们平衡了化学仪器的模型、贴图精度与性能,部分使软件能够在手机有限的计算资源上得到较好的显示效果。

(3)难点。难点在于如何实现用户之间的联网功能,如何在松耦合方式下实现场景与预制体之间的通信与绑定。该部分需要考虑服务器的房间逻辑、掉线逻辑、中途加入逻辑、服务器资源回收利用、还需要保证较低的延迟等。我们采用游戏服务器,保证网络连通的可靠性与低延迟,同时也便于处理房间逻辑;在松耦合问题中,我们设置了共享存储空间、利用多态方法动态绑定通信函数与实验物体。从而解决这两个难点。

3.2 实验展示与动手做实验部分

各模块中包含的具体操作流程基本一致,下面以实验展示模块进行展示。图2 是选择实验界面,图3是正式操作界面。首先用户选择实验,进入实验后自动播放该实验的操作步骤,期间会有标签提示注意事项等。用户可以利用AR 技术全方位进行观看。

图2

图3

实现过程:在实验展示部分,首先我们利用计时器和Unity 的动画系统,通过实例化、旋转、平移、形变等效果实现单独部件的实验操作,再通过全局的控制器统一调度每个部件相应函数触发的事件或逻辑关系,达到化学实验现象的效果。

难点:动手做实验部分的难点在于如何在二维的手机屏幕上操控3D 空间中的实验仪器。我们构建了一个3D 的“T”字型实验操作平台,用户只能控制实验仪器在此平台上移动。为了达到拖拽的目的,我们对实验仪器的图层进行区分。每一帧系统都会检测用户的操作。当用户在拖拽时,摄像机根据屏幕的触点发射一条射线,设置为仅能碰到化学仪器;在碰到化学仪器后,再发射一条仅能碰到实验平台的射线,然后将该化学仪器挪动至该实验平台的触点上。由于每一帧都会进行此操作,化学仪器也就能随着手指的滑动变换自己再实验平台上的位置。核心伪代码如下:

3.3 老师指导部分

实现过程:这一模块采用游戏服务器MatchVS,将登录服务器等过程隐式实现,给用户更流畅的体验;程序通过MatchVS 的接口完成相应的数据传输操作。在MatchVS 接口的基础上,为了迎合项目需求,本项目额外增加的功能有:创建房间时,用户可以选择要展示的实验;在其他用户加入房间时,会给这位用户发送当前实验的ID 编号,以达到实验同步的效果。且第一个进入房间的人默认为房主,拥有最高权限。

相应的函数与逻辑顺序关系如图4,主要有登录登出、加入退出房间、房间中通信等函数。且在其他人加入离开房间时,服务器向房间内其他用户通报信息。

为了减少项目体量,压缩安装包大小,老师指导部分与项目展示、动手做实验两个模块采用相同的预制体文件,达到模型、代码复用的功能;联网部分采用松耦合的设计,将编写的脚本挂载在能够被交互的实验器材上即可,提供了良好的可拓展性,方便之后实验的拓展。

图4

同时,本项目支持断点重连:若用户在使用过程中网络中断或切换网络环境,依然能够顺利返回之前的房间。

为了减少对网络带宽的需求,我们仅传输实验操作或系统变化对应的字符串,将这些信息通过JSON 数据类型封装,对应操作的逻辑在客户端进行运算渲染。伪代码如下:

难点:SDK 的信息的回调函数采用static 类型,无法通过函数调用、Unity 中的action 方法与挂载在物体上的脚本进行调用。为了解决这一问题,我们在全局控制器中设置了一个全局的监听器与标志位,在每一帧监测是否接收到来自服务器的信号。如果接收到信号,那么控制器就通过松耦合的方式调用对应物体的方法。

下面是系统信息回调函数部分代码,当接收到网络传递来的数据时,函数更改全局变量与标志位。伪代码如下:

下面是控制器监听部分伪代码,每一帧都会检测是否更改。若更改,跳转到处理函数中。

4 结语

基于ARCore 的中学实验平台提供了丰富的接口和实验资源,实现了高仿真效果的化学实验模拟,可以满足中学化学实验学习的需要,用户可以在有限的教学资源下,安全的学习化学实验知识,激发了用户对化学学习的兴趣,极大的推进了中学化学课程的教学信息化。

猜你喜欢

仪器化学模块
《现代仪器与医疗》2022年征订回执
《现代仪器与医疗》2022年征订回执
28通道收发处理模块设计
“选修3—3”模块的复习备考
我国古代的天文仪器
奇妙的化学
奇妙的化学
奇妙的化学
奇妙的化学
选修6 第三模块 International Relationships