許玉龍,張佩江,王忠義,盛夢園,趙玉梅,王兵營
(1.河南中醫(yī)藥大學(xué)信息技術(shù)學(xué)院,河南 鄭州 450046; 2.鄭州大學(xué)信息工程學(xué)院,河南 鄭州 450003;3.河南中醫(yī)藥大學(xué)第三附屬醫(yī)院,河南 鄭州 450046)
中醫(yī)是中國文化的國粹之一,而人體經(jīng)絡(luò)穴位是中醫(yī)最具特色的內(nèi)容。但人體經(jīng)絡(luò)穴位數(shù)目龐大,在學(xué)習(xí)實踐中難于記憶。為此,中醫(yī)學(xué)者們制作了人體穴位的模擬實物及掛圖,準確標出穴位的位置和名稱,這樣對記憶起到了一定輔助作用,但由于較為枯燥,還是存在學(xué)習(xí)難、記憶難問題。隨著計算機、三維仿真技術(shù)的發(fā)展[1],相關(guān)專業(yè)人員不斷地研究,試圖制作出更具形象化的經(jīng)絡(luò)穴位人體模型。
相關(guān)學(xué)者提出將數(shù)字化引入針灸學(xué)領(lǐng)域,使針灸學(xué)三維立體表達模式歷經(jīng)數(shù)代得以實現(xiàn)[2]。并以此為平臺,促進針灸學(xué)在經(jīng)絡(luò)、腧穴實質(zhì)研究,使得針灸治療機理探討及臨床教學(xué)方面有新的突破[3]。
鄭紹華等人[4]通過樣條曲線在計算機中擬合了人體經(jīng)絡(luò)線,并利用VC++和OpenGL(Open Graphics Library)三維圖形庫,設(shè)計了一種在三維環(huán)境下人機交互式的操作來引導(dǎo)經(jīng)絡(luò)循行動畫,達到實時仿真的效果,但只是對人體經(jīng)絡(luò)線進行了三維仿真。黃詠等人[5]將經(jīng)絡(luò)研究成果與圖形學(xué)結(jié)合,使用Maya軟件和微軟工具包,構(gòu)建了動態(tài)演示的三維虛擬人體模型。該模型具有良好的視覺效果,為經(jīng)絡(luò)和針灸的教學(xué)演示提供幫助。類似地,楊宇航等人[6]將虛擬現(xiàn)實應(yīng)用于針灸的教學(xué)與訓(xùn)練,他們使用三維掃描和逆向工程方法,建立三維人體模型VRML文件,然后建立VRML格式小球表示模型上的穴位點,最后將人體模型、穴位小球、經(jīng)絡(luò)線以及穴位說明文件整合,實現(xiàn)了針灸教學(xué)輔助系統(tǒng)。
現(xiàn)有虛擬人體技術(shù)反映了解剖學(xué)上的細節(jié),但未能對經(jīng)絡(luò)和中醫(yī)人體穴位解剖進行描述。針對該問題,羅群芳等人[7]以人體穴位真實標本為基礎(chǔ),用3DMAX技術(shù)建立穴位定位及針刺方向描述模型,以及層次型文本知識體系解釋模型。類似地,在三維人體模型數(shù)據(jù)的讀取、顯示、穴位信息顯示,皮膚變形仿真及虛擬針灸過程仿真設(shè)計方面,相關(guān)學(xué)者[8-9]進行了深入研究與探索。陳沁[8]把中醫(yī)經(jīng)絡(luò)和計算機可視化技術(shù)相結(jié)合,開發(fā)了三維人體經(jīng)絡(luò)可視化展示系統(tǒng),并將模型顯示、經(jīng)絡(luò)顯示等功能移植到移動設(shè)備。毛燁[9]結(jié)合圖形學(xué)和三維動畫技術(shù),在虛擬人體經(jīng)絡(luò)系統(tǒng)中對針灸操作過程進行仿真,尤其是通過皮膚變形效果來模擬針灸過程中力的作用。長期以來,在中醫(yī)經(jīng)絡(luò)腧穴學(xué)實驗教學(xué)中,所用掛圖和模型缺乏交互性,孫杰等人[10]針對該問題,采用三維虛擬場景描述的VRML語言,開發(fā)了可直觀、形象、多視角展示的人體經(jīng)絡(luò)腧穴系統(tǒng)。最近,張季等人[11]在Unity3D平臺上設(shè)計了數(shù)字人體腧穴教學(xué)信息系統(tǒng),為經(jīng)絡(luò)、腧穴教學(xué)提供了新的方法和手段,也為中醫(yī)針刺知識普及提供了新的途徑。
利用信息技術(shù)對人體經(jīng)絡(luò)穴位的研究屬于交叉學(xué)科研究領(lǐng)域,也是近年來研究的熱點。但總結(jié)上述成果發(fā)現(xiàn):1)現(xiàn)有的虛擬人體經(jīng)絡(luò)模型主要用于教學(xué),經(jīng)絡(luò)和穴位都是以明文的方式在模型表面顯示,較少模型具有穴位測試與練習(xí)功能。2)模型較少具有交互功能,目前,隨著觸控一體機、展示機等觸摸式設(shè)備的普及,如果模型能夠運行在大型的觸摸展示設(shè)備,并具有較好的人機交互功能,則將有較高的應(yīng)用和推廣價值。
針對上述存在問題,本文基于OpenGL和MFC(Microsoft Foundation Classes)技術(shù),設(shè)計開發(fā)可交互式的虛擬人體經(jīng)絡(luò)穴位模型。首先采用3DMAX建立人體模型以及穴位點、經(jīng)絡(luò)線段,然后利用OpenGL結(jié)合MFC類庫開發(fā),對模型、穴位點、經(jīng)絡(luò)線加載和渲染,并部署運行到觸摸式一體機上。并且詳細闡述系統(tǒng)實現(xiàn)的框架和流程,以及在開發(fā)過程中涉及的關(guān)鍵技術(shù),如使用動態(tài)方向調(diào)整來顯示穴位點名稱,使用全局函數(shù)傳遞消息來提高模型加載響應(yīng)的效率,給出觸摸點坐標快速獲取的方法。模型具有動態(tài)人機交互功能,用手指觸摸能夠?qū)崿F(xiàn)模型的放大、縮小、旋轉(zhuǎn)、定穴、經(jīng)絡(luò)循環(huán)等操作。模型具有穴位測試功能,該功能下所有穴位信息在人體表面均不顯示,當(dāng)手指觸發(fā)到正確的穴位位置時,其名稱才顯示并播放穴位信息。模型系統(tǒng)具有較好的交互性,能夠幫助針灸專業(yè)學(xué)生、醫(yī)療人員學(xué)習(xí)和測試經(jīng)絡(luò)穴位信息。
在對經(jīng)絡(luò)穴位定位時,選取標準亞洲男性作為基礎(chǔ)模型,依據(jù)“同身寸”概念建立與基礎(chǔ)模型密切相關(guān)的三維坐標[12]。該坐標系是一個絕對坐標系,它與實際尺寸的對應(yīng)關(guān)系與三維數(shù)據(jù)分辨率有關(guān),與圖像的具體內(nèi)容無關(guān)。同時,嚴格依照經(jīng)絡(luò)腧穴的國家標準,對經(jīng)絡(luò)和穴位進行定位及標注[13-14]。
MFC是微軟的類庫,以C++類形式封裝了Windows的API,且包含應(yīng)用程序框架,減少開發(fā)人員的工作量。它包含大量Windows句柄封裝類、內(nèi)建控件和組件封裝類[15]。讓用戶容易地使用微軟專業(yè)的SDK來進行應(yīng)用程序開發(fā),同時又集成了C++運行高效的優(yōu)勢。因此,本文采用MFC類庫開發(fā)用戶交互界面模塊,并利用函數(shù)回調(diào)機制實現(xiàn)模塊間的通信,相關(guān)實例證明該方法可有效提高軟件的效率和穩(wěn)定性[16]。
但是,僅有界面交互模塊不能滿足三維人體模型的動態(tài)渲染,本文采用OpenGL來實現(xiàn)模型的渲染。OpenGL是一個跨編程語言、跨平臺的編程接口,也是一個功能強大、調(diào)用方便的底層圖形庫[17-18]。它可以與Visual C++緊密對接,保證算法的正確性和可靠性。它能實現(xiàn)點、線、復(fù)雜的三維物體建模,也可以實現(xiàn)平移、旋轉(zhuǎn)等變換,其變換方法有利于減少算法的運行時間,提高三維圖形的顯示速度。
因此,本文在Visual Studio開發(fā)環(huán)境下,利用OpenGL和MFC優(yōu)勢互補實現(xiàn)人體模型的構(gòu)建和交互,仿真實現(xiàn)三維人體模型并高效加載渲染模型以及動態(tài)人機交互的目的。
建立初始模型是一個三維的亞洲裸體男性,使用3DMAX建立初始人體模型,人體模型的表面光滑如圖1所示。注意初始模型表面沒有穴位點等任何信息。
圖1 三維人體模型圖
在中醫(yī)腧穴專業(yè)教師的指導(dǎo)下,依據(jù)經(jīng)絡(luò)穴位國家標準[12],利用Maya軟件建立穴位點和經(jīng)絡(luò)線段,建立方法如下:
1)導(dǎo)入人體基礎(chǔ)模型,建立穴位點—打開場景—找到文件people模型,選中人物模型,激活選定對象,如圖2所示。
圖2 激活選定對象
2)點擊菜單欄—創(chuàng)建—多邊形基本體—球體,如圖3所示(注意:交互式創(chuàng)建處于勾選狀態(tài))。
圖3 創(chuàng)建多邊形球體
3)調(diào)整球體大小,按下鼠標左鍵進行拖拽,調(diào)整球體(即穴位點)大小至合適為止,如圖4所示。操作快捷鍵分別為q選擇目標、w移動目標、e旋轉(zhuǎn)目標、r調(diào)整目標大小。
圖4 調(diào)整穴位點大小及位置
穴位點圓球和角色為父子關(guān)系,即身體變大穴位球會跟著變大。
1)點擊菜單欄—創(chuàng)建—多邊形基本體—圓柱體,如圖5所示(注意:交互式創(chuàng)建選項為不勾選狀態(tài))。
圖5 創(chuàng)建圓柱體的經(jīng)絡(luò)線段
2)用工具架的縮放工具對圓柱體縮小到適合的大小,用移動工具移動到合適的位置,如圖6所示。
圖6 調(diào)整經(jīng)絡(luò)線段位置和大小
3)對線段分片,即調(diào)整細分數(shù)。在工作區(qū)通道欄—輸入—polyCylinder1—將高度細分數(shù)調(diào)大到8或10,如圖7所示。
圖7 調(diào)整高度細分數(shù)
4)將經(jīng)絡(luò)線調(diào)整彎曲,以便緊貼在人體模型皮膚的表面。選擇圓柱體模型—點擊鼠標右鍵—選擇頂點,如圖8所示。
5)用移動工具和旋轉(zhuǎn)工具分別調(diào)整每一圈的頂點使其與皮膚表面貼合,如圖9所示。
圖9 調(diào)整每一圈頂點
6)在圓柱體上鼠標右鍵切換到對象模式,如圖10所示。
圖10 切換到對象模式
7)在圓柱體選中狀態(tài)下,執(zhí)行菜單欄—法線—軟化邊。圓柱體形狀會更加平滑,如圖11所示。
圖11 軟化邊
依上述方法,建立其他穴位點之間的經(jīng)絡(luò)線段。需要注意的是,在創(chuàng)建穴位點時需勾選“交互式創(chuàng)建”選框,但創(chuàng)建經(jīng)絡(luò)線段時,不需勾選該項。
基于中醫(yī)經(jīng)絡(luò)穴位理論和國家標準[14],按照上述方法創(chuàng)建人體模型、所有穴位點、穴位點之間線段等基礎(chǔ)工作后,分別將其導(dǎo)出為obj格式文件,供后期程序調(diào)用。共創(chuàng)建1個人體模型(body.obj)和12條經(jīng)絡(luò),每條經(jīng)絡(luò)中包含若干個穴位點、點間線段。每個經(jīng)絡(luò)包含的所有文件存到一個文件夾中,命名為該經(jīng)絡(luò)的拼音首字母,如圖12所示,其中1_styfj文件夾存儲的是手太陰肺經(jīng)穴所包含的所有穴位點、線段、錄音文件。打開手太陰肺經(jīng)文件夾,其包含的穴位點、經(jīng)絡(luò)線段如圖13所示,其中point是穴位點、segment是線段、wav文件是對應(yīng)穴位點的語音,用于點擊穴位點時播放該穴位信息。
圖12 創(chuàng)建的人體經(jīng)穴模型文件夾
圖13 手太陰肺經(jīng)穴位點和經(jīng)絡(luò)線模型文件
三維人體經(jīng)絡(luò)穴位模型采用MFC和OpenGL進行實現(xiàn)。在VS工程中創(chuàng)建以下幾個類:類CBodyRenderDlg實現(xiàn)整個模型的調(diào)用及框架,是工程功能的主要文件;類CObjLoadModel實現(xiàn)模型的加載功能;類CObjModelRender實現(xiàn)模型的渲染及處理,是顯示模型的具體方法;類CControlPanelDlg實現(xiàn)不同功能之間切換。
穴位顯示功能實現(xiàn)過程為:程序運行時,初始化InitInstance()函數(shù),創(chuàng)建CBodyRenderDlg類實例dlg。
1)類CBodyRenderDlg是工程實現(xiàn)功能的主要實現(xiàn)文件,進入類的構(gòu)造函數(shù)。構(gòu)造時分別構(gòu)造類CObjModelRende實例m_openglRender,類CObjLoadModel實例m_model,類CControlPanelDlg實例m_ctrlPanelDlg。
2)依次進入上述實例的構(gòu)造函數(shù),上述全部初始化完成,返回類CBodyRenderDlg中,進入OnInitDialog()函數(shù),在此函數(shù)中調(diào)用OnPaint()函數(shù)。
3)然后執(zhí)行m_openglRender.Render,即調(diào)用類CObjModelRender中的Render函數(shù)。其功能是渲染模型,依據(jù)傳遞的模型和功能選擇值,調(diào)用OpenGL函數(shù)渲染顯示模型,默認功能值是穴位顯示功能。
4)渲染模型和穴位,進入穴位顯示功能。
穴位記憶功能實現(xiàn)方法:系統(tǒng)運行時默認進入穴位顯示功能。
1)點擊穴位記憶功能時,類CControlPanelDlg中的函數(shù)OnBnClickedAcupointsLearnBtn()被響應(yīng)。
2)::PostMessageW(GetParent()->GetSafeHwnd(), WM_ACUPOINT_LEARN, 0, 0)函數(shù)被調(diào)用,功能是向窗體BodyRenderDlg發(fā)送消息,到CBodyRenderDlg類中的OnAcupointsLearn函數(shù),實現(xiàn)具體功能。
3)然后進入類CBodyRenderDlg中的OnAcupointsLearn()函數(shù),修改功能參數(shù)為記憶功能。
4)調(diào)用m_openglRender.Render()函數(shù)。渲染、傳遞模型obj和rp.DisplayModel值,依據(jù)DisplayMode值進行功能選擇。在Render函數(shù)中調(diào)用CObjModelRender::DisplayAcupoints()函數(shù)。
5)進入DisplayAcupoints()函數(shù),它是顯示穴位最底層的實現(xiàn)函數(shù)。注意,它可在各種功能下被調(diào)用,依據(jù)rp.nDisplayModel的值來判斷具體某個功能。
6)切換到穴位記憶功能結(jié)束,屏幕上只顯示穴位點,不顯示穴位名稱。
在穴位記憶功能中,當(dāng)點擊穴位點時該穴位名稱即被顯示出來,具體實現(xiàn)過程如下。
7)點擊穴位點時,函數(shù)OnLButtonDown()被響應(yīng),發(fā)現(xiàn)m_renderParam.nDisplayModel的值為穴位記憶功能,即在此功能下,調(diào)用獲取指針光標的函數(shù)CObjModelRender::DisplayNameAccordCoor(),判斷點擊的光標是否在穴位點上。
8)CObjModelRender::DisplayNameAccordCoor()函數(shù)被執(zhí)行,確定光標在穴位點上,然后調(diào)用Render(pObj, rp)函數(shù),OpenGL渲染。
9)進入函數(shù)Render()實現(xiàn)渲染。判斷在穴位記憶功能下,調(diào)用函數(shù)DisplayAcupoints(),顯示該穴位的名稱,實現(xiàn)功能。
經(jīng)絡(luò)學(xué)習(xí)功能的實現(xiàn)過程與上述2個功能類似,在此不再詳述。
在模型仿真實現(xiàn)過程中,遇到諸多問題和困難,通過對問題分析研究,本文采用一些關(guān)鍵技術(shù)來解決遇到的問題,主要有以下3個方面。
技術(shù)1解決穴位名顯示問題?,F(xiàn)有實體模型在顯示穴位名時,都直接顯示于模型皮膚表面。本文的三維虛擬人體經(jīng)絡(luò)穴位模型在初始版本中,將穴位名字顯示于模型表面。但是,由于模型具有放大、縮小功能,且模型表面不平整,存在起伏,使得穴位名稱在顯示時,出現(xiàn)重疊、顯示不完整、部分文字內(nèi)嵌到皮膚內(nèi)等問題。
為解決該問題,本文使用延長線動態(tài)調(diào)整方法來顯示穴位名稱,使得在不同視角下,穴位名稱都能完整正常地顯示。具體算法如算法1所示。
算法1
輸入:人體模型和穴位點模型
輸出:穴位點延長線及穴位名
1 定義穴位點的6種顯示方向,分別為前、后、左、右、上、下
2 For當(dāng)前視角中,計算視角度數(shù)及包括的穴位點
3 For每一個穴位點
4 計算穴位點視角與當(dāng)前屏幕視角的差異
5 If視角方向差異同向
6 延長線顯示穴位名
7 調(diào)整顯示方向為上下
8 If視角方向差異為垂直
9 延長線顯示穴位名
10 調(diào)整顯示方向為左右
11 If視角方向差異為逆向
12 延長線顯示穴位名
13 調(diào)整顯示方向為前后
14 End
15 End
技術(shù)2穴位、經(jīng)絡(luò)線段數(shù)量較大。不包含奇穴,人體共有14經(jīng)脈361穴位,即建立了361個穴位點模型,約350個點間線段模型,上述每個模型都是一個用文本存儲的obj文件,存儲了模型的頂點、法線、紋理坐標和材質(zhì)信息,系統(tǒng)需要對所有的模型進行加載渲染。
在加載渲染時,全部使用指針、指針數(shù)組、指針向量來操作,提高加載運行的效率。特別是在功能切換時,為提高加載速度,使用全局函數(shù)來傳遞消息。如::PostMessageW(GetParent()->GetSafeHwnd(),WM_ACUPOINT_L, 0, 0)。WM_ACUPOINT_L是功能的選項值。
技術(shù)3觸摸響應(yīng)的實現(xiàn)方法。觸摸屏為42吋以上的大屏幕。觸摸控制的實現(xiàn)見圖14~圖15。當(dāng)在電極施加電壓時,導(dǎo)電層會形成均勻的電壓分布。計算觸摸點的X軸、Y軸坐標的方法如下:若在X方向的電極對上施加電壓,而Y方向電極對不加電壓,在X平行電壓場中,觸點處電壓值可在Y+(或Y-)電極上得出,測量Y+電極對地的電壓值,便可得觸點的X坐標值。同理,當(dāng)在Y電極對上施加電壓,X電極對上不施加電壓,測量X+電極電壓,可得知觸點的Y坐標。測量原理如圖16~圖17所示。
圖14 觸摸控制實現(xiàn)電路圖
圖15 觸摸點示意圖
圖16 觸摸點X坐標值
圖17 觸摸點Y坐標值
依據(jù)圖16~圖17,使用以下公式計算出其坐標值,計算X坐標值如式(1)所示:
(1)
計算Y坐標值如式(2)所示:
(2)
取得X和Y的坐標值以后,交由消息響應(yīng)函數(shù),根據(jù)功能需要來進行下一步處理。
如前所述,本仿真人體模型系統(tǒng)主要有3個功能,詳見圖18所示。
圖18 模型系統(tǒng)功能模塊
1)穴位顯示功能。點擊該功能,人體模型表面顯示所有穴位點,同時顯示穴位名稱,模型能夠放大、縮小、旋轉(zhuǎn),如圖19所示。
圖19 穴位顯示功能
2)穴位記憶功能。該功能的模型表面只顯示穴位點,不顯示穴位名稱。當(dāng)點擊某個穴位點時,屏幕上會顯示出該穴位的名稱、位置信息,并播放該穴位錄音。如圖20所示。
3)經(jīng)絡(luò)學(xué)習(xí)功能。選擇該功能時,系統(tǒng)給出所有經(jīng)絡(luò)的名稱和顏色(類似于地鐵售票時所有站點展示),用戶選擇某一個經(jīng)絡(luò)時,模型表面僅僅顯示出該經(jīng)絡(luò)的所有穴位,并且從該經(jīng)絡(luò)的初始穴位開始,逐一連線動畫顯示每個穴位點和穴位名,直到最后的穴位被顯示,同時播放經(jīng)絡(luò)介紹的錄音,如圖21所示。
圖21 經(jīng)絡(luò)學(xué)習(xí)功能
系統(tǒng)的所有功能,都能夠?qū)崿F(xiàn)對模型的旋轉(zhuǎn)、放大、縮小、移動等操作。系統(tǒng)能夠安裝在立式一體機中,實現(xiàn)用手指完全觸控屏幕操作,具有良好的交互性和展示效果,目前該系統(tǒng)產(chǎn)品已經(jīng)開發(fā)完成,且在河南中醫(yī)藥大學(xué)第三附屬醫(yī)院內(nèi)部的展覽館投入使用,現(xiàn)處于商業(yè)推廣階段。系統(tǒng)的動態(tài)展示視頻見網(wǎng)址www.xuyulong.com頁面最底部,點擊成果展示視頻。
本文介紹了交互式三維虛擬人體經(jīng)絡(luò)穴位模型系統(tǒng)的實現(xiàn)方法。首先建立人體模型以及穴位點、經(jīng)絡(luò)線段,然后利用MFC和OpenGL對模型、穴位點、經(jīng)絡(luò)線加載和渲染,并部署到觸摸式一體機上。并且,詳細闡述了系統(tǒng)實現(xiàn)的框架和流程,以及在開發(fā)過程中涉及的關(guān)鍵技術(shù),如使用動態(tài)方向調(diào)整來顯示穴位點名稱、使用全局函數(shù)傳遞消息來提高模型加載響應(yīng)的效率、給出觸摸點坐標快速獲取的方法。模型系統(tǒng)具有動態(tài)人機交互功能,用手指觸摸能夠?qū)崿F(xiàn)模型的放大、縮小、旋轉(zhuǎn)、定穴、經(jīng)絡(luò)循環(huán)等操作。模型系統(tǒng)較好的交互性能幫助針灸師學(xué)習(xí)和測試穴位掌握情況,也為穴位愛好者提供較真實的穴位知識。
目前該系統(tǒng)產(chǎn)品第一個版本已經(jīng)開發(fā)完成。下一步將繼續(xù)完善修復(fù)系統(tǒng)存在的漏洞,以及加快推廣到實際有需求的部門。
[1] 張偉江. 人體經(jīng)絡(luò)、數(shù)學(xué)建模與仿真研究[J]. 自然雜志, 1992(9):643-646.
[2] 畢思文,吳廣林. 數(shù)字人體與中醫(yī)藥現(xiàn)代化[J]. 中醫(yī)藥學(xué)刊, 2004,10(z1):584-588.
[3] 肖田元. 仿真是信息時代認識與改造世界的第三種方法嗎[C]//中國系統(tǒng)仿真學(xué)會2007年仿真科學(xué)技術(shù)發(fā)展及應(yīng)用研討會論文集, 2007.
[4] 鄭紹華,陳國棟,林偉明,等. 人體經(jīng)絡(luò)循經(jīng)感傳的三維虛擬仿真研究與實現(xiàn)[J]. 計算機仿真, 2008,25(11):251-255.
[5] 黃詠,李建微,鄭紹華,等. 計算機三維人體經(jīng)絡(luò)模型構(gòu)建研究[J]. 計算機與數(shù)字工程, 2007,35(11):33-35.
[6] 楊宇航,李志忠,任曉丹,等. 基于虛擬現(xiàn)實技術(shù)的中醫(yī)針灸教學(xué)系統(tǒng)[J]. 系統(tǒng)仿真學(xué)報, 2007,19(10):2379-2383.
[7] 羅群芳,盧林瀟,方慧,等. 3DMAX在虛擬人穴位模型三維重建中的應(yīng)用[J]. 計算機時代, 2012(5):16-17.
[8] 陳沁. 基于3D人體模型的中醫(yī)經(jīng)絡(luò)可視化展示系統(tǒng)[D]. 廣州:華南理工大學(xué), 2012.
[9] 毛燁. 基于OpenGL虛擬針灸的三維仿真設(shè)計與實現(xiàn)[D]. 成都:電子科技大學(xué), 2012.
[10] 孫杰,吳春雨. 基于Web的經(jīng)絡(luò)腧穴學(xué)三維虛擬實驗設(shè)計與開發(fā)[J]. 中國醫(yī)學(xué)教育技術(shù), 2016,30(3):277-281.
[11] 張季,張宏如,董海艷,等. 基于Unity3D技術(shù)的數(shù)字人體腧穴教學(xué)信息系統(tǒng)的設(shè)計與實現(xiàn)[J]. 中國醫(yī)學(xué)教育技術(shù), 2014(2):139-142.
[12] 方進,邱峰朝. 人體腧穴體表定位比例尺的研制和應(yīng)用[J]. 上海針灸雜志, 2014(12):1183-1184.
[13] 侯書偉,馬祖彬,李永春. 論腧穴分類教學(xué):《經(jīng)絡(luò)腧穴學(xué)》腧穴規(guī)范化教學(xué)方法探討[J]. 中國針灸, 2010,30(10):865-869.
[14] GB/T 12346-2006, 腧穴名稱與定位[S].
[15] 范志先,孫殿柱,李延瑞,等. 采用MFC開發(fā)用戶交互界面的新方法[J]. 工程圖學(xué)學(xué)報, 2008,29(4):160-163.
[16] 劉軍,金耀. 基于VC 6.0和OpenGL的三維試衣系統(tǒng)研究[J]. 計算機應(yīng)用研究, 2008,25(12):3824-3825.
[17] 呂珍,謝倩,祝雙武,等. OpenGL導(dǎo)入3DS模型模擬服裝試穿[J]. 西安工程大學(xué)學(xué)報, 2014(4):440-444.
[18] 李素芳,谷林. 基于3DS與OpenGL的三維人體模型構(gòu)建方法[J]. 軟件導(dǎo)刊, 2013(12):158-160.