CN105853008B - 一种用于邻面去釉计算的碰撞检测算法 - Google Patents
一种用于邻面去釉计算的碰撞检测算法 Download PDFInfo
- Publication number
- CN105853008B CN105853008B CN201610183413.7A CN201610183413A CN105853008B CN 105853008 B CN105853008 B CN 105853008B CN 201610183413 A CN201610183413 A CN 201610183413A CN 105853008 B CN105853008 B CN 105853008B
- Authority
- CN
- China
- Prior art keywords
- point
- tooth
- model
- points
- detection algorithm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61C—DENTISTRY; APPARATUS OR METHODS FOR ORAL OR DENTAL HYGIENE
- A61C19/00—Dental auxiliary appliances
- A61C19/04—Measuring instruments specially adapted for dentistry
Abstract
本发明公开了一种用于邻面去釉计算的碰撞检测算法。由排牙后的牙齿最终位置,实时更新单颗牙齿数据模型,将相邻牙齿模型的顶点进行配对,并进行筛选,根据法向量判断点对之间是否互相碰撞,计算相互碰撞点对的贯穿深度,根据贯穿深度计算IPR数值,确定并显示IPR区域。本发明能准确地计算出排牙之后的邻面去釉数值,计算速度快,为医生提供了直观的参考数据,有利于矫治方案的确立和临床矫治的进行。
Description
技术领域
本发明涉及了数字口腔领域,具体地说是涉及了一种用于邻面去釉计算的碰撞检测算法。
背景技术
近年来,数字口腔技术发展迅速,牙齿隐形正畸也逐渐普及。在对牙齿正畸过程中,可能会遇到牙齿拥挤等需要进行邻面去釉的情况,现有技术中缺少对牙齿模型进行邻面去釉相关检测的方法。
发明内容
为了解决背景技术中存在的问题,本发明所提供了一种用于邻面去釉计算的碰撞检测算法,对最终位置的牙齿进行碰撞检测,计算其贯穿深度,得到IPR数值,并显示IPR数据,以方便矫治方案的确立。
本发明采用的技术方案是采用以下步骤:
步骤一、由排牙后的牙齿最终位置,实时更新单颗牙齿数据模型;
步骤二、将相邻牙齿模型的顶点进行配对,并进行筛选;
步骤三、根据法向量判断点对之间是否互相碰撞;
步骤四、计算相互碰撞点对的贯穿深度,根据贯穿深度计算IPR数值;
步骤五、确定并显示IPR区域。
步骤一中所述的实时更新单颗牙齿数据模型,是指在单颗牙齿排牙之后,更新模型中三角网格各点的实时位置。
所述实时更新单颗牙齿数据模型具体是:
对于一对相邻牙齿模型U和牙齿模型V,牙齿模型U中三角网格点的点集为{U0...Ui...UI},牙齿模型V中三角网格点的点集为{V0...Vj...VJ},两颗牙齿模型的实时位置分别采用以下公式进行更新变换:
其中,表示旋转的中心,为旋转矩阵,为平移向量,Ui表示变换前的牙齿模型U中三角网格点,Ui′表示变换后的牙齿模型U中三角网格点,Vj表示变换前的牙齿模型V中三角网格点,Vj′表示变换后的牙齿模型V中三角网格点。
步骤二中所述的配对是遍历每一颗牙齿模型的每一个三角网格点,将该颗被配对牙齿模型的三角网格点及其相邻的一个牙齿模型中的三角网格点进行配对,获得各对点对。
所述的两颗相邻牙齿模型中,对于被配对牙齿模型中的每个三角网格点,找到其相邻的一牙齿模型中与该三角网格点最近的三角网格点进行配对。
步骤二中所述的筛选是指根据点对的位置和点对中点的法向来判断点对所指的区域是否发生了碰撞。
所述的筛选具体过程如下:
首先根据实时更新后的牙齿模型U的位置和牙齿模型V的位置,分别对两个牙齿模型的点构建多层次查找树,然后快速查找出两个牙齿模型中最近的点对的集合。以牙齿U为例,假设在牙齿模型V中与牙齿模型U的三角网格点Ui最近的三角网格点为Vij,三角网格点Vij满足:
将所有点配对后,还需要对其进行筛选,将与其对应点Uij的距离较远的点Ui排除掉,即取碰撞阈值d,如果||Ui-Uij||>d,则将三角网格点Ui和三角网格点Vij排除掉,不作为点对。
所述步骤三具体是:对于一个点对(vj,rj),vj表示被配对牙齿模型中的三角网格点,rj表示相邻牙齿模型中的三角网格点,rj点的法向为nj,构建向量aj,aj=vj–rj,则aj×nj的结果就决定了该区域是否发生了碰撞。如果aj×nj>0则没有发生碰撞,如果aj×nj≤0则发生了碰撞。
分别对U、V两颗牙齿进行碰撞检测判断,然后取二者的并集作为最终的碰撞结果。
所述步骤四中,贯穿深度是由互相碰撞的点对的两点之间的距离得到,再根据最大贯穿深度获得出邻面去釉的数值,即IPR数值。确定IPR数值之后,根据路径规划信息,计算进行邻面去釉的步骤。
所述步骤五中,由所有互相碰撞点对的贯穿深度形成IPR区域作为牙齿最终状态发生碰撞的区域,将该区域进行标记,在医生端进行显示。
本发明的有益效果是:
本发明能准确地计算出排牙之后的邻面去釉数值,计算速度快,可实时获取邻面去釉数值,为医生提供了直观的参考数据,有利于矫治方案的确立和临床矫治的进行。
附图说明
图1为初始时牙齿的位置;
图2为排牙之后的牙齿位置;
图3为顶点匹配筛选示意图;
图4为碰撞判断示意图;
图5为邻面去釉数值显示。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细说明。
本发明的实施例如下:
步骤一、图1为未经过排列的初始牙齿模型,进行排牙之后,得到牙齿的最终位置,如图2所示。
再由排牙后的牙齿最终位置,实时更新单颗牙齿数据模型;
步骤二、将相邻牙齿模型的顶点进行配对,并进行筛选;
具体举例如图3所示,上下两个区域分别为牙齿U和牙齿V的三角网格面片。其中,对于牙齿V上的点a,牙齿U上的点c为距离其最近的点;对于牙齿V上的点b,牙齿U上的点c为距离其最近的点。随后进行筛选,点a与点c间的距离小于碰撞阈值d,而点b与点c间的距离大于碰撞阈值d,则对点a与点c这组点对作为碰撞区域的候选点对,而点b与点c这组点对可以被排除。
步骤三、根据法向量判断点对之间是否互相碰撞;
具体举例如图4所示,r为牙齿V上的点,Z为r点的法平面,n为r点的法向量。对于牙齿U上的点q,q位于法平面Z的上方,所以判断为未发生碰撞,对于牙齿U上的点p,p位于法平面Z的下方,则判断为发生碰撞。
步骤四、计算相互碰撞点对的贯穿深度,根据贯穿深度计算IPR数值,得到的数据如下:
在矫治过程的第四步,对牙齿LR4和LR3之间进行邻面去釉0.16mm;
在矫治过程的第三步,对牙齿LR2和LR1之间进行邻面去釉0.10mm;
在矫治过程的第三步,对牙齿LL2和LL3之间进行邻面去釉0.23mm。
步骤五、确定并显示IPR区域。
显示的IPR数据如图5所示,对要进行邻面去釉的部分进行标示,并标注去釉数值。
Claims (9)
1.一种用于邻面去釉计算的碰撞检测算法,其特征在于所述算法包含下列步骤:
步骤一、由排牙后的牙齿最终位置,实时更新单颗牙齿数据模型;
所述实时更新单颗牙齿数据模型具体是:
对于一对相邻牙齿模型U和牙齿模型V,牙齿模型U中三角网格点的点集为{U0…Ui…UI},牙齿模型V中三角网格点的点集为{V0…Vj…VJ},两颗牙齿模型的实时位置分别采用以下公式进行更新变换:
<mrow>
<msubsup>
<mi>U</mi>
<mi>i</mi>
<mo>&prime;</mo>
</msubsup>
<mrow>
<mo>(</mo>
<mover>
<mi>R</mi>
<mo>~</mo>
</mover>
<mo>,</mo>
<mover>
<mi>t</mi>
<mo>~</mo>
</mover>
<mo>)</mo>
</mrow>
<mo>&equiv;</mo>
<mover>
<mi>R</mi>
<mo>~</mo>
</mover>
<mrow>
<mo>(</mo>
<msub>
<mi>U</mi>
<mi>i</mi>
</msub>
<mo>-</mo>
<mover>
<mi>o</mi>
<mo>~</mo>
</mover>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mover>
<mi>o</mi>
<mo>~</mo>
</mover>
<mo>+</mo>
<mover>
<mi>t</mi>
<mo>~</mo>
</mover>
</mrow>
<mrow>
<msubsup>
<mi>V</mi>
<mi>j</mi>
<mo>&prime;</mo>
</msubsup>
<mrow>
<mo>(</mo>
<mover>
<mi>R</mi>
<mo>~</mo>
</mover>
<mo>,</mo>
<mover>
<mi>t</mi>
<mo>~</mo>
</mover>
<mo>)</mo>
</mrow>
<mo>&equiv;</mo>
<mover>
<mi>R</mi>
<mo>~</mo>
</mover>
<mrow>
<mo>(</mo>
<msub>
<mi>V</mi>
<mi>j</mi>
</msub>
<mo>-</mo>
<mover>
<mi>o</mi>
<mo>~</mo>
</mover>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mover>
<mi>o</mi>
<mo>~</mo>
</mover>
<mo>+</mo>
<mover>
<mi>t</mi>
<mo>~</mo>
</mover>
</mrow>
其中,表示旋转的中心,为旋转矩阵,为平移向量,Ui表示变换前的牙齿模型U中三角网格点,U′i表示变换后的牙齿模型U中三角网格点,Vj表示变换前的牙齿模型V中三角网格点,V′j表示变换后的牙齿模型V中三角网格点;
步骤二、将相邻牙齿模型的顶点进行配对,并进行筛选;
步骤三、根据法向量判断点对之间是否互相碰撞;
步骤四、计算相互碰撞点对的贯穿深度,根据贯穿深度计算IPR数值;
步骤五、确定并显示IPR区域。
2.根据权利要求1所述的一种用于邻面去釉计算的碰撞检测算法,其特征在于:步骤一中所述的实时更新单颗牙齿数据模型,是指在单颗牙齿排牙之后,更新模型中三角网格各点的实时位置。
3.根据权利要求1所述的一种用于邻面去釉计算的碰撞检测算法,其特征在于:步骤二中所述的配对是遍历每一颗牙齿模型的每一个三角网格点,将该颗被配对牙齿模型的三角网格点及其相邻的一个牙齿模型中的三角网格点进行配对,获得各对点对。
4.根据权利要求1所述的一种用于邻面去釉计算的碰撞检测算法,其特征在于:两颗所述相邻牙齿模型中,对于被配对牙齿模型中的每个三角网格点,找到其相邻的一牙齿模型中与该三角网格点最近的三角网格点进行配对。
5.根据权利要求1所述的一种用于邻面去釉计算的碰撞检测算法,其特征在于:步骤二中所述的筛选是指根据点对的位置和点对中点的法向来判断点对所指的区域是否发生了碰撞。
6.根据权利要求1或5所述的一种用于邻面去釉计算的碰撞检测算法,其特征在于:所述的筛选具体过程如下:
假设在牙齿模型V中与牙齿模型U的三角网格点Ui最近的三角网格点为Vij,三角网格点Vij满足:
<mrow>
<msub>
<mi>U</mi>
<mrow>
<mi>i</mi>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<mi>arg</mi>
<munder>
<mrow>
<mi>m</mi>
<mi>i</mi>
<mi>n</mi>
</mrow>
<mrow>
<mi>U</mi>
<mo>&Element;</mo>
<mo>{</mo>
<msub>
<mi>U</mi>
<mi>i</mi>
</msub>
<mo>}</mo>
</mrow>
</munder>
<mo>|</mo>
<mo>|</mo>
<mi>U</mi>
<mo>-</mo>
<msub>
<mi>V</mi>
<mi>j</mi>
</msub>
<mo>|</mo>
<mo>|</mo>
</mrow>
如果||Ui-Uij||>d,则将三角网格点Ui和三角网格点Vij排除掉,不作为点对。
7.根据权利要求1所述的一种用于邻面去釉计算的碰撞检测算法,其特征在于:所述步骤三具体是:
对于一个点对(vj,rj),vj表示被配对牙齿模型中的三角网格点,rj表示相邻牙齿模型中的三角网格点,rj点的法向为nj,构建向量aj,aj=vj–rj,如果aj×nj>0则没有发生碰撞,如果aj×nj≤0则发生了碰撞。
8.根据权利要求1所述的一种用于邻面去釉计算的碰撞检测算法,其特征在于:所述步骤四中,贯穿深度是由互相碰撞的点对的两点之间的距离得到,再根据最大贯穿深度获得出邻面去釉的数值,即IPR数值。
9.根据权利要求1所述的一种用于邻面去釉计算的碰撞检测算法,其特征在于:所述步骤五中,由所有互相碰撞点对的贯穿深度形成IPR区域作为牙齿最终状态发生碰撞的区域,将该区域进行标记,进行显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610183413.7A CN105853008B (zh) | 2016-03-28 | 2016-03-28 | 一种用于邻面去釉计算的碰撞检测算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610183413.7A CN105853008B (zh) | 2016-03-28 | 2016-03-28 | 一种用于邻面去釉计算的碰撞检测算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105853008A CN105853008A (zh) | 2016-08-17 |
CN105853008B true CN105853008B (zh) | 2017-12-26 |
Family
ID=56625000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610183413.7A Active CN105853008B (zh) | 2016-03-28 | 2016-03-28 | 一种用于邻面去釉计算的碰撞检测算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105853008B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111315314B (zh) * | 2017-10-06 | 2022-02-22 | 3M创新有限公司 | 用于中间正畸数字排列生成的自动化方法 |
CN110353852B (zh) * | 2018-04-10 | 2022-02-01 | 无锡时代天使医疗器械科技有限公司 | 基于计算机的测量两颗牙齿间位置关系的方法 |
CN112932695B (zh) * | 2019-12-10 | 2023-07-11 | 杭州朝厚信息科技有限公司 | 计算机执行的判断邻面去釉时机的方法 |
CN112884882B (zh) * | 2021-01-21 | 2022-11-11 | 上海埃蒙迪材料科技股份有限公司 | 排牙分步的方法、装置和电子设备 |
CN113100976A (zh) * | 2021-04-09 | 2021-07-13 | 北方民族大学 | 基于特征点消除牙齿间碰撞及缝隙的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101528152A (zh) * | 2006-08-30 | 2009-09-09 | 矫正技术公司 | 用于牙齿间去釉的建模和实施的系统和方法 |
CN102871763A (zh) * | 2012-10-23 | 2013-01-16 | 西安中邦种植体技术有限公司 | 牙齿种植体稳定性便携式测试设备 |
CN204542409U (zh) * | 2015-01-30 | 2015-08-12 | 杭州一牙数字口腔有限公司 | 能检测邻面去釉的无托槽矫治器临床模板 |
-
2016
- 2016-03-28 CN CN201610183413.7A patent/CN105853008B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101528152A (zh) * | 2006-08-30 | 2009-09-09 | 矫正技术公司 | 用于牙齿间去釉的建模和实施的系统和方法 |
CN102871763A (zh) * | 2012-10-23 | 2013-01-16 | 西安中邦种植体技术有限公司 | 牙齿种植体稳定性便携式测试设备 |
CN204542409U (zh) * | 2015-01-30 | 2015-08-12 | 杭州一牙数字口腔有限公司 | 能检测邻面去釉的无托槽矫治器临床模板 |
Also Published As
Publication number | Publication date |
---|---|
CN105853008A (zh) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105853008B (zh) | 一种用于邻面去釉计算的碰撞检测算法 | |
CN109409437B (zh) | 一种点云分割方法、装置、计算机可读存储介质及终端 | |
CN110189352B (zh) | 一种基于口腔cbct图像的牙根提取方法 | |
CN108022251B (zh) | 一种管状结构的中心线的提取方法及系统 | |
CN110689564B (zh) | 一种基于超像素聚类的牙弓线绘制方法 | |
CN104463953B (zh) | 基于惯性测量单元与rgb‑d传感器的三维重建方法 | |
CN112102494B (zh) | 骨架线引导的树状点云表面重建方法及装置 | |
CN112515787B (zh) | 一种三维牙颌数据分析方法 | |
CN112085675B (zh) | 深度图像去噪方法、前景分割方法及人体运动监测方法 | |
CN113538471B (zh) | 斑块的分割方法、装置、计算机设备和存储介质 | |
CN107330901A (zh) | 一种基于骨架的物体构件分解方法 | |
WO2020093566A1 (zh) | 脑出血图像处理方法、装置、计算机设备及存储介质 | |
CN107895364A (zh) | 一种用于虚拟手术术前规划的三维重建系统 | |
CN111968146A (zh) | 三维牙颌网格模型分割方法 | |
WO2020181973A1 (zh) | 确定上、下颌牙齿咬合关系的方法及计算机系统 | |
CN108230342A (zh) | 一种基于心脏解剖结构的左右心室水平集分割方法 | |
CN110827233A (zh) | 一种牙齿三维点云数据表面窝沟区域的提取方法 | |
CN107564023A (zh) | 一种cbct牙齿分割及建模算法 | |
CN105893739B (zh) | 一种用于上下颌咬合区域计算的碰撞检测方法 | |
CN111062988B (zh) | 一种基于局部点云的葡萄位姿估计方法 | |
CN110135397B (zh) | 一种识别三维牙齿模型中牙冠部分的方法 | |
CN110047146B (zh) | 一种基于单幅回转体图像3d还原的误差修正方法 | |
CN107123138A (zh) | 基于vanilla‑R点对剔除策略的点云配准算法 | |
CN110288517A (zh) | 基于投影匹配组的骨架线提取方法 | |
CN111583359A (zh) | 一种农田面状图斑的坡度信息提取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |