王增波 向海蘭 賀丹 熊湘林
摘要:針對隱形牙套矯治技術(shù)開發(fā)了一套虛擬牙齒矯正仿真系統(tǒng),利用Vc++和OpenGL作為開發(fā)平臺,實(shí)現(xiàn)了模型導(dǎo)入顯示、交互操作、面片拾取、牙齒分割和矯正路徑規(guī)劃等功能,生成的三維牙頜組織模型幫助醫(yī)生模擬牙齒矯正的過程,并且直觀地向患者展示手術(shù)治療的效果。
關(guān)鍵詞:仿真系統(tǒng);牙齒矯正;交互式操作;拾取面片;分割
中圖分類號:TP39 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(201 9133-0272-03
1概述
目前由于金屬矯正器治療存在著諸多的不足,新興了一種新型的用于錯頜畸形矯正的虛擬手術(shù)技術(shù)
隱形牙套矯治技術(shù),該技術(shù)采用一種隱形牙齒矯正手術(shù)對患者進(jìn)行牙齒矯正,文獻(xiàn)【1】中指出這種無托槽隱形矯治技術(shù)是通過計算機(jī)輔助制作出一套透明的彈性材料矯正牙套裝置,通過在小范圍不斷移動牙齒達(dá)到矯正牙齒的目的,因為這種牙套裝置外形美觀、佩帶舒適,在臨床中受到廣大患者的歡迎。文獻(xiàn)【1】中通過對比傳統(tǒng)矯治技術(shù)和無托槽隱形矯治技術(shù),分析了無托槽隱形矯治技術(shù)的效果及臨床優(yōu)勢。這類手術(shù)是通過對患者的牙頜數(shù)字模型進(jìn)行交互式操作,再通過計算機(jī)仿真為患者量身定制一系列近乎無法察覺的透明牙托來完成整個矯正療程。這種牙齒矯正方法能讓醫(yī)生在牙齒矯正手術(shù)前通過對牙頜數(shù)字模型進(jìn)行交互式操作定制療程,也能讓用戶在術(shù)前體驗未來的矯正過程,因此開發(fā)一套虛擬牙齒矯正仿真系統(tǒng)就具有非常重要的現(xiàn)實(shí)意義。整個虛擬仿真過程要經(jīng)歷三維牙齒模型數(shù)字化掃描處理、三維拓?fù)浣Y(jié)構(gòu)重構(gòu)、牙頜組織分割、牙齒交互重排、牙齒移動路徑規(guī)劃等諸多過程。下面就該系統(tǒng)的設(shè)計與實(shí)現(xiàn)效果進(jìn)行介紹。
2矯正仿真系統(tǒng)的功能設(shè)計
牙齒矯正是個復(fù)雜的過程,牙齒矯正傳真系統(tǒng)主要是通過模型的三維直觀顯示和交互操作,幫助正畸醫(yī)生制定牙齒矯正計劃,系統(tǒng)的主要功能有:
(1)STL文件導(dǎo)入模塊。系統(tǒng)操作的數(shù)據(jù)來源于事先掃描好的三維數(shù)據(jù),數(shù)據(jù)格式為常用的快速原型系統(tǒng)所應(yīng)用的標(biāo)準(zhǔn)文件類型STL文件格式,系統(tǒng)需要實(shí)現(xiàn)從二進(jìn)制和純文本兩種格式的STL文件里提取三角面片信息,并建立合理的數(shù)據(jù)結(jié)構(gòu)對三角面片信息進(jìn)行拓?fù)渲貥?gòu)。
(2)控制顯示模塊。通過鼠標(biāo)動作或工具按鈕操作實(shí)現(xiàn)三維牙齒模型的多方位的觀察,并能實(shí)現(xiàn)對模型任意地縮放和任意角度的旋轉(zhuǎn)。
(3)快速拾取模塊。通過鼠標(biāo)對三維牙齒模型的交互式操作,并在工具欄上設(shè)置為牙齒標(biāo)記組合框,用于對牙齦和牙齒進(jìn)行標(biāo)記區(qū)分。
(4)數(shù)據(jù)測量模塊。利用快速拾取模塊可以測量出牙齒模型上的任意兩點(diǎn)的距離等信息。
(5)模型分割模塊。采用交互標(biāo)記擴(kuò)展分割法對牙齒進(jìn)行分割,對單個牙齒分別進(jìn)行保存,并設(shè)計單齒運(yùn)動的數(shù)據(jù)存儲結(jié)構(gòu),存儲單齒運(yùn)動的狀態(tài)參數(shù)。
(6)分割后交互式操作模塊。對分割的各部件可實(shí)現(xiàn)獲取、平移、旋轉(zhuǎn)等各種交互式操作。
(7)牙弓線生成模塊。在通過交互式操作獲取牙齒模型的各項關(guān)鍵數(shù)據(jù)參數(shù)的基礎(chǔ)上,采用合理的數(shù)學(xué)模型生成理想牙弓曲線,作為牙齒重排的依據(jù)。
(8)動畫生成模塊。采用關(guān)鍵幀技術(shù),利用路徑規(guī)劃方法,依據(jù)理想牙弓曲線,生成符合生物醫(yī)學(xué)和口腔正畸學(xué)的理想牙列,并記錄牙齒移動的關(guān)鍵幀運(yùn)動參數(shù),插值生成牙齒移動過程的動畫序列。
3矯正仿真系統(tǒng)的實(shí)現(xiàn)
根據(jù)前面的功能需求,為了實(shí)現(xiàn)較好的交互和可視化效果,系統(tǒng)開發(fā)采用Vc++的MFC進(jìn)行編程實(shí)現(xiàn),利用OpenGL三維圖形庫實(shí)現(xiàn)三維模型的顯示和交互式操作,系統(tǒng)通過設(shè)置合理的菜單和工具欄按鈕,完成的主界面如圖1所示,菜單欄和工具欄實(shí)現(xiàn)了所有的功能,如圖2所示,其中有些菜單項和按鈕是灰色的不能操作是因為前面的工作還未完成這些功能是不能操作的,當(dāng)前面所需的工作完成了灰色的狀態(tài)就會取消變成可操作,這樣可避免使用者的不規(guī)范操作或錯誤操作。
3.1模型文件導(dǎo)入及顯示模塊
通過鼠標(biāo)單擊導(dǎo)入按鈕,實(shí)現(xiàn)響應(yīng)函數(shù)OnFileOpenf)的功能模塊,該功能模塊顯示打開文件對話框,并進(jìn)行一些變量初始化的工作;通過使用ImportSTLO函數(shù)載人數(shù)據(jù),建立拓?fù)潢P(guān)系并建立模型的顯示列表供顯示使用;并判斷是否已存在分割文件,若存在通過調(diào)用OnShowDentition()函數(shù)顯示分割后的模型。模型被導(dǎo)入后會自動調(diào)用拓?fù)浣Y(jié)構(gòu)生成算法,生成面片間的拓?fù)浣Y(jié)構(gòu),并調(diào)用顯示模塊顯示出三維牙齒模型,并可以通過工具欄上的相應(yīng)按鈕實(shí)現(xiàn)實(shí)體模型顯示、網(wǎng)格模型顯示、點(diǎn)云顯示、平移、放大、縮小、旋轉(zhuǎn)、自動旋轉(zhuǎn)、坐標(biāo)軸顯示、模型信息顯示、模型重置、材質(zhì)渲染、數(shù)據(jù)測量等交互功能,按鈕位置按順序見圖2加框部分。
3.2拾取模塊
通過鼠標(biāo)單擊拾取按鈕回響應(yīng)函數(shù)OnPickup()的功能模塊,該功能模塊首先初始化區(qū)域劃分?jǐn)?shù)組m_tag大小為面片數(shù),該數(shù)組值表示該面片所屬牙齒的編號;在響應(yīng)鼠標(biāo)左鍵單擊按下調(diào)用拾取函數(shù)GetSelectionRay(),通過拾取算法找到一個距離最近的相交三角形作為拾取面片,并把拾取的面片索引保存在數(shù)組IntersectFlag中,交點(diǎn)坐標(biāo)保存在數(shù)組PickPointion中,同時對拾取的面片作上分類標(biāo)記,拾取效果如下圖3所示。拾取過程中通過鼠標(biāo)左鍵單擊不同牙齒或牙齦上的特征點(diǎn)作為分割模塊的種子點(diǎn),工具欄上有一個下拉列表框會自動切換牙齒的名稱,也可以自己先確定牙齒名稱再進(jìn)行拾取,如果某個牙齒分割效果不太理想,可以在這顆牙齒上再多選一到兩個點(diǎn),再進(jìn)行分割。
3.3分割模塊
分割模塊通過菜單“分割方法”的下拉菜單項目中選擇交互式標(biāo)識分割、自動域值分割和域值設(shè)定分割三種方法,滿足使用者的不同需求。三種不同的分割方法會自動調(diào)用對應(yīng)的分割算法,根據(jù)拾取模塊確定的種子點(diǎn)進(jìn)行牙齒和牙齦的分割,分割后用不同顏色的渲染對各顆牙齒和牙齦進(jìn)行渲染顯示,如圖4所示。
3.4分割后牙齒的交互操作
牙齒被分割后需要對牙齒和牙齦以獨(dú)立對象進(jìn)行顯示,并通過鼠標(biāo)能夠?qū)晤w牙齒進(jìn)行交互式操作,具體的這些功能在工具欄和菜單欄上有相應(yīng)的按鈕和菜單項可以調(diào)用。
(1)顯示牙列模塊
打開“交互排牙”菜單中的相應(yīng)菜單項或工具欄中相應(yīng)圖標(biāo)按鈕實(shí)現(xiàn)牙列渲染和繪制牙弓曲線,實(shí)現(xiàn)牙頜模型的真實(shí)感渲染效果以及牙弓線的繪制輔助矯正后牙齒的定位。通過單擊工具欄上按鈕囹調(diào)用響應(yīng)函數(shù)onshowdentitionO建立各牙齒顯示列表,分開顯示各顆牙齒,按牙齒白和牙齦紅兩色方式顯示牙齒模型,如圖5所示。
4結(jié)論
該仿真系統(tǒng)利用vc++和0penGL開發(fā)平臺,研制出一套基于隱形牙套矯治技術(shù)的虛擬牙齒矯正系統(tǒng),通過對患者牙齒的三維牙頜數(shù)字模型進(jìn)行三維重構(gòu)、交互式操作、牙齒分割和路徑規(guī)劃等模塊功能的實(shí)現(xiàn),完成了牙齒矯正過程的可視化,并為后期的治療提供了大量的數(shù)據(jù)。