一种虚拟牙龈三角网格构建和形变算法的制作方法

文档序号:12064851阅读:530来源:国知局
一种虚拟牙龈三角网格构建和形变算法的制作方法与工艺

本发明涉及了一种计算机三角网格模型处理方法,尤其是涉及了一种虚拟牙龈三角网格构建和形变算法,用于牙齿模型建立时创建虚拟牙龈和进行牙龈随动。

技术背景

近年来,数字口腔技术发展迅速,牙齿隐形正畸也逐渐普及。而数字治疗辅助系统要完成的工作就是建立牙齿模型,为矫治方案的设计提供数据支持。要建立精准的牙齿模型,首先需要通过光学方法扫描石膏模型获得牙颌三维数据,再利用数字几何处理技术分离牙齿牙龈数据,并对牙齿缺失部分进行修复,建立可移动的牙齿模型,供医生确定矫治方案。

在牙齿模型的建立中,原本的牙龈模型因为取模、翻模过程中的修整,会有较大的变形,所以需要重新建立虚拟牙龈模型。而在牙齿的移动过程中,也需要牙龈能够随之而移动,以直观地展示移动过程,并使制作出来的牙套更加舒适。



技术实现要素:

为了解决

背景技术:
中存在的问题,本发明公开了一种虚拟牙龈三角网格构建和形变算法。

本发明采用的技术方案是包括以下步骤:

1)先构建虚拟牙龈三角网格:

1.1)导入各颗牙齿模型,并建立牙齿模型的局部坐标系;

1.2)获取每颗牙齿模型对应的控制点,利用所有控制点获得牙龈边界线;

1.3)根据牙龈边界线生成虚拟牙龈三角网格;

2)对虚拟牙龈三角网格形变:在移动牙齿模型上的点或是调整牙齿模型的参数后,采用上述步骤实时更新生成新的虚拟牙龈三角网格。

所述的牙齿模型为切割完毕且其边缘已平滑修复的三角网格模型。

所述步骤1.1)牙齿模型的局部坐标系是指以牙齿模型的几何中心为坐标原点所建立的XYZ三维坐标系,X轴方向平行于牙颌面并由舌侧指向唇侧,即X轴方向沿牙弓线法向并与牙齿模型的表面垂直,Z轴方向垂直于牙颌面并从牙根指向牙冠,即与牙齿的生长方向一致,Y轴方向分别与X轴方向、Z轴方向相垂直,Y轴方向平行于牙颌面并沿牙弓线的切向。

牙颌面指的是上颌或者下颌牙齿所在的水平面。

每颗牙齿的牙齿模型具有自身的局部坐标系,不同颗牙齿的牙齿模型具有不同的局部坐标系。

所述步骤1.2)中的控制点是指位于每颗牙齿模型的边缘上有序排列的点,针对每颗牙齿模型,控制点采用以下方式获得:

Step1:找到牙齿模型的边界点并对边界点进行排序;

将牙齿模型的各个边界点投影到局部坐标系的XY水平面,局部坐标系的XY水平面与牙颌面平行,在投影得到的点中找到在X轴正方向区域里与X轴最近的点作为排序的起始点,然后从该点开始沿着XY平面顺时针的方向对边界点进行依次排序,获得有序的边界点集;

Step2:抠除牙缝点,根据牙缝点将牙齿模型上剩余的边界点分为内边界点和外边界点,牙缝点是相邻两颗牙齿模型之间牙缝两侧附近的边界点;

Step3:利用局部坐标系在抠除牙缝点后的边界点中获取控制点,从每颗牙齿模型的内边界点和外边界点中分别均匀地选择五个边界点作为控制点,得到内控制点和外控制点。内控制点位于舌侧,外控制点位于唇颊侧。

