APP下载

基于HTCVIVE的虚拟针灸教学软件设计研究

2020-04-22高红磊阚红星高勇陈光恩

微型电脑应用 2020年3期
关键词:人机交互虚拟现实

高红磊 阚红星 高勇 陈光恩

摘 要:随着计算机技术的不断发展,虚拟现实技术在传统教学中有了越来越多的应用。为提高学生对中医针灸的学习兴趣和对人体穴位基本理论知识的理解与记忆,研究基于虚拟现实技术的中医虚拟针灸教学软件开发中的关键技术。采用3d Max软件对人体模型建模,注重人体关键部位轮廓的绘制;并结合虚拟现实设备HTC VIVE,利用Unity3D软件中建立虚拟场景;最后,重点使用JSON语言实现穴位信息存储管理,完成人机交互模式设计,为辅助中医针灸教学提供了一种新方法。

关键词:虚拟现实; 针灸教学; HTC VIVE; 人机交互

中图分类号: TP391.41

文献标志码: A

Abstract:With the continuous development of computer technology, virtual reality technology has been applied more and more in traditional teaching. In order to improve the students' interest in learning Chinese acupuncture, this paper studies the key technologies in the development of virtual acupuncture teaching software based on the virtual reality technology. Modeling the human body pays attention to the contour drawing of the key parts of the human body. It combines the virtual reality device HTC VIVE to create virtual scenes. Finally, acupoint information models are represented and stored through JavaScript Object Notation (JSON) language, which completes the design of human-computer interaction. The implementation of virtual reality technology, provides a new method for assisting Chinese acupuncture teaching.

Key words:Virtual reality; Acupuncture teaching; HTC VIVE; Human-computer interaction

0 引言

針灸学作为传统中医和中华文化的精华部分,在新时代不仅得到很好地传承,同时也得到了技术方法上的创新,传统针灸与声,光、电、磁、红外等现代科技相结合创造出更为先进的针灸治疗仪器[1,2]。而在今天,计算机技术已经在我们生活学习中发挥着不可或缺的重要作用,与其相关的多媒体技术、数据库技术、数字图像识别处理和虚拟现实技术等都在教育教学和仿真模拟训练中有了更多的应用[3]。

因此在中医教学软件研究领域充分发挥计算机虚拟现实技术的特点,对中医的传承和发展有着重要的意义。在中医经络腧穴学习系统的应用方面,辛思源[4]等人提出了基于电子信息系统的中医针灸电子腧穴挂图,很好地解决了传统挂图展现形式不够生动形象的不足,增强教学课程的直观生动性,利于对教学重点内容的把握;天津中医药大学将数字人体穴位系统的建立应用于腧穴学教学中,取得了不错的教学效果[5,6]。查阅相关文献,未曾发现将虚拟现实设备应用于中医针灸仿真教学的学习系统。本研究利用虚拟现实等技术,并且尝试基于虚拟现实设备HTC VIVE将针灸铜人三维虚拟可视化展示,为中医针灸教学训练提供新方法。

1 虚拟现实

1.1 虚拟现实的概念

1965年,SutherLan博士首次从计算机现实技术和人机交互的角度提出模拟现实世界的思想[7],成为虚拟现实的雏形并由此推动了计算机现实显示技术,图像学以及人机交互设备的研究与发展。在经历了20多年的科技技术和设备的发展,美国VPL公司创立者Lanier J于1989年正式提出Virtual Reality(VR,虚拟现实)一词[8],他这样描述“虚拟现实”:使用计算机模拟产生一个三维立体的虚拟环境,为使用者提供包括听觉视觉触觉等感官在内的模拟。

1.2 虚拟现实的技术特征

1993年Heim[9]总结了VR技术7个特征,次年Burdea[10]等在《Virtually Reality Technology》一书中概括了VR三大基本特征,即沉浸感,交互性,想象性。其中沉浸感和交互性是VR的最主要的两个特征。沉浸感,作为VR技术最主要的核心特征,使得用户完全沉浸于计算机及其硬件显示设备所生成的虚拟环境中,通过视听触觉给用户提供与真实环境同样的感受。交互性,人机交互最重要的体现。当用户通过使用交互设备以自然的方式控制虚拟环境中的物体之间或物体与环境之间发生交互作用,同时也增强沉浸感。

1.3 硬件设备HTC VIVE

目前市面上主流的实现虚拟现实技术的硬件设备主要有两种[11]:一是Oculus Rift,二是HTC公司与Value联合开发的HTC VIVE。在空间定位方面,HTC VIVE采用更为精确的Light house定位系统。该定位系统允许用户在一定范围内的移动,定位精度可达1.94 mm,从而极大地保证了虚拟现实技术沉浸感的良好体验。

HTC VIVE组成,如图1所示。

