一種基于網(wǎng)格與無網(wǎng)格混合的軟組織形變方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)圖形學(xué)領(lǐng)域,具體涉及到虛擬手術(shù)中一種基于網(wǎng)格與無網(wǎng)格混 合的軟組織形變方法。
【背景技術(shù)】
[0002] 傳統(tǒng)如軟組織在手術(shù)器械直接施壓作用力的局部范圍內(nèi)會(huì)發(fā)生大變形,基于網(wǎng)格 形變的方法在這大變形區(qū)域內(nèi)會(huì)發(fā)生網(wǎng)格畸變,影響形變仿真的真實(shí)感。無網(wǎng)格形變技術(shù) 方法在手術(shù)直接操作大變形區(qū)域由于沒有網(wǎng)格連接無需要進(jìn)行網(wǎng)格重構(gòu),也不會(huì)產(chǎn)生網(wǎng)格 畸變,同時(shí)又具有光滑過渡的形變優(yōu)點(diǎn),適合于大變形區(qū)域仿真;然而無網(wǎng)格計(jì)算量大會(huì)影 響運(yùn)行速度,若在全局模型區(qū)域采用該方法會(huì)導(dǎo)致計(jì)算效率低,嚴(yán)重影響虛擬手術(shù)仿真的 實(shí)時(shí)性。結(jié)合虛擬手術(shù)操作的形變特點(diǎn):手術(shù)器械對(duì)軟組織施加作用力時(shí),與軟組織接觸的 局部區(qū)域受力最大,形變程度也最大;同時(shí),力向非手術(shù)區(qū)域傳遞過程中逐漸減弱,相應(yīng)形 變大小程度也逐漸降低。由此,軟組織可以動(dòng)態(tài)地劃分為三個(gè)區(qū)域即手術(shù)大變形區(qū)域、非手 術(shù)區(qū)域、公共交界區(qū)域。
[0003] 根據(jù)虛擬手術(shù)形變的特征,結(jié)合上述網(wǎng)格與無網(wǎng)格的優(yōu)缺點(diǎn),本發(fā)明提出一種網(wǎng) 格與無網(wǎng)格相混合的形變模型:在手術(shù)大變形區(qū)域采用無網(wǎng)格法,非手術(shù)區(qū)域采用網(wǎng)格法。 在手術(shù)區(qū)域采用無網(wǎng)格方法可以避免大形變中的網(wǎng)格畸變問題,形變又具有光滑過渡有利 于實(shí)現(xiàn)形變仿真的真實(shí)感,同時(shí)手術(shù)區(qū)域較小則區(qū)域模型節(jié)點(diǎn)數(shù)也較少,手術(shù)區(qū)域采用無 網(wǎng)格法可以達(dá)到實(shí)時(shí)性要求;在非手術(shù)區(qū)域采用基于質(zhì)點(diǎn)彈簧的網(wǎng)格形變方法又避免了無 網(wǎng)格計(jì)算效率低的缺點(diǎn),發(fā)揮質(zhì)點(diǎn)彈簧在實(shí)時(shí)性上的優(yōu)點(diǎn),同時(shí)非手術(shù)區(qū)域形變較小采用 質(zhì)點(diǎn)彈簧法也不會(huì)發(fā)生網(wǎng)格畸變,模擬形變效果也較好。本發(fā)明提出的基于網(wǎng)格與無網(wǎng)格 混合的形變方法發(fā)揮兩者在形變仿真中的優(yōu)勢,在真實(shí)感與實(shí)時(shí)性兩者之間進(jìn)行折中,能 夠適用于虛擬形變手術(shù)仿真。
[0004] 在虛擬場景中手術(shù)器械操控軟組織的位置會(huì)發(fā)生變化,于是器械直接作用的手術(shù) 大變形區(qū)域位置也會(huì)發(fā)生變化,這就決定了無網(wǎng)格形變區(qū)域位置會(huì)不斷發(fā)生變化。同時(shí)在 手術(shù)過程中手術(shù)器械對(duì)施加力會(huì)不斷增加,這將導(dǎo)致大變形的無網(wǎng)格區(qū)域也會(huì)不斷向外擴(kuò) 大??傊@就要求建立一種動(dòng)態(tài)的無網(wǎng)格與網(wǎng)格混合模型用于對(duì)軟組織進(jìn)行形變仿真。在 軟組織形變仿真過程中,只有大變形的手術(shù)區(qū)域采用無網(wǎng)格法進(jìn)行形變計(jì)算,其它小形變 的非手術(shù)區(qū)域依舊采用基于質(zhì)點(diǎn)彈簧的網(wǎng)格形變方法,這能夠充分發(fā)揮兩者模型的各自優(yōu) 勢,并體現(xiàn)出兩者相混合算法的優(yōu)點(diǎn)。
[0005] 申請(qǐng)?zhí)枮?01010565036.6,名稱為一種軟組織形變仿真方法,該發(fā)明選取光滑粒 子流體動(dòng)力學(xué)法,以黏彈性力學(xué)模型來反映軟組織的生物力學(xué)特性,雖然無需網(wǎng)格計(jì)算,但 是光滑粒子流體動(dòng)力學(xué)法不能對(duì)粒子密度近似方程進(jìn)行多次初始化,而邊界粒子存在不連 續(xù)性,會(huì)導(dǎo)致計(jì)算誤差的多次迭代,進(jìn)而造成計(jì)算精度不高的問題。
[0006] 申請(qǐng)?zhí)枮?01310697661.X,名稱為一種軟組織形變的局部質(zhì)點(diǎn)彈簧模型的實(shí)時(shí)動(dòng) 態(tài)生成方法,該發(fā)明在程序初始化階段無須進(jìn)行任何操作,在程序運(yùn)行過程中可以實(shí)現(xiàn)局 部可視化操作、動(dòng)態(tài)生成局部質(zhì)點(diǎn)---彈簧模型,提高了系統(tǒng)的實(shí)時(shí)性。但該方案采用了三 角網(wǎng)格的數(shù)據(jù)結(jié)構(gòu),在對(duì)非線性曲線的模擬上具有精度不高的局限性。另一方面,為了模擬 軟組織的拉伸和扭曲,尋找合適的參數(shù)去匹配模型中大量的質(zhì)點(diǎn)、彈簧并對(duì)這些形變進(jìn)行 控制是相當(dāng)困難的。
[0007] 申請(qǐng)?zhí)枮?01310267557.7,名稱為軟組織形變仿真方法,該發(fā)明利用改進(jìn)的歐拉 算法求解軟組織形變過程,對(duì)其中質(zhì)點(diǎn)的速度、位移以及受力信息進(jìn)行求解,并實(shí)現(xiàn)了反饋 力的輸出。但該方案的計(jì)算量過大會(huì)影響使系統(tǒng)的運(yùn)行速度,進(jìn)而影響仿真的實(shí)時(shí)性。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明的目的在于提供一種基于網(wǎng)格與無網(wǎng)格混合的軟組織形變方法,發(fā)揮網(wǎng)格 與無網(wǎng)格在形變仿真中的優(yōu)勢,在真實(shí)感與實(shí)時(shí)性兩者之間進(jìn)行折中,能夠適用于虛擬形 變手術(shù)仿真。
[0009] 為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案是:一種基于網(wǎng)格與無網(wǎng)格混合的軟組織形 變方法,包括如下步驟,
[0010] S1:利用碰撞檢測算法完成區(qū)域可變的無網(wǎng)格建模位置的確認(rèn);
[0011] S2:根據(jù)存儲(chǔ)的虛擬軟組織幾何連接拓?fù)湫畔⒔⒁粚訜o網(wǎng)格模型;
[0012] S3:對(duì)無法覆蓋形變仿真中的大形變區(qū)域不能滿足真實(shí)效果的無網(wǎng)格模型進(jìn)行擴(kuò) 展;
[0013] S4:重復(fù)步驟S3,完成區(qū)域可變的無網(wǎng)格建模面積動(dòng)態(tài)擴(kuò)展,形成N層無網(wǎng)格模型, 建立網(wǎng)格向無網(wǎng)格動(dòng)態(tài)轉(zhuǎn)換的混合模型;
[0014] S5:采用無網(wǎng)格模型對(duì)虛擬器械操作軟組織過程中可能發(fā)生網(wǎng)格畸變的局部大形 變區(qū)域進(jìn)行建模;
[0015] S6:采用質(zhì)點(diǎn)彈簧模型對(duì)非手術(shù)區(qū)域受力較小產(chǎn)生的形變進(jìn)行網(wǎng)格建模;
[0016] S7:對(duì)于無網(wǎng)格模型內(nèi)的節(jié)點(diǎn)運(yùn)用無網(wǎng)格形變方程計(jì)算受力后的節(jié)點(diǎn)位置,對(duì)網(wǎng) 格模型區(qū)域采用質(zhì)點(diǎn)彈簧法計(jì)算質(zhì)點(diǎn)位置,且無網(wǎng)格模型與網(wǎng)格模型通過過渡單元的節(jié)點(diǎn) 完成信息的傳遞。
[0017] 在本發(fā)明一實(shí)施例中,所述步驟S1的具體實(shí)現(xiàn)方式為:在虛擬手術(shù)過程中虛擬器 械碰撞軟組織,利用鼠標(biāo)拾取的碰撞檢測算法檢測軟組織模型的碰撞位置,搜索軟組織模 型中與碰撞位置最鄰近的質(zhì)點(diǎn)作為虛擬器械的施力點(diǎn),由此將該質(zhì)點(diǎn)鄰近的局部區(qū)域劃分 為無網(wǎng)格區(qū)域,從而完成區(qū)域可變的無網(wǎng)格建模位置的確認(rèn)。
[0018] 在本發(fā)明一實(shí)施例中,所述鼠標(biāo)拾取的碰撞檢測算法為基于射線拾取與模型三角 形面片相交的碰撞檢測算法,即根據(jù)檢測得到與拾取射線相交的三角形面片及相交點(diǎn),對(duì) 該面片的三角形三個(gè)頂點(diǎn)計(jì)算與相交點(diǎn)距離最小的點(diǎn)即為最鄰近的質(zhì)點(diǎn),把該最鄰近質(zhì)點(diǎn) 作為虛擬器械在軟組織模型上的施力點(diǎn),該基于射線拾取與模型三角形面片相交的碰撞檢 測算法具體實(shí)現(xiàn)如下:
[0019] 假設(shè)χη為軟組織模型中一個(gè)三角形面的法線,X是該三角形上的點(diǎn),d是三角形面 到原點(diǎn)的距離;則三角形面可以被描述為:
[0020] Xn . X = d (1)
[0021 ]而鼠標(biāo)拾取操作的射線為:
[0022] p(t) =pw+tpwi (2)
[0023] 其中,p(t)為射線向量,pw為在世界坐標(biāo)系中的起點(diǎn),t為位置向量,pwi為方向向 量;
[0024]若以上兩個(gè)方程有公共解,則射線與三角形相交,假設(shè)相交點(diǎn)為I(x,y,z),聯(lián)立以 上兩個(gè)方程有:
[0025] (3)
[0026] (4)
[0027] 將t帶入公式(2)中則可得出相交點(diǎn)I(X,y,z)的坐標(biāo)值,即得到相交點(diǎn)的坐標(biāo),并 記錄該相交的三角形索引,計(jì)算該三角形的三個(gè)頂點(diǎn)與相交點(diǎn)的距離最小值,把距離最小 的頂點(diǎn)作為虛擬器械的施力點(diǎn)。
[0028] 在本發(fā)明一實(shí)施例中,所述步驟S2的具體實(shí)現(xiàn)方式為:確定了碰撞質(zhì)點(diǎn)后,根據(jù)存 儲(chǔ)的虛擬軟組織幾何連接拓?fù)湫畔?,搜索以該質(zhì)點(diǎn)為中心的周圍一層有相連接關(guān)系的質(zhì) 點(diǎn),并刪除與該質(zhì)點(diǎn)和以該質(zhì)點(diǎn)為中心的周圍一層質(zhì)點(diǎn)有連接關(guān)系的彈簧約束,進(jìn)而建立 一層無網(wǎng)格模型。
[0029] 在本發(fā)明一實(shí)施例中,所述步驟S4的具體實(shí)現(xiàn)方式為:重復(fù)步驟S3,完成區(qū)域可變 的無網(wǎng)格建模面積動(dòng)態(tài)