所述步骤Step2中的牙缝点采用以下方式获得:一颗牙齿模型上的任意边界点为v1,相邻的另一颗牙齿模型上的任意边界点为v2,对于两颗相邻牙齿模型上的所有边界点,只要任意两边界点之间的欧式距离满足||v1-v2||<=Dmin+0.5则均视为牙缝点,Dmin为两颗相邻牙齿模型之间的最短距离。

所述步骤1.2)中的牙龈边界线包括两条上部边界线和两条底部边界线,按照顺序依次连接控制点得到牙龈与牙齿相邻的分别位于内、外的两条上部边界线,依次连接各颗牙齿模型的内控制点获得上部内边界线,依次连接各颗牙齿模型的外控制点获得上部外边界线,将所有控制点投影到牙龈底部平面后进行曲线拟合得到分别位于内、外的两条底部边界线,牙龈底部平面位于牙颌面下方并与全局坐标系XY水平面平行。

所述底部边界线采用以下方式获得:

Step1:对于内外控制点,采用以下方式从控制点在牙龈底部平面上的投影点中选择确定拟合控制点,获得内拟合控制点和外拟合控制点:

先在除了最边缘两颗磨牙的牙齿模型以外的其他牙齿模型平均取五颗牙齿模型,加上最边缘两颗磨牙的牙齿模型,共有七颗牙齿模型;

接着在每颗牙齿模型中先选取中间的一个控制点,并投影到牙龈底部平面上获得的投影点作为拟合控制点v2~v6

然后在最边缘两颗磨牙的牙齿模型中选取中间的两个控制点,并投影到牙龈底部全局坐标系的XY平面上获得的投影点作为拟合控制点v1和v7,即总共有七个拟合控制点v1、v2、v3、v4、v5、v6和v7

最后在最边缘两颗磨牙之外再多取两个拟合控制点v0、v8,这两个拟合控制点v0、v8与之前七个拟合控制点v1、v2、v3、v4、v5、v6和v7之间的距离位置满足以下关系:

v0=v1+(v1-v2)

v8=v7+(v7-v6)

式中,v0、v8、v1、v2、v3、v4、v5、v6和v7均表示拟合控制点的坐标。

Step2:利用内、外拟合控制点拟合生成三次B-样条曲线,获得内、外三次B-样条曲线;

Step3:调整拟合控制点的位置进而调整三次B-样条曲线的形态,使得内、外三次B-样条曲线之间每一处的间距相等,即法向间距均匀;

Step4:将所有控制点在牙龈底部平面上的投影点在沿曲线的法向投影到三次B-样条曲线上获得各个投影曲线点,连接投影曲线点得到位于内、外的底部边界线。即如将所有内控制点在牙龈底部平面上的投影点在沿曲线的法向投影到内三次B-样条曲线上获得各个投影曲线点,连接投影曲线点得到底部内边界线。曲线的法向是指垂直于三次B-样条曲线方向。

所述步骤1.3)虚拟牙龈三角网格具体分为牙龈顶部、牙龈底部、牙龈内外侧面的三部分,三部分分别采用以下方式构建,然后合并形成虚拟牙龈:

牙龈顶部:使用直线将颊侧的每个外控制点与其对应的舌侧的内控制点依次连接起来,再在直线的中间细分插值多个点,该多个点作为牙龈顶部曲面的构造顶点,将构造顶点按照拓扑关系进行连接得到牙龈顶部的三角网格平面;

牙龈底部:以三角网格方式在分别位于内、外的底部边界线上的投影曲线点之间进行拓扑连接,得到牙龈底部的三角网格平面;

牙龈侧部:通过预设侧面曲线将上部边界线上的每一控制点与其在底部边界线上对应的投影曲线点进行连接,再在预设侧面曲线上进行细分插值多个点,作为牙龈侧部曲面的构造顶点,将构造顶点按照拓扑关系进行连接得到牙龈侧部的三角网格平面。即如通过预设内侧面曲线将上部内边界线上的每一内控制点与其在底部内边界线上对应的内投影曲线点进行连接,进而获得牙龈内侧部的三角网格平面。

