本發(fā)明涉及針灸模擬,尤其涉及一種針灸力反饋形變模型的建模方法。
背景技術(shù):
針灸是傳統(tǒng)中國養(yǎng)生治病的神奇醫(yī)術(shù),在現(xiàn)代養(yǎng)生醫(yī)學中也有很廣泛的應(yīng)用。然而人體穴位比較難找,對于剛接觸針灸的新手來說是一個很大的挑戰(zhàn),幾乎無法實戰(zhàn)練習,而扎錯穴位也會對人體產(chǎn)生或大或小的影響,因此訓練至關(guān)重要。傳統(tǒng)的針灸培訓成本高、風險高,虛擬針灸模擬系統(tǒng)可以幫助中醫(yī)新手練習針灸,有效地解決這一問題。
柔性體表面形變是虛擬觸覺交互過程的關(guān)鍵。常用的物理模型中,彈簧-質(zhì)點模型具有建模簡單、計算靈活、速度快的優(yōu)點,但該模型精度有限,穩(wěn)定性差。有限元模型精度高,但計算相對復雜。因此,具有良好的交互功能和形變效果的柔體模型對于虛擬手術(shù)系統(tǒng)來說至關(guān)重要。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是針對背景技術(shù)的不足,提供了一種針灸力反饋形變模型的建模方法。
本發(fā)明為解決上述技術(shù)問題采用以下技術(shù)方案:
一種針灸力反饋形變模型的建模方法,包含以下步驟:
步驟1),重建軟組織模型:采用體元模型重建軟組織內(nèi)部,采用網(wǎng)格模型重建軟組織表皮;所述體元模型包含用于表示軟組織內(nèi)部的內(nèi)部體元和用于表示模型針頭的針體元;進行針灸模擬時,將模型針頭在軟組織內(nèi)部所經(jīng)過路徑上的內(nèi)部體元替換成針體元;
步驟2),根據(jù)以下公式計算用于記錄軟組織模型的全局形變信息的的全局形變矩陣A:
其中,n是軟組織模型的網(wǎng)格質(zhì)點數(shù),mi是軟組織模型中質(zhì)點i的質(zhì)量,i為大于等于1小于等于n的自然數(shù),pi是軟組織模型中質(zhì)點i的坐標,pcm是形變后軟組織模型的質(zhì)心坐標,是質(zhì)點i的初始坐標,是初始狀態(tài)下軟組織模型的質(zhì)心坐標;
步驟3),計算針刺點形變前的初始坐標和針刺點坐標pc之間的距離
當且針尖坐標x與針刺點坐標pc重合時,判定皮膚表層為未被刺破的狀態(tài),執(zhí)行步驟4),其中,dmax為預設(shè)的皮膚最大形變量;
當且針尖坐標x與針刺點坐標pc不重合時,判定皮膚表層為被刺破的狀態(tài),執(zhí)行步驟5);
步驟4),根據(jù)以下公式實時產(chǎn)生虛擬彈簧計算皮膚表層的力反饋Fout:
其中,σ(i)為軟組織模型中受形變影響的網(wǎng)格質(zhì)點集合,k為預設(shè)的虛擬彈簧系數(shù),為軟組織模型中質(zhì)點i的初始坐標和當前坐標pi之間的距離,Nout為以針尖為頂點沿針方向的單位向量;
步驟5),根據(jù)針刺深度計算軟組織模型的內(nèi)部力反饋,同時對針刺后的皮膚進行復原控制:
步驟5.1),根據(jù)針刺點坐標pc和針尖坐標x的距離din計算軟組織模型的內(nèi)部力反饋Fin:
Fin=ρ·din·Nin
其中,ρ是預設(shè)的的皮下組織密度,din是針刺點坐標pc和針尖坐標x的距離,Nin是從針尖坐標x到針刺點坐標pc的單位向量;
步驟5.2),根據(jù)以下公式計算軟組織模型中各個質(zhì)點目標位置的坐標:
其中,為質(zhì)點i目標位置的坐標,R是旋轉(zhuǎn)矩陣,S是對稱系數(shù),矩陣AT是矩陣A的轉(zhuǎn)置矩陣;
步驟5.3),根據(jù)以下公式優(yōu)化軟組織模型中各質(zhì)點目標位置的坐標:
其中,ηi為預設(shè)的恢復系數(shù),ηi∈[0,1];
步驟5.4),對于軟組織模型中的各個質(zhì)點i,控制其在預設(shè)的速率Rr下以ηi=ηi-Rr的速度向其目標位置移動。
本發(fā)明可以在保證較好地表現(xiàn)針刺形變和恢復效果的前提下實現(xiàn)快速、逼真、實時的力反饋計算,與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:
1.使用體元和網(wǎng)格模型建模從而保證模型的穩(wěn)定性,并且方便力反饋和形變的計算。
2.計算全局形變矩陣A以保證模型的全局穩(wěn)定性,防止模型走樣,并未之后的恢復算法做準備。
3.計算目標位置gi實現(xiàn)皮膚被針刺破后的恢復,使針灸模型更為逼真。
4.插入恢復系數(shù)ηi以控制表面的恢復速率,進一步模擬真實情景下的針灸形變,保證形變恢復的穩(wěn)定性和真實性。
5.由針頭x和針刺點pc之間的位置以及針刺點pc和針刺點初始位置的距離為根據(jù)進行刺破判定,可以快速找到針頭刺破皮膚的時間點,并以此為分割線進行表面形變的模擬和力反饋的模擬,逼真地展現(xiàn)在兩種不同狀態(tài)下的針灸模型。
6.未刺破前使用虛擬彈簧計算外部力反饋,使用虛擬彈簧計算力反饋方便快捷,計算時通過形變位置各頂點與其初始位置間的距離的改變,保證了力反饋的刷新。
7.刺破后考慮皮下組織密度,進行內(nèi)部力反饋的計算,讓模型的力反饋更為逼真,力反饋隨針刺入的深度實時刷新,滿足了系統(tǒng)的實時性。
附圖說明
圖1是針灸力反饋形變模型的仿真流程圖;
圖2是改良的形狀匹配算法示例圖;
圖3是刺破前手臂橫截面示例圖;
圖4是刺破后手臂橫截面示例圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明的技術(shù)方案做進一步的詳細說明:
如圖1所示,本發(fā)明公開了一種針灸力反饋形變模型的建模方法,包含以下步驟:
步驟1),采用體元模型重建軟組織內(nèi)部,采用網(wǎng)格模型重建軟組織表皮;所述體元模型包含用于表示軟組織內(nèi)部的內(nèi)部體元和用于表示模型針頭的針體元;進行針灸模擬時,將模型針頭在軟組織內(nèi)部所經(jīng)過路徑上的內(nèi)部體元替換成針體元。
步驟2),計算全局形變矩陣A,全局形變矩陣A記錄軟組織的全局形變信息,也是形變恢復算法的基礎(chǔ),全局形變矩陣A需要獲取軟組織模型初始狀態(tài)下的各質(zhì)點坐標及質(zhì)心坐標,在整個針灸模擬的過程中實時計算更新,根據(jù)以下公式計算軟組織內(nèi)部的全局形變矩陣A:
其中,n是軟組織模型的網(wǎng)格質(zhì)點數(shù),mi是軟組織模型中質(zhì)點i的質(zhì)量,i為大于等于1小于等于n的自然數(shù),pi是軟組織模型中質(zhì)點i的坐標,pcm是形變后軟組織模型的質(zhì)心坐標,是質(zhì)點i的初始坐標,是初始狀態(tài)下軟組織模型的質(zhì)心坐標。
步驟3),進行刺破判定,計算針刺點形變前的初始坐標和針刺點坐標pc之間的距離其中,dmax為預設(shè)的皮膚最大形變量;
當且針尖坐標x與針刺點坐標pc重合時,視為皮膚表層未被刺破的狀態(tài),執(zhí)行步驟4);
當且針尖坐標x與針刺點坐標pc不重合時,視為皮膚表層被刺破的狀態(tài),執(zhí)行步驟5)。
步驟4),皮膚未刺破,根據(jù)皮膚形變實時產(chǎn)生虛擬彈簧計算皮膚表層的力反饋,如圖3所示,皮膚表層的力反饋Fout計算如下:
其中,σ(i)為軟組織模型受形變影響的網(wǎng)格質(zhì)點集合,k為預設(shè)的虛擬彈簧系數(shù),為軟組織模型中質(zhì)點i初始坐標和當前坐標pi之間的距離,Nout為以針尖為頂點沿針方向的單位向量。
步驟5),皮膚已刺破,根據(jù)針刺深度計算軟組織模型的內(nèi)部力反饋,同時對針刺后的皮膚形變進行優(yōu)化,使皮膚在刺破后一定程度地恢復原狀,如圖4所示。
步驟5.1),計算軟組織模型的內(nèi)部接觸力,通過針刺點坐標pc和針尖坐標x的距離din的改變生成持續(xù)且變化的力反饋,內(nèi)部力反饋Fin計算如下:
Fin=ρ·din·Nin
其中,ρ是預設(shè)的皮下組織密度,din是針刺點坐標pc和針尖坐標x的距離,Nin是從針尖坐標x到針刺點坐標pc的單位向量。
計算刺破后的皮膚形變,當皮膚組織被刺破后,皮膚會一定程度地恢復形變,表現(xiàn)為各質(zhì)點i向其對應(yīng)的目標位置gi移動,從而恢復初始形狀,如圖2所示。
步驟5.2),目標位置gi是皮膚形變恢復的關(guān)鍵,通過全局形變矩陣A求解目標位置gi的坐標根據(jù)以下公式計算各質(zhì)點的目標位置gi的坐標
其中R是旋轉(zhuǎn)矩陣,S是對稱系數(shù),R和S都是求解目標位置gi的坐標所需要的重要參數(shù),矩陣AT是矩陣A的轉(zhuǎn)置矩陣;
在實際操作時各質(zhì)點對應(yīng)的目標位置gi位置固定,各質(zhì)點i會快速回復形變,造成模擬的失真,為了防止軟組織表面過快恢復,得到逼真的針灸形變效果,插入恢復系數(shù)ηi,ηi∈[0,1],如圖4所示,通過控制目標位置gi隨皮膚形變而移動,以控制各質(zhì)點i恢復形變的速率,從而控制表面軟組織的恢復速率。
步驟5.3),根據(jù)以下公式優(yōu)化軟組織模型中各質(zhì)點目標位置的坐標:
步驟5.4),對于軟組織模型中的各個質(zhì)點i,控制其在預設(shè)的速率Rr下以ηi=ηi-Rr的速度向其目標位置移動。
當ηi=0時,質(zhì)點i會直接移向目標位置gi;當ηi=1時,代表質(zhì)點i不會立刻移動,i將在用戶定義的速率Rr下逐漸以ηi=ηi-Rr的速度向目標位置gi移動。
本技術(shù)領(lǐng)域技術(shù)人員可以理解的是,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學術(shù)語)具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣定義,不會用理想化或過于正式的含義來解釋。
以上所述的具體實施方式,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施方式而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。