◆曹瀝之 石連栓
早在2000多年前,中國便誕生了一部關于針灸經絡理論的醫學巨著《靈樞》,在不斷的實踐過程中發現針灸是一種操作簡便、費用低、專病療效顯著的方法,為中國老百姓解決了很多疾苦[1]。然而,由于訓練方式受到很多條件的制約,現如今培養一名合格的針灸醫療師卻不是一件簡單的事情。傳統的訓練方式大多采用二維掛圖或實體模型,所呈現出來的信息往往是直觀的不夠具體,具體的不夠直觀,大大影響了學習者的訓練效率。
基于虛擬現實技術的三維針灸虛擬教學系統將3Ds Max軟件的建模技術和Virtools軟件的交互技術巧妙結合,在彌補了傳統訓練方式不足的情況下,為學習者搭建一個逼真的虛擬訓練環境,并且將枯燥的不易理解的理論知識宏觀化,在一定程度上提高了學習者的學習興趣。
三維針灸虛擬教學系統從結構上可以分為虛擬實驗室學習和虛擬針灸訓練兩大部分。學習者先在虛擬實驗室學習針灸相關基礎知識,當學習完畢后進入到虛擬針灸訓練模塊進行扎針訓練。為了更加符合學習者的認知過程,在進行教學設計過程中將理論知識設計成由簡入深、由淺到深的結構,設置為不同的功能模塊,教授不同深度的知識,進而幫助學習者形成一個完整的經絡知識體系,以達到增強訓練效果的目的。
系統結構設計 三維針灸虛擬教學系統從結構上可以分為兩大部分:虛擬實驗室學習和虛擬針灸訓練。為了給學習者提供一個逼真的訓練環境,三維針灸虛擬教學系統利用3Ds Max軟件建模技術為學習者搭建虛擬實驗室。虛擬場景是模擬真實的教學環境,學習者可以通過鼠標或鍵盤的操作控制虛擬場景中人物角色,從而讓學習者在虛擬場景中完成針灸理論知識的學習。這不僅體現了虛擬現實技術沉浸性的特點,為學習者創造了一個逼真的學習環境,還增強了學習者的學習興趣。虛擬針灸訓練模塊則是系統的核心部分,主要包括虛擬訓練和鞏固訓練兩部分。該模塊將人體以三維的形式呈現給學習者,并且將人體的經絡穴位信息宏觀化,幫助學習者進一步掌握經絡知識。此外,學習者可以對三維人體模型進行放大、縮小、旋轉等操作,以幫助學習者將不容易理解的枯燥的知識化微觀為宏觀,以便學習者更好地掌握人體經絡結構。圖1為系統功能圖。

系統功能設計
1)虛擬實驗室學習的功能設計。虛擬實驗室場景是模擬真實的教學環境,讓學習者在虛擬場景中完成針灸理論知識的學習。系統借助于投影儀幕布將針灸理論知識以幻燈片的形式呈現給學習者,模擬真實的教學情境。學習者通過鍵盤或者鼠標控制場景中的人物角色,進行虛擬實驗室的漫游,并完成針灸理論知識的學習。在虛擬實驗室場景中,學習者在通過鼠標或鍵盤控制人物角色過程中,可能會無意識地觸發一些事件,系統會根據不同的操作做出相應的反饋信息。比如,當人物角色靠近投影儀的遙控器時,系統會提示學習者點擊遙控器開啟投影儀。為了使漫游效果更真實,系統添加了數個攝像機,通過攝像機的切換呈現不同視野的場景。
2)虛擬針灸訓練功能設計。虛擬針灸訓練包括兩部分:虛擬訓練和鞏固訓練。這部分都是以三維人體模型為基礎,學習者可控制人體模型旋轉、放大、平移等以使得觀察更清晰。此模塊包括十四經穴、經外奇穴、要害穴位和五臟六腑四部分。當點擊不同選項時,系統將所點選項的子菜單內容在系統的右側邊緣彈出,若所點選項中無子菜單,則將信息直接呈現在三維人體模型上。圖2為系統虛擬針灸訓練功能設計框架,即:當點擊“十四經穴”下的“十二正經”選項時,系統將人體十二正經的經絡名稱在系統右側的彈出菜單窗口呈現;當學習者選擇其中一條經絡名稱時,在三維人體模型上顯示該經絡上的所有穴位;當點擊下一條經絡名稱時,將上一條經絡上所有穴位隱藏,顯示當前經絡上所有穴位;當點擊經絡上穴位時,所點穴位變大,并且顯示該穴位的信息;當點擊下一穴位時,之前所點的穴位恢復正常大小,并且將此次所點穴位放大,同時顯示其信息,以此類推。

系統的鞏固訓練部分則是當學習者掌握了一定的理論之后,為了鞏固其所學知識而設置的模塊。該模塊的功能是給學習者設置一定的情境,讓學習者結合病例點合適的穴位進行醫治,幫助學生更好地將理論與實際相結合。
三維針灸虛擬教學系統的開發模塊主要由虛擬場景和交互設置兩部分組成。虛擬場景就是利用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所示。
針灸這門學科不僅需要學習者具有扎實的理論基礎,還要求學習者具有豐富的實踐經驗。根據傳統實驗教學中存在的問題,利用虛擬現實技術給學習者創造一種新的針灸訓練環境,即虛擬實驗環境,給學習者創造一個不受時間、空間限制,并且可重復操作的虛擬實驗環境,將新技術與中醫知識有機結合,在很大程度上提高了學習者的積極性,增強了訓練效果。
[1]孫彥資.針灸發展現狀研究[J].遼寧中醫藥大學學報,2012,14(1):175-176.
[2]王驍池,方志剛,鮑福良,等.基于虛擬現實的虛擬針灸醫療訓練系統[J].儀器儀表學報,2009,30(10):170-173.
[3]楊宇航,李志忠.基于虛擬現實技術的中醫針灸教學系統[J].系統仿真學報,2007,19(10):2379-2383.