本发明在得到四条牙龈边界线之后,需要将边界上的点对应连接起来,生成牙龈侧部点。该步骤的关键是侧面曲线的构造,然后用构造出来的曲线将牙齿边界线上的控制点和它在底部边界线上对应的投影点连接起来,因此本发明使用离散化方式通过几个固定的偏移量来确定侧面曲线。确定了侧面曲线之后,对该曲线进行细分,即在曲线上按一定的疏密取n个点,作为侧面的构造顶点。

本发明算法能让用户移动控制点或改变调整模型文件时实时生成新的虚拟牙龈。

本发明采用基于控制点的模型实时构建算法,根据矫治方案阶段中的牙齿运动信息对虚拟牙龈控制点进行实时更新,从而以控制点驱动牙龈的实时更新。在本算法中,对构造牙龈的控制点信息和调整信息进行了记录,在形变过程中,利用控制点来传达形变信息,利用调整文件来保证不变的信息,在这样的限制下最终形成了整个牙龈的整体形变。

本发明的有益效果是:

本发明算法通过计算得到更加符合牙齿牵引作用的牙龈数据,以提高矫治器在使用过程的舒适程度,减少矫治器对牙龈组织的挤压。同时,通过本发明算法处理中,其牙龈随着牙齿位置运动而形变的过程能够通过显示屏呈现,提高医生与患者在矫治方案设计交流的方便,能够直观地向患者展示整个矫治方案。

附图说明

图1为切割后并进行边缘平滑修复过的牙齿模型。

图2为全颌牙齿的命名方式。

图3为牙齿模型的命名方式。

图4为上牙牙列的命名示例。

图5为牙齿模型的局部坐标系。

图6为牙齿模型的边界点。

图7为扣除牙缝区域后的边界点。

图8为牙齿模型的控制点。

图9为牙齿模型牙缝的控制点。

图10为牙齿模型控制点的全局示意图。

图11为牙龈底部边缘线拟合的下视图。

图12为软件自动生成的牙龈底部边缘的拟合曲线。

图13为人工调整过后的牙龈底部边缘的拟合曲线。

图14为几种构造牙龈侧部的曲线。

图15为调整侧面曲线的操作界面。

图16为虚拟牙龈的最终效果图之一。

图17为虚拟牙龈的最终效果图之二。

图18为牙龈随牙齿形变的效果图。

图19为同一副牙齿利用现有算法和本发明算法构建的虚拟牙龈正视图。

图20为同一副牙齿利用现有算法和本发明算法构建的虚拟牙龈下视图。

图21为同一副牙齿利用现有算法和本发明算法构建的虚拟牙龈后视图。

图22为同一副牙齿利用现有算法和本发明算法进行的虚拟牙龈形变的效果。

具体实施方式

下面结合附图及具体实施例对本发明作进一步详细说明。本发明的实施是为了对本发明进一步说明,而非对本发明的发明范围的限制。

本发明方法的实施例及其具体过程如下:

1)导入牙齿模型及对应的局部坐标系

(1.1)首先导入牙齿模型。所导入的牙齿模型是对全颌牙齿进行切割后,得到的牙齿模型。为了得到完整合适的牙龈边缘线,需要对切割之后的牙齿模型进行边缘平滑等修复操作,修复后如图1所示,图1的模型已经进行了边缘平滑等修复操作。

(1.2)为了保证牙齿的有序和牙齿与模板的正确匹配,需要先对全颌牙齿按照规范命名,如图2所示,命名方式为类型+方向+牙位。类型,用来分辨上颌和下颌,上颌用U表示,下颌用L表示;方向,用来分辨左边和右边,左边用L表示,右边用R表示,这里的左右均以患者自身作为参照,如图3所示;牙位,即从牙齿编号,对于正常的牙齿模型(没有缺牙情况),该数字在确定是由中间向两侧(即由切牙向磨牙)从1开始依次递增,如出现缺牙的情况,则跳过缺失的编号,这样保证模型命名的唯一性。图4为上牙牙列的命名。

