浅谈AR技术的计算机编程教学系统设计

2021-12-30 07:37李君
科学与信息化 2021年15期
关键词:教学系统编程计算机

李君

郑州旅游职业学院 河南 郑州 451464

引言

对于计算机编程教学而言,最重要的是就是动手实践。利用AR技术进行计算机编程教学系统的设计,可以增强实践教学,从而帮助学生熟悉计算机编程相关知识。下文,笔者将以AR技术的计算机编程教学系统设计为文章主题,就如何应用AR技术进行系统设计进行详细的讨论。

1 AR技术概述

增强现实(augmented reality, AR)技术是在虚拟现实(virtual reality ,VR )技术的基础上产生的,AR技术对于真实环境中的信息进行三维注册,将计算机生成的虚拟信息叠加应用到真实世界,利用传感技术和显示设备将虚拟信息和真实世界统一在一个画面或空间内,从而实现对现实世界的增强,达到超越现实的感官体验。随着虚拟现实技术和增强现实技术的发展,各大领域都开始立足于该技术进行相关工作的改革,教学领域也不例外。随着科学技术的不断发展,VR / AR技术开始被不断应用,市场的需求正在推动AR产业不断发展。基于AR技术对计算机编程教学系统进行设计,已经成为计算机编程教学的必然发展趋势[1]。

2 系统设计

2.1 总体设计

计算机编程教学系统的总体设计为,首先需要开设一个信息输入模块,显而易见,信息输入模块的作用是用于采集一些信息。信息输入模块主要获取两部分信息,第一采集客户端在系统中输入的需求信息,第二则是通过标志物特征点信息的处理与匹配,获取服务器端虚拟模型信息。除了信息输入模块,还要在系统中开发融合显示模块,融合显示模块需要信息输入模块为之提供服务,即融合显示模块根据信息输入模块捕获的信息,实时跟踪注册虚拟信息在真实世界的位置,然后进行真实信息与虚拟信息的叠加融合显示。

在开发融合显示模块时,首先通过三维建模软件Solidworks进行所需要展示框架的建模工作。在建模时应该注意,Unity3D只能识别模型格式为.fbx的模型文件,因此在进行识别时,需将其他格式的模型文件通过格式转换软件转换为.fbx格式的模型文件才能继续进行融合模块的开发。模式转换完毕之后,将所需的模型文件导入Unity 3D中。然后将Imagetarget 包导入Unity 3D 中并粘贴License Key。将.fbx模型文件放置在相应的Image target下,调整大小及位置等模型文件参数。最后进行相应设置并打包发布。在计算机编程系统中,还要添加最核心的人机交互模块。在人机交互模块中,用户可以通过计算机的用户界面进行操作,与教学辅助系统进行连接等。人机交互是该系统的核心,是开展教学的重要接口。也是用户使用该系统的入口。由于是教学系统,因此还可以增设教师模块和学生模块,提高用户体验。开发教师模块时,应该开设教师进行计算机编程教学所需的各种功能。

2.2 开发概述

该系统可以运用一些主流的语言进行开发。比如应用最广泛的Java,其作为跨平台的语言,可以运行在Windows和Unix/Linux下面,是计算机编程教学系统设计的首选语言。还可以应用C或者C++等效率比较高的语言。除了语言,还要根据实际情况进行开发环境、软件开发数据包的选择。

通常,移动增强现实技术主要由离线处理和在线处理两大部分组成。离线处理主要是由Uni- ty3D来完成,其包括建立虚拟三维模型、生成三维场景以及标志物的选取和预处理。在线处理部分主要由VuforiaSDK完成 ,包括信息的识别和实时生成反馈信息,在真实场景中叠加虚拟对象,实现人机交互。在系统设计时要根据开发环境选择需要的Unity 3D,并安装Unity。然后下载Easy AR SDK并新建一个工程项目。把Easy AR SDK导入Unity3D工程。配置License Key。导入模型资源,编译工程,最终导入到手机,启动App进行测试。并配置对平面图像进行实时识别与跟踪、从标准图像动态生成跟踪目标[2]。