头戴式显示器(Head Mount Display, HMD),一对手柄控制器,Light house定位系统。该头戴显示器(一般称头盔)内由两块OLED屏幕组成,分辨率达到2160*1200像素,且刷新率为90 Hz,延迟时间22 ms,所以几乎不会使用户产生头晕等不适感。手柄控制器上的触控板和多个控制按钮,可实现多种的人机交互控制。

2 穴位信息表达模型的建立

《人体经络穴位标准大图册》书中详尽地标注了362个常见医用穴位[12],包括穴位的名称主治位置快速取穴等信息。对这类数据的存储和使用,通常的数据存储管理方式是:根据特定的数据格式,将其保存成TXT格式文档,然后再解析读取使用。数据的传输解析主要有两种格式[13]:XML和JSON。

(一) XML(可扩展标记语言)简单易用,可在任意应用程序中读写数据操作,但因其解析数据方式侵占大量的内存空间,所以当数据量较大时,解析时间慢,且容易导致数据错误和系统崩溃。

(二) JSON是轻量级数据交换格式,且数据序列化后产生的数据量较小,能够保证数据和系统稳定。

鉴于数据量大小,很显然第二种方法更合适,本研究选择JSON格式,满足项目技术要求。在新建的TXT格式数据文件里,新建acuInfo变量,该变量使用方括号包含多条目的数组,每个条目是一个穴位信息,包含穴位名称,编码,主治穴位等数据信息,且均以键值对的格式保存在TXT文档中。示例采用JSON语言格式对 “天池穴”穴位信息进行结构化描述,具体代码如下:

{

"acupointInfo": [

{

"id": "PC1",

"name": "天池穴",

"indications": "咳嗽、哮喘、呕吐、胸痛、胸闷",

"pos": "在胸部,第4肋间隙,前正中线旁开5寸",

"qFind": "仰卧,自乳头沿水平线向外侧旁开1横指,按压有酸胀感处"

},]

}

3 基于Unity3D的系统功能设计与实现

Unity3D 是由丹麦Unity公司开发的整合了众多组件,可跨多种平台的专业游戏开发引擎软件[14]。使用该软件开发的项目只需要做简单的修改即可在PC,iOS,Android,Xbox等多平台发布运行,软件界面简单友好,功能强大。

3.1 系统功能总体设计

本研究以 “天池穴”为例,对虚拟针灸教学演示系统进行功能设计,系统建模和人机交互中存在的关键技术进行设计研究。本演示系统主要实现基于HTC VIVE设备的虚拟3D人体的自由旋转观察,UI界面实时显示取穴名称,位置及主治病癥,UI显示部分设计主要在Unity中结合HTC VIVE头戴显示器实现,在此不做重点陈述。

3.2 系统项目开发与实现

3.2.1 VIVE手柄检测使用

根据项目设计要求,本项目主要使用VIVE手柄的Trigger扳机按钮和Touchpad触摸板实现人机交互功能。在VIVE Input Utility插件中,VIVE手柄上的每个按钮都提供了GetPress()、GetPressUp()、GetPressDown()三种API接口方法,分别表示三种按下状态(一直按着触发、抬起瞬间触发和按下瞬间触发),返回类型为bool,每个方法都传递的两个枚举参数,HandRole枚举选择控制的左右手柄,用ControllerButton枚举来确定使用哪个按钮。

同时提供获取TouchPad触摸模拟坐标的API接口VIVEInput.GetPadAxis(),返回的是Vector2类型的二维坐标数值。以触摸板圆心为原点建立虚拟二维坐标系,当手指触摸到圆形触摸板的任意位置时,即可以计算出每次触摸的移动量。手柄按钮和触摸板返回虚拟坐标值的示意如下图2所示。

3.2.2 虚拟人体模型的三维浏览查看

通过使用Touchpad上下左右触摸滑动,模拟鼠标的移动,用以控制虚拟人体模型围绕X轴(左右方向)上下旋转和Y轴(上下方向)左右旋转,实现对人体上穴位的全方位查看。新建模型控制脚本代码,并挂载到人体模型组件,方便对其代码控制。以右手柄的触摸板为例,部分代码如下:

if(VIVEInput.GetPadTouchAxis(HandRole.RightHand) != null)