(1.3)每个牙齿模型都有对应的局部坐标,所谓局部坐标系,也就是坐标系以牙齿模型的中心为坐标原点,牙齿模型的旋转或平移等操作都是围绕局部坐标系进行的,当模型进行旋转或平移等操作时,对应的局部坐标系也执行相应的旋转或平移操作。

(1.4)局部坐标系的建立,如图5所示。实施例局部坐标的表示如下:

m 22.98515.91364-1.47456

x 0.9700640.139679-0.198659

y -0.1238190.9881920.0902538

z 0.208891-0.06295980.97591

其中m是一个三维坐标标识局部坐标系原点位置,x、y、z是三个单位向量,用来标识的局部坐标系的三个分量方向。

2)导入牙齿模型之后,开始虚拟牙龈的生成。

(2.1)首先确定每个牙齿模型对应的控制点,从而利用控制点找到牙龈边界。

控制点是位于每个牙齿模型的边缘上有序排列的点,按照顺序连接控制点,可以得到牙龈与牙齿相邻的边界线。

(2.1.1)对边界点的排序首先要确定一个排序的起始点,这一步需要用到局部坐标系,将牙齿模型的边界点投影到局部坐标系的XY平面,在投影点中找到在X轴正方向区域里与X轴最近的点作为排序的起始点,然后从这一点开始沿着顺时针的方向对边界点进行搜索排序并将有序的边界点集保存下来。

(2.1.2)因为之前找到的边界点都是闭合的一圈回路,而由控制点确定的牙龈边界不会延伸到牙缝的位置,所以需要将牙缝区域的边界点扣除。计算两个相邻牙齿模型之间的最短距离Dmin,设置阈值为Dmin+0.5,相邻的牙齿模型之间但凡距离小于这个阈值范围的点对都视为牙缝点,即满足:

||v1-v2||<=Dmin+0.5

其中v1表示模型1上的任意边界点,v2表示模型2上的任意边界点,||v1-v2||表示两点之间的欧式距离。将所有牙缝点删除之后得到如图6所示的边界点集。

(2.1.3)得到如图7所示的边界点之后,从中找到控制点。首先根据上一步删除的牙缝,在颊侧找到两个边界点作为控制点RF、LF,然后在RF和LF之间进行等距采样,确定n(n为奇数)个控制点,其中第(n+1)/2个点标记为F,同理可找到舌侧的控制点RB、LB,并将采样得到的第(n+1)/2个点标记为B,这样对于每一个牙齿模型,都可以得到2n+4个有序的控制点,如图8所示。

(2.1.4)对于相邻的牙齿之间,还取了两个点作为牙缝点,如图9所示。

(2.2)连接控制点以及通过曲线拟合得到牙龈边界线。

牙龈的边界线一共有四条,分别是位于牙齿模型边界处,依次连接控制点所得到的内外两条边界线,为顶部边界线,以及位于牙龈底部平面上较平滑的内外侧轮廓线,为底部边界线。

(2.2.1)将牙齿模型控制点按照顺序进行连接得到牙齿边界线,以唇颊侧的牙齿边界线为例,从右向左进行操作,从第一个牙齿模型的控制点RF开始,依次连接控制点直到连接到LF,再连接与第二个牙中间的牙缝点,然后连接到第二个牙齿模型的控制点RF,以此类推,直到最后一个牙齿模型的控制点LF为止,同理可以得到内测的牙齿边界线,只是连接顺序变为从左向右进行。结果如图10所示。

(2.2.2)底部边界线位于牙龈底部平面上,牙龈底部平面位于牙颌面下方并与全局坐标系XY水平面平行,所以先要将所有控制点沿着全局坐标Z轴负方向投影到牙龈底部平面上,在牙龈底部平面上拟合得到牙龈底部边界线的算法如下:

(2.2.2.1)拟合控制点用于可控制B-样条曲线的形态,拟合控制点的取法如下:拟合控制点从投影到底部二维平面上的点中找,该点在投影前是位于牙齿上控制点B和F,其中由控制点F投影得到的点作为底部牙龈颊侧边缘线的拟合控制点,由控制点B投影得到的点作为底部牙龈舌侧边缘线的拟合控制点。为了保证拟合得到的B-样条曲线可以穿过头尾两个拟合控制点,这里需要在头尾额外多取两个拟合控制点,这两个拟合控制点的计算方法如下:

以外侧曲线拟合为例,已知n个拟合控制点v1、v2、……vn-1、vn,新增加的拟合控制点v0、vn+1的位置满足:

v0=v1+(v1-v2)

vn+1=vn+(vn-vn-1)

其中,n表示由牙齿上的控制点直接投影得到的拟合控制点的个数。

(2.2.2.2)利用得到的拟合控制点,便可以在牙龈底部平面上拟合得到颊舌侧两条B样条曲线,如图11所示。

(2.2.2.3)B-样条曲线是分段连续的多项式曲线,其基函数由节点向量定义。

定义在节点向量u={u0,u1,…,ui,…,un+k+1}上的k次(k+1阶)、具有(n+1)个拟合控制点的B-样条曲线为:

其中,Ri为第i个控制顶点,Ni,k(u)为单位化的第i个k次(k+1阶)B-样条基函数,其定义为:

其中,Ni,0(u)是一个阶梯函数,它在半开区间u∈[ui,ui+1)外都是零;当k>0时,Ni,k(u)是两个k-1次基函数的线性组合。

本发明用到的是三次B-样条曲线,即k=3,基函数如下:

u∈[0,1]

其中,Ni,3(u)为单位化的第i个三次(4阶)B-样条基函数。

(2.2.2.4)三次B-样条曲线形态调整,由投影之后的点作为拟合控制点直接生成的三次B-样条曲线形态可能不是很均匀,这时需要进行微调,即调整拟合控制点的位置,进而调整曲线的形态,调整之前如图12所示,调整之后如图13所示,调整是使得内外曲线之间的间隔均匀。

(2.2.2.5)确定了拟合曲线的形态之后,将底部二维平面上所有的投影点向拟合曲线移动,该算法就是将投影点在沿拟合曲线的法向投影到三次B-样条曲线上获得各个投影曲线点,将投影点移动到投影曲线点的位置,然后沿着拟合曲线进行均匀化调整,将最终的投影曲线点按照顺序连接起来即可得到均匀的牙龈底部颊舌侧边界线。

(2.3)生成虚拟牙龈

本发明将虚拟牙龈分为三部分进行构造,分别是牙龈顶部,牙龈侧部,牙龈底部,其中牙龈底部将现有的底部控制点直接进行连接即可得到,下面分别介绍牙龈顶部和侧面的构造。

(2.3.1)牙龈顶部构造。先将之前得到的控制点按照分布分为颊侧控制点和舌侧控制点,然后将对应的控制点用直线进行连接,在直线上按照细分程度插值得到中间顶点,该顶点作为牙龈顶部的构造顶点。

(2.3.2)牙龈侧部的构造。在得到四条牙龈边界线之后,接下来就需要将边界上的点对应连接起来,生成牙龈侧部点。该步骤的关键侧面曲线的构造,然后用构造出来的曲线将牙齿边界线上的控制点和它在底部边界线上对应的投影点连接起来,这里使用离散化的思想,通过几个固定的偏移量来确定侧面曲线。如图14所示,通过事先构造好的几种侧面曲线来生成牙龈的侧面,不同的侧面曲线对应不同类型的牙齿,比如,对于切牙来说,使用的侧面曲线弯曲程度比磨牙要小。再挑选合适的曲线进行来构造牙龈的侧面,并且利用插值生成中间区域的侧面曲线。

