APP下载

基于Web的经络腧穴学三维虚拟实验设计与开发

2016-09-09吴春雨

中国医学教育技术 2016年3期
关键词:人体模型点穴腧穴

孙 杰,吴春雨

1昌吉学院物理系,新疆 昌吉 831100;2新疆大学信息科学与工程学院,乌鲁木齐 830046;3吉林医药学院,吉林 吉林 132013



基于Web的经络腧穴学三维虚拟实验设计与开发

孙杰1,2,吴春雨3

1昌吉学院物理系,新疆 昌吉 831100;2新疆大学信息科学与工程学院,乌鲁木齐 830046;3吉林医药学院,吉林 吉林 132013

针对中医经络腧穴学实验教学中采用挂图和模型缺乏形象性和交互性的弊端,采用以Web应用面向对象的JAVA编程语言和三维虚拟场景描述的VRML语言,开发了可直观、形象、多视角展示人体经络腧穴并具有点穴交互操作的基于Web的经络腧穴学三维虚拟实验。通过开发实践,介绍了基于Web的三维虚拟实验开发流程,提出了构建人体经络腧穴模型的关键技术以及利用JAVA增强VRML模型交互性的策略。

Web;JAVA;VRML;经络腧穴;虚拟实验

自德国汉堡大学利用VHP(visual human project)数据集开发三维可视化操作平台VOXEL-MAN[1]以来,基于数字化虚拟人体的医学教育和临床高水平应用研究发展迅速。上海中医药大学利用VOXEL-MAN提供的人体切片数据,对人体经络腧穴进行了三维重建,实现了针灸穴位在可视人体的定位与表达,演示了危险穴位的进针过程[2];福州大学开发了人体经络腧穴三维可视化系统[3]。这些研究极大地推动了经络腧穴理论与实践的数字化进程。

经络腧穴学是针灸学科的核心内容,是针灸推拿专业的重要基础课程。经络学说又是中医基础理论的重要组成部分,内容非常广泛,涉及中医学的生理、病理、诊断和治疗等各个方面,对针灸推拿及中医其他各科临床具有重要的指导意义[4]。经络腧穴学的实验教学非常重要,由于用真人做实验受安全、伦理道德和法律等方面的制约,所以实验课教学常以针灸穴位挂图、针灸穴位人体模型为实验材料。而人体经络的分布有浅表、骨间、肉分、筋间以至脏腑的区别,经络图仅仅是简单线条的勾画,缺少立体形象,不能表现经络的深入浅出,模型也只能将经络、穴位的分布在模型表面标出,无法表现其空间位置。

该研究将传统的中医人体经络腧穴理论与现代的计算机网络技术、三维虚拟现实技术相结合,采用Web浏览器通用的虚拟现实建模语言(virtual reality modeling language,VRML)对人体、经络、腧穴进行三维重构,利用优秀的网络编程语言JAVA进行数据库查询、及时通信和交互设计,通过HTML技术整合各个模块、开发而成的基于Web的经络腧穴三维虚拟实验,不仅能直观、形象、立体地展示人体经络腧穴,而且支持划经点穴操作,同时提供信息全面的经络腧穴知识库,学生只需通过IE浏览器进入实验站点,即可随时、随地进行学习,突破时空限制,有效解决经络腧穴和针灸教学中存在的“三难”问题—理论难懂、穴位难记、针法难练[5],从而到达对中医理论的传承。

1 人体经络腧穴虚拟实验的功能设计

