APP下载

二三维一体化的人体经络查询系统开发与实现

2022-04-11汤雄袁崇皓

电脑知识与技术 2022年5期

汤雄 袁崇皓

摘要:近年来,中医进一步普及,经络学说也越来越获得应用与关注。二三维一体化的人体经络查询系统拟为针灸按摩临床医疗以及针灸教学服务,采用文献综合法进行研究,利用MapGIS强大的数据管理能力和灵活的开发方式,以MapGIS 10为开发平台,通过扫描得到人体经络栅格数据,并在ArcGIS里面进行手工数字化得到经络、穴位矢量数据和疾病表格等数据,以及在3ds MAX 2010里面手工建立人体经络穴位模型。将所有二维和三维数据等信息存储在GDB Catalog里面,利用MapGIS插件式开发且结合visual studio2010的C#语言自主开发MapGIS插件以实现系统二三维联动、经络循行等功能,将为人体经络信息化研究提供一种全新的方向与思路,同时有望为针灸按摩的学习提供一个便捷高效的学习平台。

关键词:经络腧穴;插件式开发;MapGIS;二三维一体化;人体经络信息化

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2022)05-0073-03

经络学说在中医中占据极其重要的地位。传统中医认为,经络是就像人体内气血的“流通道路”,而“穴位”就像通道的十字路口,纵横穿梭在经络中,与经络共同组成人体的“气血交通网”[1]。而近年来,随着中医学的进一步普及,越来越多的人开始去了解、学习中医学,而作为中医最不可或缺的经络穴,也逐渐揭开了神秘的面纱,国内的医学、教育学、计算机学等行业也开始了对“经络学”的探索,甚至于国外也开始了对“经络学”的深刻研究[2]。

本系统以MapGIS 10作为开发平台,设计实现本系统,采用C/S架构,并利用MapGIS插件式开发且结合Visual Studio2010的C#语言自主开发MapGIS插件以实现系统功能,为人体经络信息化研究提供一种方向与思路,同时有望为针灸按摩以及教学中的初学者提供一个便捷高效的学习平台,其空间查询、属性查询、二三维联动、三维经络动态循行等功能可以帮助用户进行有效的理解与记忆,是人体经络信息化发展的一个新方向。

1 MapGIS插件式开发技术应用研究

MapGIS插件式开发因为其灵活多变,开发方式多样的特点,被大众所接受。廖婧[3]利用MapGIS K9组件式开发技术,通过直接拖拽其已有的控件和组件搭建一个简洁、交互性强的GIS平台,从时间和空间上全面实现对滑坡灾害的预测,有力协助防灾减灾工作的开展与实施;吴德华[4]运用MapGIS 10良好的数据管理以及空间分析能力,采用“框架式”与“插件式”结合的方法,实现对二维地图数据和三维景观数据的统一管理,实现城市信息的资源共享以及可持续发展;汤雄[5]基于MapGIS 10的T-C-V结构,将GIS技术引入盲道的信息化建设中,科学管理城市盲道。周宇阳[6]采用 C#语言进行 MapGIS 10 Objects 桌面端上的二次開发,辅助加强湖南省测绘坐标转换 HNCOOR 软件的大地坐标转换功能,提高了矢量文件和坐标系统转换精度,减少了人工操作引起的误差;徐晓庆[7]采用中地数码的 MapGIS 10产品进行二次开发,能够满足不访问互联网以及分布式用户对于GIS的一致性、实时性、统一性的数据环境的需求,能够保证气象部门在制图时有关资料的保密而不外泄,满足有关保密性的需求。

2 人体经络数据采集与处理

2.1 二维数据