(2.3.3)牙龈底部:以三角网格方式在分别位于内、外的底部边界线上的投影曲线点之间进行拓扑连接,得到牙龈底部的三角网格平面。

实施例根据具体情况对侧面曲线进行调整,通过调整一些偏移量的数值来改变侧面曲线的形态,最终优选的曲线形态如图15所示。

确定了侧面曲线之后,对该曲线进行细分,即在曲线上按一定的疏密取n个点,作为侧面的构造顶点。将构造顶点按照拓扑关系进行连接,得到三角网格平面,即虚拟牙龈的顶部和侧面构造完成,最终生成如图16,图17所示的虚拟牙龈。

3)虚拟牙龈实时形变,主要包括3个步骤:

(3.1)记录形变控制点和调整文件

第一次生成虚拟牙龈时,会得到相应的控制点,如图10所示,利用控制点,可以生成对应的牙龈。并且需要记录这些控制点的位置以及其所对应的牙齿,以保证该控制点和对应牙齿的相对位置不发生该改变。

同样,在第一次生成虚拟牙龈时,会产生许多调整数据,包括牙龈高度的调整,底部曲线的调整,侧面曲线的调整等,假设在形变的过程中这些调整数据不发生改变,对于同一副牙颌来说,由于牙齿不会发生太大的变化,所以这样的假设是合理的,这样也就保证了形变区域的牙龈和初始状态相差不会太多,非形变区域也可以尽可能保留原始的状态。

(3.2)改变控制点位置

当牙齿发生坐标变换(包括旋转和平移)时,会产生对应的变换矩阵,将该矩阵作用于该牙齿对应的控制点,便可以得到新的控制点。

(3.3)根据新的控制点实时构造新的牙龈

重复虚拟牙龈构造的上述两步骤,便根据新的控制点得到新的虚拟牙龈,并且这一过程可以达到实时的效果,如图18所示,其中左边均为原始牙龈,右边为发生牙齿移动之后牙龈对应发生形变的效果。

4)与现有的算法进行比较

实施例对同一副牙颌数据,分别使用现有的构造虚拟牙龈算法和本发明算法进行牙龈的构造与形变,得到的最终结果如下表所示

如图19所示,左边是现有算法,右边是本发明算法。其中可见本发明算法比现有的算法网格简化很多,顶点和面片的数量几乎是现有算法的四分之一。

如图20所示,左边是现有算法,右边是本发明算法。其中可见由于本发明算法在构建底部内外侧曲线的时候,进行了均匀化的处理,最终得到的底部网格比现有算法的得到的底部网格更将规整和均匀。

如图21所示,左边是现有算法,右边是本发明算法。其中可见现有的算法侧面曲线无法根据实际情况进行调整,会产生牙根暴露的情况,本发明算法为用户提供了调整曲线凸起程度的交互方式,很好地包裹各种情况的牙根。

如图22所示,左边是现有的算法,右边是本发明算法。其中可见现有的算法形变区域和非形变区域之间存在明显的网格拉扯,而本发明算法形变区域和非形变区域之间过度自然。同时,由于现有的牙龈形变算法多采用拉普拉斯形变算法,该算法的复杂度会随着形变区域的变大而增大,而本发明使用的是控制点驱动的实时构建算法,该算法对单颗牙齿产生的形变和多颗牙齿产生的形变时间复杂度相差不多。

综上,本发明虚拟牙龈构建和形变算法相比现有的算法速度更快质量更高,并能够得到更加符合牙齿牵引作用的牙龈数据,以提高矫治器在使用过程的舒适程度。同时,通过本发明算法处理中,其牙龈随着牙齿位置运动而形变的过程能够通过显示屏呈现,提高医生与患者在矫治方案设计交流的方便,能够直观地向患者展示整个矫治方案。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1