2.3 计算机编程增强现实技术的设计方案

计算机编程增强现实技术的设计方案包括服务器端程序,手持智能设备App。

2.3.1 服务器端程序。首先要建立一个数据库模型,并通过图像特征值查询对应的各项数据,再根据不同的存储位置使用不同的程序去读取,然后通过网络协议返回数据给调用的接口的App端,部分频繁使用的数据,要使用服务器软件解决缓存问题。

2.3.2 手持智能设备的App程序。在设计时,应该实现先对书籍进行拍摄然后读取书籍的图像,对图像进行变换得到特征值,再调用本地缓存模块,查询是否有缓存,如果有则进行读取。如果没有,调用服务器端接口,通过特征值查询数据。然后根据返回的数据类型不同,分别进行显示。

2.4 系统开发的流程以及关键技术

2.4.1 配置识别图。在进行系统设计时,首先准备一张需要识别的图片,图片的格式需要进行标准化处理,以便于图片的识别、读取更加准确。在进行图片识别时,可以使用for循环的案例代码来识别,首先对将要被识别的图进行命名,命名完成后将需要识别的图片添加到面板中去,然后对ImageTarget组件上的“ImageTargetBehavior”脚本进行编辑,该脚本的功能主要是捕捉到识别图片时控制for循环运行变量的显示与消失,脚本编辑结束以后,应该按照需求填写信息,比如识别图片的信息、识别图片的路径、识别图片的大小。对于识别图片路径的配置,通常采用的有两种方法,一种是可以直接填写识别图名并自动填写后缀,另一种则是填写Json。接着要在Imagetarget组件下面创建需要的AR模型。用户在File中选择Build Setting,之后再点击Player Setting,选择对应的platform[3]。

系统设计的总体流程主要包含三个 步骤:创建云端数据库、目标管理、Vuforia的集成与发布。

在上述过程中,笔者已经提及,由于Android 平台下的应用开发是基于Java语言,因此,在设计系统时,首先要做的是进行JDK(Java development kit)的下载与安装。除此之外,由于该系统主要运行平台为Android平台,所以,需在此基础上再进行AndoidSDK的下载与安装。开发平台搭建是系统设计的重要基础,工作人员要根据实际的系统需求对开发环境、开发工具包等进行选择。

2.4.2 旋转、缩放和剖视功能的实现。旋转功能在手机端通过滑动触摸屏实现,而缩放功能通过两指点击滑动实现,剖视功能则通过点击剖视按钮实现。旋转、缩放都要通过Unity 3D 脚本控制相应组件实现,脚本编辑语言可为Javascript或C/C++,由于当前c++的应用范围更加广泛,所以更建议使用C++这门语言。旋转功能通过Rotate()函数就可以实现,而缩放功能通过localScale()函数实现。

由于无法在Unity 3D中直接进行剖视显示,因此在系统开发中需通过建立另一并列独立剖视三维模型的方式,设置按钮组件激活状态的“tme/false”进行整体模型与剖视模型的转换。剖视实现的关键脚本代码要以剖视的效果为依据不断进行调试[4]。

3 结束语

综上所述,AR技术的计算机编程教学系统设计是热门教学科目的迫切工作需要,相关工作人员必须立足于实际需求等,基于AR技术对计算机编程教学系统进行设计,以期将增强现实技术与计算机编程学习相结合,取得良好的计算机编程教学成果。

猜你喜欢
教学系统编程计算机
武汉市青少年基础射击训练可交互模拟教学系统的设计与实现
淄博市大力推进交互式在线教学系统应用
计算机操作系统
基于Unity的计算机硬件组装仿真教学系统设计
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
基于移动学习理念的智慧教学系统
纺织机上诞生的编程
基于计算机自然语言处理的机器翻译技术应用与简介