“经络腧穴学”主要是研究人体体表之间,体表与脏腑之间,脏腑与脏腑之间的联系通路;研究腧穴的位置,腧穴与脏腑经络的关系以及用来诊断和防治疾病的一门学科。是否掌握好经络的循行、腧穴定位的准确与否,直接关系到临床疗效的优劣。因此,划经点穴操作是每个针灸专业学生必须具备的基本技能[6]。以经络腧穴实训大纲和实训项目为依据,充分发挥计算机技术、网络技术和三维虚拟现实技术在虚拟实验中的独特作用,对虚拟实验功能进行设计[7]。该虚拟实验主要功能。包括:①十二经络循行的演示功能。选择一个经络后,单击循行演示按钮,Web三维场景中会演示该经络的走向和所经过的腧穴;②腧穴的人体定位显示功能。输入一个腧穴后单击腧穴定位按钮,该腧穴就会在人体模型上以闪烁的方式显示;③常用腧穴的显示功能。单击该按钮后全身409个腧穴会以颜色变化的方式显示在人体模型上,当用鼠标接近某一腧穴时显示该腧穴的名称和简要介绍;④经络腧穴的知识库功能。当选择一条经络或一个腧穴后,文本框中会显示与其相关的知识,帮助学习者复习掌握相关的知识;⑤用户点穴操作功能。该功能模拟人体点穴操作,使用鼠标触碰人体模型上腧穴所在的正确位置,该腧穴就会以闪烁的方式显示几秒钟,同时伴有语音和文本提示功能;⑥模型的缩放功能。可以放大和缩小三维场景中的模型,利于用户对细节和整体的把握;⑦人体三维模型旋转功能。使用鼠标拖动滚动条或使用鼠标在场景中拖拽模型,可以使人体模型分别绕X、Y、Z轴360°旋转,方便观察和点击人体的全部经络和腧穴。⑧人体三维模型沿X、Y、Z轴的平移功能;⑨用户即时信息交流功能。实验平台提供Web在线及时信息交流模块,学习者可以通过实时在线交流,提出学习中遇到的问题,同时获得在线帮助信息,达到协作学习的目的(如图1所示)。

图1 经络腧穴虚拟实验功能设计

2 基于JAVA-VRML开发虚拟实验的流程

虚拟实验的开发是目的性很强的活动,必须要进行设计:一方面要依据教学大纲和实训大纲进行系统的功能设计,使虚拟实验对课程起到有效支撑作用;另一方面要依据软件工程学对开发过程、流程进行设计,保证虚拟实验开发的步骤清晰、功能明确、速度高效。开发基于JAVA-VRML虚拟实验的流程如图2所示。

图2 基于Web的三维虚拟实验开发流程

2.1界面设计

虚拟实验的界面设计应注重交互功能的设计,尽量做到版面布局简单,色彩搭配合理,不增加学习者的认知负荷。考虑到界面上的各种组件要和VRML进行通信,该虚拟实验的交互界面设计中采用JavaApplet小程序实现。

2.2建模

主要包括对实验场景、实验器材、交互物体的建模。简单物体的建模可以使用VRML编程的方式实现,不规则物体的建模通常使用3DsMax完成,然后使用Export命令导出为VRML 97格式的文件。

2.3模型的优化组合

包含三个方面的工作:一是优化三维模型的结构,在确保一定精度的情况下,减少模型的点、线、面的数量,有利于Web的传输;二是依据交互和动画设计的要求,使用VRMLPad手动调整物体的层级结构、群组关系、坐标位置等信息,保证交互控制的添加和动画的制作;三是利用压缩工具对模型文件进行压缩处理,同时使用USE/DEF语句引用相同模型,减小文件容量。

2.4交互设计

分为使用VRML传感器、插值器设计的简单交互和通过脚本编写接口(script authoring interface,SAI)、扩展编程接口(external authoring interface,EAI)接口引入JAVA语言的交互设计两部分。

2.5整合发布

利用EditPlus或Dreamweaver网页编辑工具将设计好的wrl格式的三维场景文件和JavaApplet的字节码文件设置在恰当位置,适当配以其他媒体元素建立完整的实验系统,以HTML格式存储并部署到服务器上。

3 创建经络腧穴网络三维虚拟实验的关键策略和技术

3.1界面设计技术

虚拟实验的界面是实验者获取虚拟场景信息、对虚拟场景进行交互操作以及反馈操作结果信息的窗口。因此,虚拟实验界面的设计要简单明了、功能结构清晰,该虚拟实验界面如图3所示。分为三个功能区域:经络腧穴知识库区、人体经络腧穴交互区及模型控制区。经络腧穴的知识库区注重信息的展示,主要包括经络的选择(如图3中①所示)、经络循行动画演示(如图3中①所示)、经络知识库(如图3中②所示)、腧穴定位显示(如图3中③所示)、腧穴知识库(如图3中④所示)。人体经络腧穴交互模块使用3Ds Max 2008设计,放置窗体的中心区域突出其重要性。模型控制区放置在窗体的右侧,符合实验者使用基于视窗软件的习惯,该区域包括全身腧穴显示(如图3中⑤所示)、点穴操作(如图3中⑥所示)、骨骼和脏腑模型导入(如图3中⑦所示)、模型缩放(如图3中⑧所示)、模型三自由度360°旋转(如图3中⑨所示)、模型沿X、Y、Z轴平移(如图3中⑩所示)、用户聊天信息显示(如图3中○11所示)、用户信息输入发布(如图3中○12所示)。

