一種用于鄰面去釉計(jì)算的碰撞檢測(cè)算法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種用于鄰面去釉計(jì)算的碰撞檢測(cè)算法。由排牙后的牙齒最終位置,實(shí)時(shí)更新單顆牙齒數(shù)據(jù)模型,將相鄰牙齒模型的頂點(diǎn)進(jìn)行配對(duì),并進(jìn)行篩選,根據(jù)法向量判斷點(diǎn)對(duì)之間是否互相碰撞,計(jì)算相互碰撞點(diǎn)對(duì)的貫穿深度,根據(jù)貫穿深度計(jì)算IPR數(shù)值,確定并顯示IPR區(qū)域。本發(fā)明能準(zhǔn)確地計(jì)算出排牙之后的鄰面去釉數(shù)值,計(jì)算速度快,為醫(yī)生提供了直觀的參考數(shù)據(jù),有利于矯治方案的確立和臨床矯治的進(jìn)行。
【專(zhuān)利說(shuō)明】
一種用于鄰面去釉計(jì)算的碰撞檢測(cè)算法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及了數(shù)字口腔領(lǐng)域,具體地說(shuō)是涉及了一種用于鄰面去釉計(jì)算的碰撞檢 測(cè)算法。
【背景技術(shù)】
[0002] 近年來(lái),數(shù)字口腔技術(shù)發(fā)展迅速,牙齒隱形正畸也逐漸普及。在對(duì)牙齒正畸過(guò)程 中,可能會(huì)遇到牙齒擁擠等需要進(jìn)行鄰面去釉的情況,現(xiàn)有技術(shù)中缺少對(duì)牙齒模型進(jìn)行鄰 面去釉相關(guān)檢測(cè)的方法。
【發(fā)明內(nèi)容】
[0003] 為了解決【背景技術(shù)】中存在的問(wèn)題,本發(fā)明所提供了一種用于鄰面去釉計(jì)算的碰撞 檢測(cè)算法,對(duì)最終位置的牙齒進(jìn)行碰撞檢測(cè),計(jì)算其貫穿深度,得到IPR數(shù)值,并顯示IPR數(shù) 據(jù),以方便矯治方案的確立。
[0004] 本發(fā)明采用的技術(shù)方案是采用以下步驟:
[0005] 步驟一、由排牙后的牙齒最終位置,實(shí)時(shí)更新單顆牙齒數(shù)據(jù)模型;
[0006] 步驟二、將相鄰牙齒模型的頂點(diǎn)進(jìn)行配對(duì),并進(jìn)行篩選;
[0007] 步驟三、根據(jù)法向量判斷點(diǎn)對(duì)之間是否互相碰撞;
[0008] 步驟四、計(jì)算相互碰撞點(diǎn)對(duì)的貫穿深度,根據(jù)貫穿深度計(jì)算IPR數(shù)值;
[0009] 步驟五、確定并顯示IPR區(qū)域。
[0010] 步驟一中所述的實(shí)時(shí)更新單顆牙齒數(shù)據(jù)模型,是指在單顆牙齒排牙之后,更新模 型中三角網(wǎng)格各點(diǎn)的實(shí)時(shí)位置。
[0011] 所述實(shí)時(shí)更新單顆牙齒數(shù)據(jù)模型具體是:
[0012] 對(duì)于一對(duì)相鄰牙齒模型U和牙齒模型V,牙齒模型U中三角網(wǎng)格點(diǎn)的點(diǎn)集為{U〇--Ur-lM,牙齒模型V中三角網(wǎng)格點(diǎn)的點(diǎn)集為{VfV^Vj},兩顆牙齒模型的實(shí)時(shí)位置分別采 用以下公式進(jìn)行更新變換:
[0013] U;{R,I) = R(Ur 〇) + 〇 + !
[0014] V;(R,7) = RiVi -〇) + 〇 +1
[0015] 其中,&表示旋轉(zhuǎn)的中心,g為旋轉(zhuǎn)矩陣,棄為平移向量,Ui表示變換前的牙齒模型 U中三角網(wǎng)格點(diǎn),U/表示變換后的牙齒模型U中三角網(wǎng)格點(diǎn),Vj表示變換前的牙齒模型V中三 角網(wǎng)格點(diǎn),V/表示變換后的牙齒模型V中三角網(wǎng)格點(diǎn)。
[0016] 步驟二中所述的配對(duì)是遍歷每一顆牙齒模型的每一個(gè)三角網(wǎng)格點(diǎn),將該顆被配對(duì) 牙齒模型的三角網(wǎng)格點(diǎn)及其相鄰的一個(gè)牙齒模型中的三角網(wǎng)格點(diǎn)進(jìn)行配對(duì),獲得各對(duì)點(diǎn) 對(duì)。
[0017] 所述的兩顆相鄰牙齒模型中,對(duì)于被配對(duì)牙齒模型中的每個(gè)三角網(wǎng)格點(diǎn),找到其 相鄰的一牙齒模型中與該三角網(wǎng)格點(diǎn)最近的三角網(wǎng)格點(diǎn)進(jìn)行配對(duì)。
[0018] 步驟二中所述的篩選是指根據(jù)點(diǎn)對(duì)的位置和點(diǎn)對(duì)中點(diǎn)的法向來(lái)判斷點(diǎn)對(duì)所指的 區(qū)域是否發(fā)生了碰撞。
[0019] 所述的篩選具體過(guò)程如下:
[0020] 首先根據(jù)實(shí)時(shí)更新后的牙齒模型U的位置和牙齒模型V的位置,分別對(duì)兩個(gè)牙齒模 型的點(diǎn)構(gòu)建多層次查找樹(shù),然后快速查找出兩個(gè)牙齒模型中最近的點(diǎn)對(duì)的集合。以牙齒U為 例,假設(shè)在牙齒模型V中與牙齒模型U的三角網(wǎng)格點(diǎn)Ui最近的三角網(wǎng)格點(diǎn)為Vij,三角網(wǎng)格點(diǎn) Vij滿足:
[0021] 二 arg min 1/ _ R
[0022]將所有點(diǎn)配對(duì)后,還需要對(duì)其進(jìn)行篩選,將與其對(duì)應(yīng)點(diǎn)Uu的距離較遠(yuǎn)的點(diǎn)仏排除 掉,即取碰撞閾值d,如果I I Ui-Uij I I >d,則將三角網(wǎng)格點(diǎn)Ui和三角網(wǎng)格點(diǎn)Vij排除掉,不作為 點(diǎn)對(duì)。
[0023] 所述步驟三具體是:對(duì)于一個(gè)點(diǎn)對(duì)(vj,rj),vj表示被配對(duì)牙齒模型中的三角網(wǎng)格 點(diǎn),r j表示相鄰牙齒模型中的三角網(wǎng)格點(diǎn),r j點(diǎn)的法向?yàn)閚 j,構(gòu)建向量a j,a j = v j - r j,則a j Xnj的結(jié)果就決定了該區(qū)域是否發(fā)生了碰撞。如果ajXnj>0則沒(méi)有發(fā)生碰撞,如果ajXnj <〇則發(fā)生了碰撞。
[0024] 分別對(duì)U、V兩顆牙齒進(jìn)行碰撞檢測(cè)判斷,然后取二者的并集作為最終的碰撞結(jié)果。 [0025]所述步驟四中,貫穿深度是由互相碰撞的點(diǎn)對(duì)的兩點(diǎn)之間的距離得到,再根據(jù)最 大貫穿深度獲得出鄰面去釉的數(shù)值,即IPR數(shù)值。確定IPR數(shù)值之后,根據(jù)路徑規(guī)劃信息,計(jì) 算進(jìn)行鄰面去釉的步驟。
[0026]所述步驟五中,由所有互相碰撞點(diǎn)對(duì)的貫穿深度形成IPR區(qū)域作為牙齒最終狀態(tài) 發(fā)生碰撞的區(qū)域,將該區(qū)域進(jìn)行標(biāo)記,在醫(yī)生端進(jìn)行顯示。
[0027]本發(fā)明的有益效果是:
[0028] 本發(fā)明能準(zhǔn)確地計(jì)算出排牙之后的鄰面去釉數(shù)值,計(jì)算速度快,可實(shí)時(shí)獲取鄰面 去釉數(shù)值,為醫(yī)生提供了直觀的參考數(shù)據(jù),有利于矯治方案的確立和臨床矯治的進(jìn)行。
【附圖說(shuō)明】
[0029] 圖1為初始時(shí)牙齒的位置;
[0030] 圖2為排牙之后的牙齒位置;
[0031]圖3為頂點(diǎn)匹配篩選示意圖;
[0032] 圖4為碰撞判斷示意圖;
[0033]圖5為鄰面去釉數(shù)值顯示。
【具體實(shí)施方式】
[0034]下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
[0035]本發(fā)明的實(shí)施例如下:
[0036] 步驟一、圖1為未經(jīng)過(guò)排列的初始牙齒模型,進(jìn)行排牙之后,得到牙齒的最終位置, 如圖2所示。
[0037] 再由排牙后的牙齒最終位置,實(shí)時(shí)更新單顆牙齒數(shù)據(jù)模型;
[0038] 步驟二、將相鄰牙齒模型的頂點(diǎn)進(jìn)行配對(duì),并進(jìn)行篩選;
[0039] 具體舉例如圖3所示,上下兩個(gè)區(qū)域分別為牙齒U和牙齒V的三角網(wǎng)格面片。其中, 對(duì)于牙齒V上的點(diǎn)a,牙齒U上的點(diǎn)c為距離其最近的點(diǎn);對(duì)于牙齒V上的點(diǎn)b,牙齒U上的點(diǎn)c為 距離其最近的點(diǎn)。隨后進(jìn)行篩選,點(diǎn)a與點(diǎn)c間的距離小于碰撞閾值d,而點(diǎn)b與點(diǎn)c間的距離 大于碰撞閾值d,則對(duì)點(diǎn)a與點(diǎn)c這組點(diǎn)對(duì)作為碰撞區(qū)域的候選點(diǎn)對(duì),而點(diǎn)b與點(diǎn)c這組點(diǎn)對(duì)可 以被排除。
[0040] 步驟三、根據(jù)法向量判斷點(diǎn)對(duì)之間是否互相碰撞;
[0041] 具體舉例如圖4所示,r為牙齒V上的點(diǎn),Z為r點(diǎn)的法平面,n為r點(diǎn)的法向量。對(duì)于牙 齒U上的點(diǎn)q,q位于法平面Z的上方,所以判斷為未發(fā)生碰撞,對(duì)于牙齒U上的點(diǎn)p,p位于法平 面Z的下方,則判斷為發(fā)生碰撞。
[0042]步驟四、計(jì)算相互碰撞點(diǎn)對(duì)的貫穿深度,根據(jù)貫穿深度計(jì)算IPR數(shù)值,得到的數(shù)據(jù) 如下:
[0043] 在矯治過(guò)程的第四步,對(duì)牙齒LR4和LR3之間進(jìn)行鄰面去釉0.16mm;
[0044] 在矯治過(guò)程的第三步,對(duì)牙齒LR2和LR1之間進(jìn)行鄰面去釉0.10mm;
[0045] 在矯治過(guò)程的第三步,對(duì)牙齒LL2和LL3之間進(jìn)行鄰面去釉0.23_。
[0046] 步驟五、確定并顯示IPR區(qū)域。
[0047]顯示的IPR數(shù)據(jù)如圖5所示,對(duì)要進(jìn)行鄰面去釉的部分進(jìn)行標(biāo)示,并標(biāo)注去釉數(shù)值。
【主權(quán)項(xiàng)】
1. 一種用于鄰面去釉計(jì)算的碰撞檢測(cè)算法,其特征在于該方法包含下列步驟: 步驟一、由排牙后的牙齒最終位置,實(shí)時(shí)更新單顆牙齒數(shù)據(jù)模型; 步驟二、將相鄰牙齒模型的頂點(diǎn)進(jìn)行配對(duì),并進(jìn)行篩選; 步驟三、根據(jù)法向量判斷點(diǎn)對(duì)之間是否互相碰撞; 步驟四、計(jì)算相互碰撞點(diǎn)對(duì)的貫穿深度,根據(jù)貫穿深度計(jì)算IPR數(shù)值; 步驟五、確定并顯示IPR區(qū)域。2. 根據(jù)權(quán)利要求1所述的一種用于鄰面去釉計(jì)算的碰撞檢測(cè)算法,其特征在于:步驟一 中所述的實(shí)時(shí)更新單顆牙齒數(shù)據(jù)模型,是指在單顆牙齒排牙之后,更新模型中三角網(wǎng)格各 點(diǎn)的實(shí)時(shí)位置。3. 根據(jù)權(quán)利要求1或2所述的一種用于鄰面去釉計(jì)算的碰撞檢測(cè)算法,其特征在于:所 述實(shí)時(shí)更新單顆牙齒數(shù)據(jù)模型具體是: 對(duì)于一對(duì)相鄰牙齒模型U和牙齒模型V,牙齒模型U中三角網(wǎng)格點(diǎn)的點(diǎn)集為 {U〇. . .Ui.. .IM,牙齒模型V中三角網(wǎng)格點(diǎn)的點(diǎn)集為{V〇.. .Vj.. .Vj},兩顆牙齒模型的實(shí)時(shí)位 置分別采用以下公式進(jìn)行更新變換:其中,〇表示旋轉(zhuǎn)的中心,f為旋轉(zhuǎn)矩陣J為平移向量,山表示變換前的牙齒模型U中三 角網(wǎng)格點(diǎn),表示變換后的牙齒模型U中三角網(wǎng)格點(diǎn),Vj表示變換前的牙齒模型V中三角網(wǎng) 格點(diǎn),V。表示變換后的牙齒模型V中三角網(wǎng)格點(diǎn)。4. 根據(jù)權(quán)利要求1所述的一種用于鄰面去釉計(jì)算的碰撞檢測(cè)算法,其特征在于:步驟二 中所述的配對(duì)是遍歷每一顆牙齒模型的每一個(gè)三角網(wǎng)格點(diǎn),將該顆被配對(duì)牙齒模型的三角 網(wǎng)格點(diǎn)及其相鄰的一個(gè)牙齒模型中的三角網(wǎng)格點(diǎn)進(jìn)行配對(duì),獲得各對(duì)點(diǎn)對(duì)。5. 根據(jù)權(quán)利要求4所述的一種用于鄰面去釉計(jì)算的碰撞檢測(cè)算法,其特征在于:所述的 兩顆相鄰牙齒模型中,對(duì)于被配對(duì)牙齒模型中的每個(gè)三角網(wǎng)格點(diǎn),找到其相鄰的一牙齒模 型中與該三角網(wǎng)格點(diǎn)最近的三角網(wǎng)格點(diǎn)進(jìn)行配對(duì)。6. 根據(jù)權(quán)利要求1所述的一種用于鄰面去釉計(jì)算的碰撞檢測(cè)算法,其特征在于:步驟二 中所述的篩選是指根據(jù)點(diǎn)對(duì)的位置和點(diǎn)對(duì)中點(diǎn)的法向來(lái)判斷點(diǎn)對(duì)所指的區(qū)域是否發(fā)生了 碰撞。7. 根據(jù)權(quán)利要求1或6所述的一種用于鄰面去釉計(jì)算的碰撞檢測(cè)算法,其特征在于:所 述的篩選具體過(guò)程如下: 假設(shè)在牙齒模型V中與牙齒模型U的三角網(wǎng)格點(diǎn)Ui最近的三角網(wǎng)格點(diǎn)為Vij,三角網(wǎng)格點(diǎn) Vij滿足:如果I lUi-Uijl |>d,則將三角網(wǎng)格點(diǎn)Ui和三角網(wǎng)格點(diǎn)Vij排除掉,不作為點(diǎn)對(duì)。8. 根據(jù)權(quán)利要求1所述的一種用于鄰面去釉計(jì)算的碰撞檢測(cè)算法,其特征在于:所述步 驟二具體是: 對(duì)于一個(gè)點(diǎn)對(duì)(vj,rj),vj表示被配對(duì)牙齒模型中的三角網(wǎng)格點(diǎn),rj表示相鄰牙齒模型 中的三角網(wǎng)格點(diǎn),r j點(diǎn)的法向?yàn)閚j,構(gòu)建向量aj,aj = vj-rj,如果aj Xnj>0則沒(méi)有發(fā)生碰 撞,如果a j X n j < 0則發(fā)生了碰撞。9. 根據(jù)權(quán)利要求1所述的一種用于鄰面去釉計(jì)算的碰撞檢測(cè)算法,其特征在于:所述步 驟四中,貫穿深度是由互相碰撞的點(diǎn)對(duì)的兩點(diǎn)之間的距離得到,再根據(jù)最大貫穿深度獲得 出鄰面去釉的數(shù)值,即IPR數(shù)值。10. 根據(jù)權(quán)利要求1所述的一種用于鄰面去釉計(jì)算的碰撞檢測(cè)算法,其特征在于:所述 步驟五中,由所有互相碰撞點(diǎn)對(duì)的貫穿深度形成IPR區(qū)域作為牙齒最終狀態(tài)發(fā)生碰撞的區(qū) 域,將該區(qū)域進(jìn)行標(biāo)記,進(jìn)行顯示。
【文檔編號(hào)】A61C19/04GK105853008SQ201610183413
【公開(kāi)日】2016年8月17日
【申請(qǐng)日】2016年3月28日
【發(fā)明人】田宇佳, 王春蝶, 宣夢(mèng)潔
【申請(qǐng)人】杭州美齊科技有限公司