影像数据经比对国家标准经穴部位挂图、网站信息和相关经络穴位典籍,择优进行使用。系统图形数据经人体相对坐标系校正,保证量取的每一个尺寸符合医学标准人体。人体相对坐标系根据2000年国民体质监测公报中公布的中国成年男性标准身高(169.7cm),按照国家标准人体模型长宽比(22:82)换算得到,最终确定坐标系中一个标准人长宽比为(0.455:1.697),对购买的国家标准经穴部位挂图进行扫描得到人体经络栅格数据,设置人体相对坐标系为“Xian_1980_3_Degree_GK_CM_102E”,并按标准个人长宽比校正配准。然后依次新建“穴位信息”点图层、“经络信息”线图层,依照数据字典设置其有关字段信息,并对照栅格数据依次进行地图矢量化后,对照按经络穴位典籍文字输入属性,数字化后得到总经络矢量线数据、矢量穴位矢量点数据、疾病表格数据。如图1所示:

2.2 三维数据

三维数据是指人体经络穴位模型,以扫描得到人体经络栅格数据为标准建立模型。首先将正面、侧面以及背面分别单独裁剪出来,导入到3Ds MAX中。接下来从胸部开始,拉一个“平面”,格数为3X3,在各视图中对应好背景的位置,将其转换为“可编辑多边形”,在右视图和前视图中调整各点的位置,并将这一边的胸部沿X轴进行镜像,生成另一半,然后在堆栈区选择“边”进入边的子物体,选择下方三条边,按住“SHIFT”键向下拉,这样我们可以看到拉出了三个面,再往下拉一下。在堆栈区选择“顶点”,调整各点的位置后,进入“边”选择下面三条边,继续向下拉三次,直到腹底,进入“顶点”,调整各点的位置,这样就可以得出一个胸部和腹部的大体轮廓。然后从后视图,也就是人体的背面选中上边的3条线,向上3次拉伸出斜方肌,三角肌和肩胛肌群,调整各点,回到前视图中选择上面的4条边向上拉伸出锁骨,胸锁乳突肌,和斜方肌,回到后视图中,把斜方肌向上拉出,也就是后脖子,选中三条线,拉伸,与前视图中的点合并。这样,一个大体的身躯轮廓就出来了[8]。

采用同样的方法,建立头部、面部以及手部的模型后进行光滑处理得到人体模型。然后依照扫描得到人体经络栅格数据为标准,将人体穴位假设为球体,建立穴位模型。模型全部建完后,成组,导出为obj格式,如图2所示。

3 二三维一体化的人体经络查询系统设计

3.1 结构设计

本系统运用面向服务的系统工程思想进行需求分析、建模和系统设计,使用“面向服务的GIS架构技术”指导系统开发。系统总体构架包括各个数据管理模块软件的总体设计与集成等内容。系统框架如图3所示,系统通过访问最底层的 “人体经络数据库”实现对“穴位信息”“经络信息”“经络循行信息”的操作,并且在本系统中显示用户需要的数据,提供了交互式操作的界面。位于本系统和人体经络数据库中间的业务逻辑层包括MapGIS 10插件库中的MapGIS.GDBManager.Plugin、MapGIS.DataConvert.Plugin、MapGIS.MapEditor.P-lugin、MapGIS.TDEEditor.Plugin等插件以及自行编译生成的桌面插件:TDE_Data-Trans_Plugin、TDE_SceneRefMap_Plugin和TDE_AnimationModel_Plugin,在数据交换时,该层将继承自表示层的操作命令传递给数据层,起到承上启下的作用。

3.2 功能模块设计

本系统设计了地图基本操作、数据查询、二三维联动、三维动态经络循行四个主体功能。地图基本操作主要是方便用户对人体经络穴位的整体掌握。地图基本操作主要包括地图文档的导入、导出、新建以及删除,地图的缩放、平移、更新和复位以及图层的增加、删除、导入导出等;数据查询包括属性查询和空间查询,在以往GIS查询操作功能的基础上,新增了将结果直接生成为一个新图层的功能,图层的存放位置可默认存放在本地数据库,也可由用户进行自定义,存储用户的查询记录以便下次使用;二三维联动功能包括导入三维模型以及实现二维地图文档与三维人体经络穴位模型同步运动;三维动态经络循行可以将循经感传现象动态的直观地显示在计算机上。系统的功能模块图如图4所示。

4 系统实现