{

if ((y > 90f && y 〈 270f) || (y 〈 -90f && y > -270f))

{x -= VIVEInput.GetPadTouchVector(HandRole.RightHand).x * xSpeed;

//xSpeed 调整旋转的灵敏度值}

else

{  x += VIVEInput.GetPadTouchVector(HandRole.RightHand).x * xSpeed; }

x = Mathf.Clamp(x, xMin, xMax);  //限制x值变化大小

rotation = Quaternion.Euler(x, y, 0);

transform.rotation = rotation;  //设置新的旋转数值

}

3.2.3 穴位点击查询功能实现

通过手柄发出射线,如果击中穴位,UI界面即可显示该穴位的所有信息。对于实现该功能有两种方法。

(一) 对每一个表示穴位的球体模型添加一个脚本文件,用以检测是否被射线击中,从而查找显示该穴位对应的名称和详细信息。

(二) 手柄发出的射线碰撞到模型Tag为acupoint的穴位后,可将该穴位ID作为返回参数传递给AcupointInfoManager脚本程序中穴位解析程序,从而查找显示该穴位对应的名称和详细信息。

尽管第一种方法查询穴位检测射线的软件计算效率最高,但是对于一个含有362个医用穴位的虚拟人体模型来说,工作量较大,开发周期较长,所以很显然第二种方法的开发效率较高,本研究设计采用第二种方法进行交互查询功能的软件设计。交互功能的逻辑流程描述如下图3所示。

3.2.4 JSON数据解析

将JSON .NET For Unity软件包,下载导入到Unity项目工程中,在编写穴位信息数据管理脚本代码时需要引入其命名空间using Newtonsoft.JSON,即可正常使用解析JSON数据格式。程序代码主要逻辑流程为:获取数据文件所在项目工程地址,根据地址代码读取TXT穴位信息, 对数据信息反序列化,即可通过穴位的ID查找相对应穴位的详细信息,传递给UI显示代码,通过UI界面完整显示获取的穴位信息,软件最终的显示效果如图4所示。

4 总结

在传统中医理论教学中,如何将大量的需要记忆的理论知识(尤其是针灸穴位的理论知识[15]),更有效地传授给学生,一直以来都是广大中医教学工作者的工作和研究重点。随着计算机技术快速地发展,新技术新设备更多地应用于教学工作,能更好地辅助教学,提高教学效率。本研究尝试将虚拟现实技术应用于针灸理论教学,学生与硬件设备的人机交互,增强学生学习兴趣,同时加强对穴位内容的记忆。

本研究简介虚拟现实技术及其特点和主流的VR设备,设计建立基于JSON的穴位存储表达模型,在Unity3D软件中完成系统的设计实现。其侧重点在于人机交互功能和穴位信息的存储查询功能的实现,目前系统功能基本满足设计要求。

不足之处:目前本研究只是完成关键技术的设计和实现,对整个教学软件的细节还未做具体完善,比如模型细节的修改、穴位信息的补充、UI界面动画的精细制作等。相信随着不断地完善设计修改,能为中医针灸提供更好的教学辅助方式,同时也为今后中医药教学创新应用改革提供了新思路。

参考文献

[1] 石学敏.针灸学[M].北京:中国中医药出版社, 2002:136.

[2] 孙忠人,田洪昭,尹洪娜,等. 基于“医工结合”探讨针灸发展演变[J].中华中医药杂志,2019,34(3):1117-1119.

[3] 蔡晓雯,黄泳,曲姗姗,等.虚拟现实技术在中医针灸教学中的运用[J].河北中医,2017,39(11):1758-1760.

[4] 辛思源,昝程,郭建恩,等.中医针灸电子腧穴挂图信息系统的研发与虚拟教学应用[J].教育教学论坛,2018(1):259-260.

[5] 李晓旭. 基于VR技术的针灸铜人中医知识可视化研究[D].武汉:华中师范大学,2017.

[6] 张文元,李晓旭,谈国新,等.针灸铜人三维可视化研究与应用[J].计算机应用研究,2019,36(7):2054-2058.

[7] Sutherland I E. The ultimate display[J]. Multimedia: From Wagner to virtual reality, 1965: 506-508.

[8] 趙沁平.虚拟现实综述[J].中国科学(F辑:信息科学),2009,39(1):2-46.

[9] Heim M. The metaphysics of virtual reality[M]. Oxfold:Oxford University Press, 1994.

[10] Burdea G C, Coiffet P. Virtual reality technology[M]. New York:John Wiley & Sons, 2003.

[11] 陈东林,刘昊,任志刚.基于HTC VIVE的上肢康复虚拟训练系统研究[J].北京服装学院学报(自然科学版),2018,38(2):52-57.

[12] 吴中朝.人体经络穴位标注大图册[M].上海:科学技术文献出版社,2015:34.

[13] 张沪寅,屈乾松,胡瑞芸.基于JSON的数据交换模型[J].计算机工程与设计,2015,36(12):3380-3384.

[14] 张季,张宏如,董海艳,等. 基于Unity3D技术的数字人体腧穴教学信息系统的设计与实现[J]. 中国医学教育技术,2014(2):139-142.

[15] 戴红芬,肖骏,周小莉,等.虚拟现实技术在中医教学中的应用及其发展研究[J].当代医学,2018,24(3):169-171.

(收稿日期: 2019.10.29)

猜你喜欢

人机交互虚拟现实
虚拟现实,让学习更“沉浸”
某型柴油机虚拟维修系统研究
基于虚拟现实技术的九江城市交通事故模拟系统设计
人机交互课程创新实验
多点噪声远程自动采集系统设计
虚拟现实LG 360 VR眼镜
View Master虚拟现实显示器