摘 要:在計算機輔助虛擬手術研究中,需要對三維模型進行切割。由此,提出了利用標志點及三角剖分構建三維網格模型的方法來切割三維模型,并對切割后斷開的網格進行修補,最大程度避免切割部位失真。該方法已應用到顱外科手術仿真系統中,實踐證明,該方法容易實現,且能夠比較精確地切割三維模型,達到理想的效果。
關鍵詞:虛擬手術;三角剖分;3D網格模型
中圖法分類號:TP391.41文獻標識碼:A
文章編號:1001—3695(2007)02—0163—02
計算機輔助外科是基于計算機對大量醫學數據信息進行高速處理,通過虛擬手術環境為外科醫生從技術上提供支援,使手術更安全、更準確的一門新技術。隨著CT成像技術的發展,計算機虛擬現實技術在顱外科中的應用得到了飛速發展。三維CT圖像對術前設計有明顯優勢,三維CT顯示了顱骨三維結構,明確了其空間解剖關系。直接在三維圖像上進行設計,并確定截骨的位置、截骨量的方法,比利用立體攝影而形成面部表面三維圖像的方法更精確。
文獻[1]提出將切割刀模型和被切割體模型各自組織到包含有層次包圍盒信息的B+樹中,以快速定位交點并分割被切割體模型,但是這種方法是以損失三角面片為代價來完成切割的,所以切割精度不高;文獻[2]設計并實現了一種雙面切割算法,即利用原始數據的幾何及拓撲信息,將三維表面模型的切割操作轉換到二維空間中,以避免三角面片直接求交的大量運算,雖然還對分割后的三角面片進行了重構,但切割精度仍然不高;文獻[3]以統一的二維投影面作為交互平臺來確定分割平面,將分割面離散成一條條直線,求每條直線與三維數據的交點,從而確定分割邊緣,但由于采用的是平面分割,因而無法達到完全模擬手術效果的要求。本文提出一種依據標志點切割三維表面模型并且進行修補的方法,該方法首先利用手工在待切割3D模型表面放置一系列標志點,再利用Delaunay Triangle方法將這些點進行三角網格化,構造切割模型;然后利用切割模型與被切割模型的重疊狀態來判斷三角面片的取舍,利用點、線段的相交信息來重構切割后的模型,最終實現切割目的。該方法已應用到顱外科手術仿真系統中,還可應用于其他基于輪廓線的三維表面模型的操作。
1 切割標志點的標定以及Delaunay Triangle方法
首先在顱骨模型需要進行切割的區域用手工來標定標志點,這些點的放置是以醫學特征為依據[4]的,如圖1所示。然后對這些無序點進行三角剖分(Delaunay Triangle),目前有許多算法可以得到Delaunay三角網格,本文采用其中最有效的Watson算法[5]。如圖2,根據Watson算法,將標志點一次一個地加入網格中,如果新加入點包含在任意一個三角網格外接圓內,則周圍的三角網格將被刪除,進而形成一個多邊形邊界,之后再將新加入點與此邊界連接建立新的三角網格。本文稱這些新構建的網格為切割模型。需要注意的是,這些標志點并不一定在同一個平面上,即經過三角剖分后形成的網格也不一定在同一個平面上。
在進行完上述工作后,就需要判斷待切割模型與切割模型之間的重疊狀態用于完成切割(這部分將在第2節中描述)。
2 去除網格重疊區域
3 網格模型修補
在修補前,首先必須分別找出兩個模型中需要修補的邊界點。如圖4(a)所示,我們曾形象地定義過三角網格fs的兩點A,B與Ns平行的平面為輪廓線切割平面,這里的邊AB必須是切割模型輪廓線上的邊(形如圖2,AB,BC,CD,DE,EA這樣的)。在待切割模型Mp中,修補邊界點同時位于重疊區域的網格與重疊區域外的網格所共用的邊界上,若fr為待切割模型中移除的三角網格,而fe為保留下來的三角網格,則邊界點bp∈fr且bp∈fe;而在切割網格模型Ms中,由于點A,B既是輪廓線切割平面上的點也是待切割模型上的點,且邊界點bs為輪廓線切割平面與三角網格fr的交點,故邊界點bs必須位于輪廓切割平面與待切割模型中移除的三角網格fr上,bs在三角網格fs上的投影必然是在邊AB之上(非AB的延長線)。
在分別記錄下這一系列邊界點后便可以開始進行待切割模型的修補,如圖5所示。設網格模型的邊界點為ui,i=1—n,待切割模型的邊界點為vj,j=1—m 。在每一邊界處,可以按照以下步驟對兩網格模型進行修補:
4 實例
圖6所示為顱骨表面模型的切割結果。圖6(a)為待切割顱骨模型,圖6(b)—圖6(d)為切割后的結果。
5 小結
根據基于輪廓線的物體表面模型的特點,該方法采用標志點定位切割部位并對切割部位進行修補操作,因而能夠精確地進行三維物體切割,而不會造成大量三角面片的丟失,將失真降低到最小,提高了操作效率。由于這種方法簡便、實用,可以將其方便地應用于各種三維模型的切割。
本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。