Android平台下三维模拟针刺训练系统的设计与开发*
2016-08-12张淑苗
张 伟,张淑苗
(1.甘肃中医药大学 信息工程学院,甘肃 兰州 730000;2.甘肃农业大学 科技处,甘肃 兰州 730070)
Android平台下三维模拟针刺训练系统的设计与开发*
张伟1,张淑苗2
(1.甘肃中医药大学 信息工程学院,甘肃兰州730000;2.甘肃农业大学 科技处,甘肃兰州730070)
Android是目前广泛应用的移动终端平台。借助虚拟现实技术,在Unity3D开发环境中为Android平台上构建虚拟人体标注穴位、经络等信息,并通过手指操作实现虚拟的针刺训练过程,帮助中医爱好者甚至是中医院校学生熟悉并掌握穴位、经络等中医基础知识。
Android;三维模拟;针刺;虚拟现实
0 引言
中医是中国传统文化的重要组成部分,为中华民族数千年的繁衍生息保驾护航,功不可没[1]。其中针灸作为中医最重要的诊疗和保健手段,不但在国内广泛使用,在海外也被越来越多的国家民众所认同和接受[2]。然而,针灸入门不是一件容易的事情,尤其是对经络和穴位的准确识别定位,是实施针灸治疗的前提和基础。古代智慧的中国人为了达到学习、测试经络穴位的准确位置,曾经浇铸过闻名于世的针灸铜人,为培养针灸师做出了很大贡献。但针灸铜人的功能单一、制造成本高昂、重量大且搬运不便,现在已很少有人使用[3]。非中医人士尤其是外国人学习和识记穴位、经络等中医知识更是无从下手,事倍功半。
为此,各大医疗公司开发了许多针对经络、穴位的实训人体或人的肢体模型,在一定程度上解决了学习和识记穴位、经络的问题。但是,人体模型大都是针对医学院学生训练用,并且成本高昂、携带不便、易磨损、维修成本不菲,此外功能上仍然单一,可标注的信息量非常有限。医学院学生实训时由于技术不熟练,存在安全隐患,例如发生晕针等现象,不便大规模施行[4]。随着虚拟现实技术的飞速发展和大规模应用,结合现代信息技术实现针灸技术的可视化学习,是解决上述问题的途径之一。近年来,平板、大屏幕手机已经普及,在android平台下开发一款针刺实训系统,成本低、推广容易。
1 功能设计
完善的功能分析与设计,是顺利开发完成一款实用信息系统的前提和基础。项目组根据教学、训练场景,以及通过问卷调查、走访等方式获取和积累用户需求和实际需要,提出该系统的功能需求,大致归纳为以下几点:
(1)一个标准的虚拟人体模型;
(2)能够从任意角度观测到虚拟人体模型的各个部位;
(3)能够任意放大缩小虚拟人体模型,以便从宏观和微观两方面观测;
(4)常见穴位能够比较明显地标注在人体模型表面,并且保证部位的准确性;
(5)能够显示穴位的功能、作用、主治、所属经络以及经典取穴方法;
(6)用穴位串联起来的12条经络能够比较明显地标示出来;
(7)能够完成训练功能;
(8)能够完成简单测试功能。
2 关键技术
2.1构建虚拟人体
精确的虚拟人体模型是实现穴位、经络等信息定位的基础。经搜索对比得知,网络上现成的一些虚拟人体模型,大都是为游戏角色设计的,因此很多比例失调,无法在医学信息系统中使用。为此,项目组根据人体比例,使用3DSMAX软件重新进行了人体建模,为求达到精确逼真,使用了多种建模手段和技术[5]。此外,在人体的选择上采用的是男性人体,这与现实中使用的普通实训针刺人体模型是一致的。
2.2经络及穴位模型
项目组选择的穴位主要是人体300余处“正穴”,之所以没有选择“经外奇穴”,是因为在现代中医理论里,对这些穴位的治疗和保健效果还存在一些争议。
古代文献记载:“穴位大小如米粒”。在虚拟人体上精确定位这些穴位并不容易,为力求本系统穴位信息准确无误,项目组聘请了甘肃中医药大学针灸推拿系几位教授,全程参与指导中医相关信息的录入和建模工作,在穴位、经络功能描述里删除了一些存在争议的内容,知识点参照的是中国中医药出版社2008版《经络腧穴学》教科书的教学内容。
项目组在3DS-MAX中使用小球体作为穴位模型,精确镶嵌在虚拟人体体表相关部位。为了使学习者能够观察到精确的穴位点,穴位及经络模型不完全镶嵌入人体,即有一部分是裸露于体表的,并用相应颜色标示。根据系统功能,在测试模式下穴位和经络模型处于隐藏状态,当学习者针刺位置正确后,系统会提示正确,否则会提示错误并将正确的穴位模型显示。在学习模式下,可根据穴位名称或者穴位点选择并显示穴位的功能与用途等信息。
图1 系统运行图
2.3虚拟空间和场景
本系统中人体的精确操控是项目开发成败的关键。经过对比,项目组选取了一款当前流行的易用3D游戏开发引擎-Unity3D。它是由Unity Technologies开发的一个开发者轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台综合型游戏开发工具,是一个全面整合的专业游戏引擎[6]。该引擎可一次开发后,将最终结果发布到PC、IOS、XBOX、android等平台,是目前主流的3D可视化开发平台。
在人体模型的操控上,我们根据移动用户尤其是手机用户的使用习惯,使用单指滑动实现旋转人体,改变观测角度,双指同时滑动实现放大缩小视距,单指点击拾取实现穴位的选择以及菜单等信息的点选。系统运行图和菜单选项见图1所示。
2.4信息存储的问题
穴位、经络的名称及功能主治等信息对于帮助学习者掌握相关知识至关重要。原计划将穴位和经络信息存储在本地数据库中,在android平台内置一个小型的SQLLite数据库系统。后来发现此举没有必要,其一,不做成联机版的话没有并发数据访问的压力;其二,穴位等信息一旦录入后,增删改的机会很少;另外,使用了数据库后,对于将来的部署和发布,以及未来的升级都带来很大的不便。
鉴于此,项目组将穴位、经络等信息以文本格式存储在文件里,信息之间用逗号分隔,并与场景中的穴位和经络信息予以关联。存储的格式为见表1所示。系统在运行时根据需要加载相应的信息。经测试速度和显示结果都比较令人满意。
表1穴位信息格式
2.5发布及部署
使用Unity3D系统发布应用非常容易和便捷,只要将需要的各种文件打包在程序内,然后选择相应的平台予以即可。此处将开发完成的整个项目选中,勾选发布的平台为android(4.2版本及以上),就会生成apk格式的文件。
移动端只需获取该文件,正常安装后默认会在系统桌面生成一个图标,点击该图标,本系统就会运行,正常情况下占用内存约为80 M左右。
3 测试使用
系统开发完成后,项目组成立了测试小组,对该版本的应用进行了详细的内部测试。之后项目组又组织甘肃中医药大学相关专业学生集中安装测试和试用,获得了较为详细的测试资料,对一些严重的BUG进行了修改和修复,目前的版本已比较稳定。
4 结束语
本系统的设计和开发,是运用虚拟现实技术和现代信息技术解决医学教学和实践中问题的案例。项目组设计开发的基于android平台的三维模拟针刺训练系统使用目前流行的Unity3D技术,是在针灸推拿系多位老师的参与和指导下历时两年完成的。本系统已取得国家版权局计算机软件著作权登记证书(证书编号:2015SR282442),并计划在甘肃中医药大学课程改革中予以推行使用。该系统将继续修改和升级,在合适的时间发布到公共平台供全省甚至全国中医爱好者使用,为祖国医学的普及和推广做出贡献。
[1] 尹红博,吴富东.古代针灸养生保健文献整理述略[J].山东中医药大学学报,2013(03):234-235.
[2] 李秀明,姚峥嵘,张洪雷.中医药文化传播之于国家软实力建设的思考[J].医学与社会,2011(10):15-17.
[3] 秦红.乾隆针灸铜人始末[J].中医药文化,2012(06):43-45.
[4] 丁勇.卫校学生针刺实训中如何避免晕针[J].现代医药卫生,2006(21):3391-3392.
[5] 张岩,高海侠.浅谈3DSMax多种建模方法的应用[J].科技创新导报,2008(33):26-27.
[6] 宣雨松.Unity3D游戏开发[M].北京:人民邮电出版社,2012.
TH776
A
10.3969/j.issn.1672-6375.2016.04.004
2016-1-12
甘肃省青年科技基金(1208RJYA062),甘肃省教育厅科研基金(0906-01),甘肃中医药大学教改项目(230514520225)。
张伟(1981-),男,汉族,甘肃庆阳人,研究生,副教授,主要研究方向:计算机网络、虚拟现实及教育技术。