图3 经络腧穴界面设计

3.2建模策略

鉴于GB/T12346-2006《腧穴名称与定位》,该虚拟实验除对人体的十四经脉、361个经穴、48个经外奇穴进行建模和定位外,还对主要脏腑器官心脏、肝脏、肺、脾、肾、大小肠、胃、胆和膀胱做了建模和定位。因此,模型数量多、形状不规则、定位技术复杂,所以使用3Ds Max 2008建模最后导出为符合VRML规范的wrl格式文件。

3.2.1人体建模 当前,创建人体模型的方法主要有基于几何的方法、基于解剖学的方法以及基于数据获取的方法[8]。由于医学本身的特点,人体建模所需的数据获取成本非常高、技术难度大[9],在借鉴吸收已有人体经络腧穴建模的方法和经验基础上,综合考虑虚拟实验开发的实际性、经济性、可行性、技术性和科学性等方面的因素,提出了一种简单有效而又不失科学性的人体经络腧穴建模方法[10]。即以中医经络腧穴文献资料为依据,将相关的图片导入到3Ds Max中作为参照,使用“交叉连线和编辑面片”法逐次逼近参照物的人体建模法。经络腧穴网络三维虚拟实验的人体模型包括经络、腧穴、皮肤、肌肉、骨骼和主要脏腑器官。因此,模型数量较多,为使模型文件在网络上顺畅传输,采用有限元和低精度建模方法,即在保证模型科学性和真实性的前提下,适当减少模型的顶点数量。

3.2.2腧穴建模 中医典籍《素问》记载“穴”是经脉气血体现于体表的特殊部位,穴又被称为“气穴”,是气血汇聚之所;“穴”是针通行出入的门户;中医认为穴是点状的,经络是线状的[11]。同样,在《说文》中也认为穴是三维立体的。因此,该虚拟实验开发中采用微小的球体作为腧穴模型。为将腧穴模型准确定位到三维人体模型上,采用“二维图形坐标转三维坐标”的方法实现,即将中医针灸穴位挂图中的穴位坐标点转化到三维人体模型上,同时以GB/T12346-2006描述的穴位位置为主要参照,并适当结合临床中使用频率较高的“体表解剖标志定位法”、“骨度折量定位法”和“手指同身寸取穴法”辅助定位[12]。

3.2.3经络建模 中医理论认为经络是运行气血、联系脏腑和体表及全身各部的通道,是人体功能的调控系统。因此,我们可以把经络形象地比喻成管道,对经络建模可采用贝塞尔曲线工具连接已经定位的腧穴形成一条曲线,并给曲线一定粗度的方式实现。最后,可以给管状物赋以一定的材质,使其更加美观。图4显示的是对足阳明胃经和本经腧穴的建模效果。

图4 足阳明胃经络和本经腧穴模型

3.3模型的优化组合方法

模型的优化目的是要减小模型的体积,利于网络传输,减少用户的等待时间。该虚拟实验使用的优化技术主要有:①适当使用贴图减少模型顶点数;②使用VRML中DEF定义相同的模型,在使用相同模型的地方采用USE引入;③使用PROTO定义原型节点创建复杂模型;④利用VRML Pad压缩VRML文件。组合的目的是减小交互设计的难度,依据GB/T12346-2006标准对经络、腧穴模型命名,以方便使用程序对该模型的单独操作和控制;使用Group、Transform节点将功能、结构联系紧密的模型组合在一起以便于整体控制。

3.4交互设计技术