系统界面主要分为主界面和各功能界面,各界面整体布局实现系统,但各界面又独自完成各自的功能,互不影响。系统主界面分为四部分,从上到下依次是:菜单栏、工具栏、图层树、地图显示窗口、数据库树和状态栏,如图5所示,供用户进行基本的地图操作和显示地图文件。

以三维动态经络循行模块为例。双击菜单栏的下拉命令,弹出动画轨迹对话框,经络循行将以动画形式进行演示。G3DpathOperate.cs三维路径操作类对象监听到鼠标双击事件,通过GetCamera接口获取当前场景的相机,在该监听事件后通过回调函数设置路径节点等信息,然后将交互拾取到的点进行窗口坐标转逻辑坐标,并基于转换后的坐标点搭建路径漫游的节点,并通过G3DpathOperate的SetPathInfo接口、SetInsertInfo接口设定路径信息和差值信息,利用DrawPathInfo接口将路径绘制出来。最后播放经络循行的动画,通过G3DAnimFLY.cs的CreateAnimFLY接口创建动画,最后调用Begin()方法开始经络循行。在插件命令Command类的OnCreate()方法中限定该功能激活的限制条件是场景必须处于激活状态,并在OnClick()方法中设置轨迹动画窗体显示方式是停靠窗口。首先初始化G3DpathOperate.cs三維路径操作类对象,监听鼠标双击事件,并先通过GetCamera接口获取当前场景的相机,以此为基础,初始化G3DpathOperate.cs对象,在该监听事件后通过回调函数设置路径节点等信息,然后将交互拾取到的点进行窗口坐标转逻辑坐标,并基于转换后的坐标点搭建路径漫游的节点,并通过G3DpathOperate的SetPathInfo接口、SetInsertInfo接口设定路径信息和差值信息,利用DrawPathInfo接口将路径绘制出来。最后播放经络循行的动画,通过G3DAnimFLY.cs的CreateAnimFLY接口创建动画,最后调用Begin()方法开始经络循行,End()方法暂停经络循行,如图6和图7所示。

5 结束语

本系统带的实现遵循软件工程的软件生命周期设计方法,使用文献综合法进行研究,使用MapGIS插件式开发与C#.Net + MapGIS K10 Plugin开发桌面插件相结合的方法实现本系统。在二维基本功能的基础上,开发设计出三维经络循行演示与虚拟仿真体验,在人体经络GIS信息系统方面,是一种新的实现方式,能为后来研究者提供一定的借鉴。

参考文献:

[1] 王枞,蔡铭洁,涂序彦.经络系统与信息网络研究[J].中国医学影像技术,2003,19(S1):160-162.

[2] 吴德华.面向针灸临床治疗与教学的人体经络空间决策支持系统研究[J].中国针灸,2016,36(1):95-98.

[3] 廖婧,潘以恒,吴丽清,等.基于MapGIS组件式开发的河南省滑坡监测预警系统设计与实现[J].安全与环境工程,2016,23(5):126-132.

[4] 吴德华,谢家豪,罗成,等.基于MapGIS 10的二三维城市规划地理信息平台设计[J].湖南城市学院学报(自然科学版),2015,24(1):51-53.

[5] 汤雄,吴德华,黄龙,等.基于纵生式开发模式的城市盲道管理信息系统设计与实现[J].电脑知识与技术,2019,15(7):23-24.

[6] 周宇阳.基于MapGIS 10编程辅助HNCOOR软件转换矢量文件坐标系[J].国土资源导刊,2017,14(4):77-80.

[7] 徐晓庆,姜娜娜,王凡,等.基于MapGIS二次开发的气象专题图绘制[J].电脑编程技巧与维护,2015(19):73-75.

[8] max人体建模教程[EB/OL].[2021-05-22].http://wenku.baidu.com/view/84790f84bceb19e8b8f6bab4.

【通联编辑:谢媛媛】

收稿日期:2021-11-08

作者简介:汤雄(1997—),女,湖南益阳人,助理工程师,学士,研究方向为空间数据库与空间决策支持;袁崇皓(1998—),男,广东广州人,学士,主要研究方向为地理信息工程。