三维针灸虚拟教学系统的设计系统研究
三维针灸虚拟教学系统的设计系统研究 1 引言 早在2000多年前,中国便诞生了一部关于针灸经络理论 的医学巨著《灵枢》,在不断的实践过程中发现针灸是一种 操作简便、费用低、专病疗效显著的方法,为中国老百姓解 决了很多疾苦[1]。然而,由于训练方式受到很多条件的制 约,现如今培养一名合格的针灸医疗师却不是一件简单的事 情。传统的训练方式大多采用二维挂图或实体模型,所呈现 出来的信息往往是直观的不够具体,具体的不够直观,大大 影响了学习者的训练效率。基于虚拟现实技术的三维针灸虚拟教学系统将3Ds Max 软件的建模技术和Virtools软件的交互技术巧妙结合,在弥 补了传统训练方式不足的情况下,为学习者搭建一个逼真的 虚拟训练环境,并且将枯燥的不易理解的理论知识宏观化, 在一定程度上提高了学习者的学习兴趣。
2 三维针灸虚拟教学系统的总体设计 三维针灸虚拟教学系统从结构上可以分为虚拟实验室 学习和虚拟针灸训练两大部分。学习者先在虚拟实验室学习 针灸相关基础知识,当学习完毕后进入到虚拟针灸训练模块 进行扎针训练。为了更加符合学习者的认知过程,在进行教 学设计过程中将理论知识设计成由简入深、由浅到深的结构, 设置为不同的功能模块,教授不同深度的知识,进而帮助学 习者形成一个完整的经络知识体系,以达到增强训练效果的目的。
系统结构设计 三维针灸虚拟教学系统从结构上可以分 为两大部分:虚拟实验室学习和虚拟针灸训练。为了给学习 者提供一个逼真的训练环境,三维针灸虚拟教学系统利用 3Ds Max软件建模技术为学习者搭建虚拟实验室。虚拟场景 是模拟真实的教学环境,学习者可以通过鼠标或键盘的操作 控制虚拟场景中人物角色,从而让学习者在虚拟场景中完成 针灸理论知识的学习。这不仅体现了虚拟现实技术沉浸性的 特点,为学习者创造了一个逼真的学习环境,还增强了学习 者的学习兴趣。虚拟针灸训练模块则是系统的核心部分,主 要包括虚拟训练和巩固训练两部分。该模块将人体以三维的 形式呈现给学习者,并且将人体的经络穴位信息宏观化,帮 助学习者进一步掌握经络知识。此外,学习者可以对三维人 体模型进行放大、缩小、旋转等操作,以帮助学习者将不容 易理解的枯燥的知识化微观为宏观,以便学习者更好地掌握 人体经络结构。图1为系统功能图。
系统功能设计 1)虚拟实验室学习的功能设计。虚拟实验室场景是模 拟真实的教学环境,让学习者在虚拟场景中完成针灸理论知 识的学习。系统借助于投影仪幕布将针灸理论知识以幻灯片 的形式呈现给学习者,模拟真实的教学情境。学习者通过键 盘或者鼠标控制场景中的人物角色,进行虚拟实验室的漫游, 并完成针灸理论知识的学习。在虚拟实验室场景中,学习者在通过鼠标或键盘控制人物角色过程中,可能会无意识地触 发一些事件,系统会根据不同的操作做出相应的反馈信息。
比如,当人物角色靠近投影仪的遥控器时,系统会提示学习 者点击遥控器开启投影仪。为了使漫游效果更真实,系统添 加了数个摄像机,通过摄像机的切换呈现不同视野的场景。
2)虚拟针灸训练功能设计。虚拟针灸训练包括两部分:
虚拟训练和巩固训练。这部分都是以三维人体模型为基础, 学习者可控制人体模型旋转、放大、平移等以使得观察更清 晰。此模块包括十四经穴、经外奇穴、要害穴位和五脏六腑 四部分。当点击不同选项时,系统将所点选项的子菜单内容 在系统的右侧边缘弹出,若所点选项中无子菜单,则将信息 直接呈现在三维人体模型上。图2为系统虚拟针灸训练功能 设计框架,即:当点击“十四经穴”下的“十二正经”选项 时,系统将人体十二正经的经络名称在系统右侧的弹出菜单 窗口呈现;
当学习者选择其中一条经络名称时,在三维人体 模型上显示该经络上的所有穴位;
当点击下一条经络名称时, 将上一条经络上所有穴位隐藏,显示当前经络上所有穴位;
当点击经络上穴位时,所点穴位变大,并且显示该穴位的信 息;
当点击下一穴位时,之前所点的穴位恢复正常大小,并 且将此次所点穴位放大,同时显示其信息,以此类推。
系统的巩固训练部分则是当学习者掌握了一定的理论 之后,为了巩固其所学知识而设置的模块。该模块的功能是 给学习者设置一定的情境,让学习者结合病例点合适的穴位进行医治,帮助学生更好地将理论与实际相结合。
3 三维针灸虚拟教学系统的实现 三维针灸虚拟教学系统的开发模块主要由虚拟场景和 交互设置两部分组成。虚拟场景就是利用3Ds Max软件根据 真实的教学环境进行虚拟实验室的搭建,然后将制作好的场 景导出为.nmo格式的文件,进而导入到Virtools软件中进行 交互设置,从而实现不同功能的交互。
虚拟场景的构建 由于每一种建模方式都具有各自的优 势,故在虚拟场景模型的搭建过程中采用多种建模方式,主 要包括放样、布尔运算、倒角、挤压等。将制作完的模型进 行贴图,以增强模型的真实感。图3为虚拟实验场景。
交互设置 三维针灸虚拟教学系统中交互的设置是一个 重难点,系统中包含多种触发事件,下面以该系统中部分交 互功能的设置为例进行说明。
1)角色控制及碰撞检测。在虚拟场景中,用户通过控 制鼠标键盘控制虚拟的人物角色进行相应的操作,使用 Unlimited Controller模块设置人物角色的动作,并且结合 Keyboard Mapper模块实现通过操控键盘上的↑、↓、←、 →四个箭头,控制前进、后退、旋转的操作。为了保证人物 角色是站立在地板上,使用Enhanced Character Keep On Floor模块将人物锁定在地板上,并添加Object Slider模块 和Prevent Collision模块为角色添加碰撞效果。
2)设置提示信息。在虚拟场景中存在多种触发事件,当角色靠近某一物体,如靠近场景中的遥控器时,系统提示 用户“点击遥控器,实现视频的播放”的信息,来告诉学习 者该物体的作用。在实现此交互功能时,需将场景中会与角 色发生碰撞的物体放到一个组中,使用Get Nearest In Group 模块判定角色与哪个碰撞物体的距离最近,然后利用Test模 块判断距离。Set Position模块设置提示信息的位置,实现 当人物角色与碰撞物体的距离小于等于10时,利用Show模块 显示所提示的信息。
3)弹出选项内容。以学习者选择“十四经穴”下的“十 二正经”按钮为例来说明,当学习者选择“十二正经”按钮 时,从系统的右侧弹出“十二正经”菜单下所包含的十二条 经络的名称。使用2D Picking模块和Test模块判定选定的是 否是“十二正经”按钮,如果点选的是此按钮,则弹出此按 钮下所包含的内容,并且使用Set Position模块设置所在位 置。为了使弹出效果不那么生硬,采用插补器Interpolator 模块和贝兹曲线Bezier Progression模块将弹出效果平滑化。
4)穴位信息的显示及缩放。当用户选择某一穴位时, 将所点穴位的名称及穴位所在位置显示出来,并且当用户点 击该穴位时,穴位放大,再次点击穴位恢复原状。在进行交 互之前首先建立一个存储穴位信息的阵列,然后利用Mouser Waiter模块和2D Picking模块判定点选物体,使用Row Search模块在穴位阵列中搜寻穴位信息,利用Get Row模块 取出穴位名称的信息,并且利用Text Display模块将信息显示,使用Sequence模块和Scale模块完成放大还原的效果, 如图4所示。
4 小结 针灸这门学科不仅需要学习者具有扎实的理论基础,还 要求学习者具有丰富的实践经验。根据传统实验教学中存在 的问题,利用虚拟现实技术给学习者创造一种新的针灸训练 环境,即虚拟实验环境,给学习者创造一个不受时间、空间 限制,并且可重复操作的虚拟实验环境,将新技术与中医知 识有机结合,在很大程度上提高了学习者的积极性,增强了 训练效果。
参考文献 [1]孙彦资.针灸发展现状研究[J].辽宁中医药大学学 报, 2012,14(1):175-176. [2]王骁池,方志刚,鲍福良,等.基于虚拟现实的虚拟 针灸医疗训练系统[J].仪器仪表学报,2009,30(10):
170-173.