通常,VRML浏览器提供一些交互按钮,如walk、fly和study按钮改变用户的浏览方式,plan和pan按钮允许用户使用鼠标在场景(窗口)中移动物体,turn和roll按钮允许用户在场景(窗口)中按下鼠标拖拽旋转模型。但是,通过交互按钮实现模型的缩放、平移和旋转操作不是很灵活,因此该虚拟实验增加了Java-Applet对场景模型的控制功能。

3.4.1人体模型360°旋转 对人体模型全方位的观察有利于学生掌握经络腧穴的三维空间结构,因此虚拟实验中热体模型的三自由度旋转是非常重要的。要通过JavaApplet实现人体模型的360°旋转,首先使用DEF语法定义人体模型(Body)的Transform节点。由于该节点的rotation域属于exposed域,因此可以使用EventInSFRotation类的实例改变其值;然后使用Browser、BrowserFactory类获取当前浏览器实例,使用Node类获取人体模型(Body);最后使用handleEvent()方法监听滚动条事件[13],并将滚动条的当前值转化为旋转弧度传给EventInSFRotation类的实例,从而达到模型的旋转。由于JavaApple访问VRML场景要通过EAI接口,必须引入vrml.eai包。部分程序如下:

public class Right extends Applet{

public void start()

{try{

browser=BrowserFactory.getBrowser(this);

mybody=browser.getNode("Body");

……

}catch(Exception exception){e.printStackTrace();}}

public boolean handleEvent(Event event){

if(event.target==scrBar[0])

{set_x(event);

return true;

}else if(…)

……}

return super.handleEvent(event);}

public void set_x(Event event){

float[]aw=new float[4];

EventInSFRotation er=(EventInSFRotation)mybody.getEventIn("set_rotation");

aw[0]=1.0 f;aw[1]=0.0 f;aw[2]=0.0 f;

aw[3]=(float)scrBar[0].getValue()*3.6 f* 3.1415926f/180F;

er.setValue(aw);}

3.4.2点穴交互策略及实现 点穴交互设计策略是模拟具有真实感的交互操作,同时提供多种反馈形式。即用户单击“点穴测试”按钮后,人体模型上的腧穴全部隐藏,使用鼠标进行点穴操作,如果触碰位置正确,穴位模型发光显示,同时场景中显示腧穴名称和简单信息,并伴有语音提示。VRML中的TouchSensor传感器节点具有感知鼠标动作的功能,当用户鼠标指向某一包含TouchSensor节点的模型时,EventOut域的isActive、isOver发出TRUE值。因此,只要为每个穴位模型分别定义不同的接触传感器,并设置相应的路由即可实现点穴操作。部分程序如下:

DEF SP6 Transform{//定义三阴交(SP6)模型children[

DEF touch_SP6 TouchSensor{}//定义三阴交接触传感器节点

Shape{

appearance Appearance{

material DEFmaterial_SP6 Material{

diffuseColor 0,0,0//初始状态隐藏三阴交}}

……}〗}

DEFcolor ColorInterpolator{//定义颜色插值器key[0.0,0.5,1.0]

keyValue[1 0 0,0 1 0,0 0 0]}

DEF time TimeSensor{//定义时间传感器

cycleInterval 5.0

loop FALSE

startTime 10000}

ROUTE time.fraction_changed TO color.set_ fraction

ROUTE color.value_changed TO material_SP6. diffuseColor

ROUTE touch_SP6.touchTime TO time.startTime

3.5整合发布

当模型建立完毕、数据库创建完成、程序设计结束、系统的各个部分功能实现后,还需要将全部模块整合在一起,调试整体协同工作的性能。该系统最终是将三个模块的文件整合在一个HTML文档,以方便用户的访问和系统的发布。

4 系统运行环境

虚拟实验在Windows XP和WIN7(32位)平台上,安装Parallel Graphics公司的Cortona(或SGI公司的Cosmo Player)浏览器插件和微软Java虚拟机msjava后,通过IE10、Firefox、Maxthon浏览器访问经络腧穴三维虚拟实验主页,所有功能均可以实现。为保障VRML和JavaApplet的通讯,必须在Internet属性设置中启用Java(ms)控制台,如果已经安装Java(sun)则必须取消才能正常运行。

基于Web的经络腧穴学三维虚拟实验经过中医专业的师生使用后,对使用者进行面对面访谈,教师认为该虚拟实验是一种增强实践教学的有效手段,学生普遍表现出浓厚的学习兴趣,基本达到了开发该虚拟实验的目的。同时,师生也提出一些存在的问题和改进的意见及建议。该研究的后续工作将针对存在的问题继续完善,计划增加进针刺穴交互模块,模拟真实的针灸手法。

[1]德国汉堡大学医用数学和计算机学院医用计算机系.VOXEL-MAN[EB/OL].http://www.voxel-man.com,2016-01-15

[2]邵水金,严振国,庄天戈,等.基于VOXEL-MAN平台的危险穴位可视化研究[J].上海针灸,2007,26(6):34-36

[3]陈国栋,余轮.基于OSG的人体经络信息可视化平台[J].微计算机信息,2009,25(8):172-174

[4]乔赟,赵彩娇,吴健文,等.谈《经络腧穴学》实践教学改革[J].广西中医药大学学报,2014(1):134-135

[5]刘迈兰,袁宜勤,常小荣,等.研究型教学在针灸推拿学专业《经络腧穴学》教学中的探索与实践[J].中国针灸,2014(8):821-824

[6]广州中医药大学.《经络腧穴学》操作技能训练大纲[EB/ OL].http://xnps.gzhtcm.edu.cn/2005 jpkc/jlsxx/jinengdagang.htm,2015-01-15

[7]张慧燕,钟正,黄泳,等.经络腧穴在线教学平台建设的思考[J].中国中医药现代远程教育,2015(8):94-95

[8]刘延祥,严振国,王媛媛,等.基于VOXEL-MAN平台天池穴的三维可视化研究[J].时珍国医国药,2011(1):246-248

[9]夏时洪,王兆其.虚拟人合成研究进展[J].中国科学F辑:信息科学,2009,39(5):483-498

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

[11]白兴华.穴位与经络、针刺疗法的渊源关系[J].中国针灸,2008,28(3):199-201

[12]方进.指寸定位法探析[J].中国中医基础医学杂志,2015(5):568-570

[13]孙杰.基于Web的实验室仪器设备三维可视化管理系统设计与实现[J].实验室研究与探索,2013(3):230-234

Design and development of web-based three-dim ensional virtual experiment of M eridian and Acupuncture

Sun Jie1,2,Wu Chunyu31Department of Physics,Changji College,Changji831100;2College of Information Science and Engineering,Xinjiang University,Urumqi830046;3Jilin Pharmaceutical College,Jilin 132013,China

In view of the problems of lack of visualization and interaction in experiment teaching of Meridian and Acupuncture in Traditional Chinese Medicine using wall map and model,we have developed web-based three-dimensional virtual experiment of Meridian and Acupuncture,which can display humanmeridians and acupoints visually and multi-perspectively and has interactive operation on hitting vital points.It is based on the JAVA language which is an object-oriented programming language mainly used in Web and the VRML,a descriptive language of the three-dimensional virtual scene.Based on our development practice,this paper introduces the general process of developing the web-based virtual experiments.And it also elaborates on the key technologies of constructing the human acupoints model and strategies of enhancing VRML interactivity by JAVA.

Web;JAVA;VRML;meridian acupoint;virtual experiment

G434

A

1004-5287(2016)03-0277-05

10.13566/j.cnki.cmet.cn61-1317/g4.201603012

昌吉学院科研基金资助项目(2011SSQD013)

2016-01-05

孙杰(1976-),男,安徽阜阳人,讲师,博士研究生在读,主要研究方向:远程网络教育、虚拟现实技术和机器学习。

猜你喜欢

人体模型点穴腧穴
基于Unity3D技术的移动端数字人体腧穴仿真系统的设计与实现
基于内经理论的敏化腧穴“快然”特征探讨*
葵花点穴手
看清“点穴减肥”的真相
《腧穴主治·国家标准》中月经病的“同功穴”分析
中医针灸腧穴与泰医按摩穴的比较初探
基于乘员体型的车辆安全性研究
Family makes 45—foot icicle in front yard
体验创新:3D人体扫描仪测三围
人体模型内置摄像头为数据收集