本发明涉及牙齿正畸技术领域,特别是涉及一种上下牙颌的咬合关系建立方法、装置及用户终端。
背景技术:
隐形牙套由于其美观、方便等优点越来越受人们的欢迎。在采用隐形牙套进行。一般地,咬合状态由技工通过经验判断确定,具体方法是固定下颌石膏模型位置,不断改变上颌石膏模型位置,通过上下颌石膏模型之间的力反馈来确定最佳咬合位置,然后扫描上下颌石膏模型记录牙齿咬合状态。这种方式不仅误差较大,而且效率较低。
技术实现要素:
基于此,有必要针对如何提高上下牙颌的咬合状态的确定的准确性以及工作效率的问题,提供一种上下牙颌的咬合关系建立方法、装置及用户终端。
一种上下牙颌的咬合关系建立方法,包括以下步骤:
(1)获取上牙颌扫描数据和下牙颌扫描数据;
(2)分别对所述上牙颌扫描数据和所述下牙颌扫描数据建立坐标系,并将所述上牙颌扫描数据和所述下牙颌扫描数据的坐标系进行初对准;
(3)根据当前的所述上牙颌扫描数据的坐标系O(k),确定当前上牙颌扫描数据集,并计算所述当前上牙颌扫描数据集中的每个上牙颌扫描数据和所述下牙颌扫描数据之间的整体凸包体积;其中,k为迭代次数,k≥1;
(4)确定所述当前上牙颌扫描数据集中与所述下牙颌扫描数据的整体凸包体积最小的上牙颌扫描数据为当前最小上牙颌扫描数据,并获得当前最小整体凸包体积,且所述当前最小上牙颌扫描数据和所述下牙颌扫描数据之间无碰撞时,确立下一上牙颌扫描数据的位置;
(5)根据所述下一上牙颌扫描数据的坐标系,确定下一上牙颌扫描数据集,并计算所述下一上牙颌扫描数据集中的每个上牙颌扫描数据和所述下牙颌扫描数据之间的整体凸包体积,并获取下一最小整体凸包体积;
(6)当所述当前最小整体凸包体积和所述下一最小整体凸包体积的变化小于预定值,则结束迭代,所述当前上牙颌扫描数据和所述下牙颌扫描数据的位置即为上下牙颌的咬合关系建立的位置;反之,则返回步骤(3),k增加1。
在其中一个实施例中,在步骤(4)和步骤(5)之间还包括步骤:
当所述当前最小上牙颌扫描数据和所述下牙颌扫描数据之间有碰撞时,则确定除了所述当前最小整体凸包体积之外的整体凸包体积所对应的所述当前上牙颌扫描数据集中的各上牙颌扫描数据的位置,即确定所述各上牙颌扫描数据的坐标系;
比较所述各上牙颌扫描数据中分别与所述下牙颌扫描数据的整体凸包体积的大小,确定所述各上牙颌扫描数据与所述下牙颌扫描数据的整体凸体积最小的上牙颌扫描数据作为当前的上牙颌扫描数据。
在其中一个实施例中,
计算所述当前上牙颌扫描数据集中的每个上牙颌扫描数据和所述下牙颌扫描数据之间的整体凸包体积的步骤包括:
确定当前的所述上牙颌扫描数据的表征参数,并根据所述表征参数确定多个坐标系的位置;
计算每个所述坐标系的位置所对应的上牙颌扫描数据与所述下牙颌扫描数据之间的整体凸包体积。
在其中一个实施例中,所述上牙颌扫描数据的坐标系的表征参数包括所述上牙颌扫描数据相对于所述下牙颌扫描数据的位置(x,y,z)以及姿态(Rx,Ry,Rz)。
在其中一个实施例中,采用Nelder-Mead单纯形的方法,确定所述坐标系的位置。
在其中一个实施例中,基于层次包围盒的方式,确定所述上牙颌扫描数据和所述下牙颌扫描数据之间是否有碰撞。
在其中一个实施例中,基于层次包围盒的方式,确定所述上牙颌扫描数据和所述下牙颌扫描数据之间是否有碰撞的步骤包括:
分别建立所述上牙颌扫描数据和所述下牙颌扫描数据的包围盒树;
遍历所述上牙颌扫描数据和所述下牙颌扫描数据的包围盒树,若所述上牙颌扫描数据和所述下牙颌扫描数据的包围盒树的叶子节点无相交,则所述上牙颌扫描数据和所述下牙颌扫描数据无碰撞;若所述上牙颌扫描数据和所述下牙颌扫描数据的包围盒树的叶子节点有相交,则判断所述相交的包围盒内的三角片是否有相交;
若所述相交的包围盒内的三角片无相交,则所述上牙颌扫描数据和所述下牙颌扫描数据无碰撞;反之,则所述上牙颌扫描数据和所述下牙颌扫描数据有碰撞。
一种上下牙颌的咬合关系建立装置,包括:
扫描数据获取模块,用于获取上牙颌扫描数据和下牙颌扫描数据;
初对准模块,用于分别对所述上牙颌扫描数据和所述下牙颌扫描数据建立坐标系,并将所述上牙颌扫描数据和所述下牙颌扫描数据的坐标系进行初对准;
整体凸包体积计算模块,用于根据当前的所述上牙颌扫描数据的坐标系O(k),确定当前上牙颌扫描数据集,并计算所述当前上牙颌扫描数据集中的每个上牙颌扫描数据和所述下牙颌扫描数据之间的整体凸包体积;其中,k为迭代次数,k≥1;
位置确定模块,用于确定所述当前上牙颌扫描数据集中与所述下牙颌扫描数据的整体凸包体积最小的上牙颌扫描数据为当前最小上牙颌扫描数据,并获得当前最小整体凸包体积,且所述当前最小上牙颌扫描数据和所述下牙颌扫描数据之间无碰撞时,确立下一上牙颌扫描数据的位置;
下一最小整体凸包体积获取模块,用于根据所述下一上牙颌扫描数据的坐标系,确定下一上牙颌扫描数据集,并计算所述下一上牙颌扫描数据集中的每个上牙颌扫描数据和所述下牙颌扫描数据之间的整体凸包体积,并获取下一最小整体凸包体积;
判断模块,用于当所述当前最小整体凸包体积和所述下一最小整体凸包体积的变化小于预定值,则结束迭代,所述当前上牙颌扫描数据和所述下牙颌扫描数据的位置即为上下牙颌的咬合关系建立的位置;反之,则返回整体凸包体积计算模块,k增加1。
一种用户终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述方法的步骤。
上述上下牙颌的咬合关系建立方法、装置、用户终端及存储介质, 获取上牙颌扫描数据和下牙颌扫描数据,分别对该上牙颌扫描数据和下牙颌扫描数据建立坐标系,并将上牙颌扫描数据和下牙颌扫描数据的坐标系进行初对准,再根据当前的上牙颌扫描数据的坐标系O(k),确定当前上牙颌扫描数据集,并计算当前上牙颌扫描数据集中的每个上牙颌扫描数据和所述下牙颌扫描数据之间的整体凸包体积,确定当前上牙颌扫描数据集中与下牙颌扫描数据的整体凸包体积最小的上牙颌扫描数据为当前最小上牙颌扫描数据,并获得当前最小整体凸包体积,且当前最小上牙颌扫描数据和下牙颌扫描数据之间无碰撞时,确立下一上牙颌扫描数据的位置,再根据下一上牙颌扫描数据的坐标系,确定下一上牙颌扫描数据集,并计算下一上牙颌扫描数据集中的每个上牙颌扫描数据和下牙颌扫描数据之间的整体凸包体积,并获取下一最小整体凸包体积,当所述当前最小整体凸包体积和所述下一最小整体凸包体积的变化小于预定值,则结束迭代,当前上牙颌扫描数据和下牙颌扫描数据的位置即为上下牙颌的咬合关系建立的位置,通过迭代的方式,使得上下牙颌扫描数据之间的整体凸包体积最小,并且上下牙颌扫描数据之间无碰撞时,确定上下牙颌扫描数据的咬合关系(即咬合状态),不仅提高了准确性,还大大提高工作效率。
附图说明
图1为一实施例的上下牙颌的咬合关系建立方法的流程示意图;
图2为一实施例的上下牙颌的咬合关系建立装置的结构示意图;
图3为一实施例的用户终端的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,图1为一实施例中的上下牙颌的咬合关系建立方法的流程示意图。该方法具体包括以下步骤:
S110,获取上牙颌扫描数据和下牙颌扫描数据。
具体地,通过3D扫描或口内扫描等方式获取病人的上牙颌扫描数据和下牙颌扫描数据。此时,上牙颌扫描数据和下牙颌扫描数据分别通过3D扫描或者口内扫描的方式获得,上牙颌扫描数据和下牙颌扫描数据之间并没有咬合关系。其中,牙颌扫描数据可以为牙颌三维模型。需要说明的是,只要能够获取上牙颌扫描数据和下牙颌扫描数据的方式均可,在此并不做限制。
S120,分别对上牙颌扫描数据和下牙颌扫描数据建立坐标系,并将上牙颌扫描数据和下牙颌扫描数据的坐标系进行初对准。
具体地,在其中一个实施例中,首先,对上牙颌扫描数据建立牙颌平面,该牙颌平面的法向为Z轴;将该上牙颌扫描数据的牙颌数据点投影到牙颌平面进行椭圆拟合,确定椭圆的短轴为X轴,椭圆的长轴为Y轴。此时,确定的X轴、Y轴以及 Z轴即为上牙颌扫描数据的坐标系。同样地,采用同样的方法建立下牙颌扫描数据的X轴、Y轴以及Z轴。
进一步地,在一个实施例中,任一上牙颌扫描数据所对应的坐标系的原点位于该上牙颌扫描数据的中心点,也就是说,该坐标系的原点为通过该上牙颌扫描数据的数据椭圆拟合得到的椭圆的中心点。此外,坐标系的X轴从该上牙颌扫描数据的左侧指向牙颌的右侧,坐标系的Y轴从舌侧方向指向切牙方向。坐标系的Z轴从牙根指向牙面的方向。需要说明的是,X轴、Y轴以及Z轴的方向也可以根据实际需要进行确定,在此并不做限定。此外,对于下牙颌扫描数据,也同样适用。
在上牙颌扫描数据和下牙颌扫描数据的坐标系分别建立好后,将上牙颌扫描数据所对应的坐标系的X轴、Y轴以及Z轴分别和下牙颌扫描数据所对应的坐标系的X轴、Y轴以及Z轴进行重合,再将上牙颌扫描数据沿其Z轴的正方向移动一定距离,使得上牙颌扫描数据和下牙颌扫描数据进行分离,得到上牙颌扫描数据的初始位置。其中,上牙颌扫描数据沿其Z轴的正方向移动的距离可以预先设定,或者可以根据经验进行设定。此时,上牙颌和下牙颌初始咬合位置确定,即上牙颌和下牙颌的初始咬合关系建立。
S130,根据当前的上牙颌扫描数据的坐标系O(k),确定当前上牙颌扫描数据集,并计算当前上牙颌扫描数据集中的每个上牙颌扫描数据和下牙颌扫描数据之间的整体凸包体积。
其中,k为迭代次数,k≥1。具体地,根据当前的上牙颌扫描数据的坐标系O(k),移动和转动上牙颌扫描数据,从而改变上牙颌扫描数据的位置,得到多个上牙颌扫描数据的位置,这些上牙颌扫描数据构成当前上牙颌扫描数据集。此外,下牙颌扫描数据保持不动,从而计算当前上牙颌扫描数据集中的每个上牙颌扫描数据与下牙颌扫描数据之间的整体凸包体积,得到相对应的多个整体凸包体积。
在一个实施例中,根据当前的上牙颌扫描数据的坐标系O(k),计算当前上牙颌扫描数据集中的每个上牙颌扫描数据和下牙颌扫描数据之间的整体凸包体积的步骤包括:确定当前的上牙颌扫描数据的表征参数,并根据表征参数确定多个坐标系的位置;计算每个坐标系的位置所对应的上牙颌扫描数据与下牙颌扫描数据之间的整体凸包体积。
在其中一个实施例中,上牙颌扫描数据的坐标系的表征参数包括上牙颌扫描数据相对于下牙颌扫描数据的位置(x,y,z)以及姿态(Rx,Ry,Rz)。从而在确定上牙颌扫描数据的某个位置时,其可以由该上牙颌扫描数据的原点由其相对于下牙颌扫描数据的位置(x,y,z)以及姿态(Rx,Ry,Rz)来确定。在其中一个实施例中,采用Nelder-Mead单纯形的方法,确定坐标系的位置。此时,采用Nelder-Mead单纯形的方法所确定的多面体顶点即为个坐标系的表征参数。需要说明的是,上牙颌扫描数据的坐标系的表征参数也可以包括上牙颌扫描数据相对于下牙颌扫描数据的位置(x,y,z)。
在本实施例中,以步骤S120中得到的上牙颌扫描数据的初始位置为当前的上牙颌扫描数据的位置,此时,步骤S120得到的上牙颌扫描数据的坐标系为O(1)。再以该坐标系O(1)为基准,采用Nelder-Mead单纯形的方法确定多个坐标系的位置。再计算每个坐标系位置所对应的上牙颌扫描数据与下牙颌扫描数据之间的整体凸包体积,得到多个整体凸包体积。
S140,确定当前上牙颌扫描数据集中与下牙颌扫描数据的整体凸包体积最小的上牙颌扫描数据为当前最小上牙颌扫描数据,并获得当前最小整体凸包体积,且当前最小上牙颌扫描数据和所述下牙颌扫描数据之间无碰撞时,确立下一上牙颌扫描数据的位置。
具体地,对步骤S130中得到的多个整体凸包体积进行比较,确定其中整体凸包体积最小时所对应的上牙颌扫描数据,此时,该上牙颌扫描数据为当前最小上牙颌扫描数据,并获得当前最小整体凸包体积。根据当前最小上牙颌扫描数据和下牙颌扫描数据的位置,判断此时的当前最小上牙颌扫描数据与下牙颌扫描数据之间是否有碰撞,当当前最小上牙颌扫描数据和下牙颌扫描数据之间无碰撞时,确定下一上牙颌扫描数据的位置,即整体凸包体积最小时所对应上牙颌扫描数据为下一上牙颌扫描数据。
S150,根据下一上牙颌扫描数据的坐标系,确定下一上牙颌扫描数据集,并计算下一上牙颌扫描数据集中的每个上牙颌扫描数据和下牙颌扫描数据之间的整体凸包体积,并获取下一最小整体凸包体积。
具体地,确定下一上牙颌扫描数据的表征参数,并根据表征参数确定多个坐标系的位置;计算每个坐标系的位置所对应的上牙颌扫描数据与下牙颌扫描数据之间的整体凸包体积。
在其中一个实施例中,上牙颌扫描数据的坐标系的表征参数包括上牙颌扫描数据相对于下牙颌扫描数据的位置(x,y,z)以及姿态(Rx,Ry,Rz)。从而在确定上牙颌扫描数据的某个位置时,其可以由该上牙颌扫描数据的坐标系由其相对于下牙颌扫描数据的位置(x,y,z)以及姿态(Rx,Ry,Rz)来确定。在其中一个实施例中,采用Nelder-Mead单纯形的方法,确定坐标系的位置。此时,采用Nelder-Mead单纯形的方法所确定的多面体顶点即为个坐标系的表征参数。
在本实施例中,将步骤S140中得到的下一上牙颌扫描数据作为当前牙颌扫描数据。再以下一牙颌扫描数据的坐标系为基准,采用Nelder-Mead单纯形的方法确定多个坐标系的位置。再计算每个坐标系位置所对应的上牙颌扫描数据与下牙颌扫描数据之间的整体凸包体积,得到多个整体凸包体积。对得到的多个整体凸包体积进行比较,确定下一最小整体凸包体积。
S160,判断当前最小整体凸包体积和下一最小整体凸包体积的变化与预定值的大小。当当前最小整体凸包体积和下一最小整体凸包体积的变化小于预定值时,则执行步骤S170结束。此时,当前上牙颌扫描数据和下牙颌扫描数据的位置即为上下牙颌的咬合关系建立的位置。当当前最小整体凸包体积和下一最小整体凸包体积的变化大于等于预定值时,则返回步骤S130,k增加1。其中,预定值的大小可以为0-1。
具体地,在本实施例中,将步骤S140中得到的最小整体凸包体积与步骤S150中得到的最小整体凸包体积的变化与预定值进行比较,当两者之差的绝对值小于预定值时,则结束,此时,步骤S140中得到的最小整体凸包体积所对应的上牙颌扫描数据和下牙颌扫描数据的位置即为上下牙颌的咬合关系建立的位置,也就是说,上下牙颌的咬合状态确定。当步骤S140中得到的最小整体凸包体积与步骤S150中得到的最小整体凸包体积之差的绝对值大于等于预定值时,则返回步骤S130。
在其中一个实施例中,在步骤S140与步骤S150之间还包括步骤:
当当前最小上牙颌扫描数据和下牙颌扫描数据之间有碰撞时,则确定除了当前最小整体凸包体积之外的整体凸包体积所对应的当前上牙颌扫描数据集中的各上牙颌扫描数据的位置,即确定各上牙颌扫描数据的坐标系;
比较各上牙颌扫描数据中分别与下牙颌扫描数据的整体凸包体积的大小,确定各上牙颌扫描数据与下牙颌扫描数据的整体凸体积最小的上牙颌扫描数据作为当前的上牙颌扫描数据。
具体地,在本实施例中,当步骤S140中确定的整体凸包体积最小时所对应的上牙颌扫描数据和下牙颌扫描数据有碰撞时,则将该整体凸包体积最小时所对应的上牙颌扫描数据与下牙颌扫描数据之间的整体凸包体积设为无穷大,则将该整体凸包体积去除,也就是说,将当前上牙颌扫描数据集中的坐标系O(1)所对应的上牙颌扫描数据去除。确定当前上牙颌扫描数据集中除了坐标系O(1)所对应的上牙颌扫描数据的上牙颌扫描数据为各个上牙颌扫描数据。各个上牙颌扫描数据均对应有一个坐标系。比较除了坐标系O(1)之外的坐标系所对应的上牙颌扫描数据中与下牙颌扫描数据的整体凸包体积的大小,将其中的上牙颌扫描数据与下牙颌扫描数据的整体凸体积最小的上牙颌扫描数据作为当前的上牙颌扫描数据。
在其中一个实施例中,基于层次包围盒的方式,确定上牙颌扫描数据和下牙颌扫描数据之间是否有碰撞,其属于基于物体空间的碰撞检测方法。需要说明的是,也可以其他方式也确定上下牙颌扫描数据之间是否有碰撞,比如:基于图像空间的碰撞检测方法,将检测物体的中线连线作为视线方向渲染物体,之后利用深度缓存区来判断物体是否发生了碰撞。
在其中一个实施例中,基于层次包围盒的方式,确定上牙颌扫描数据和下牙颌扫描数据之间是否有碰撞的步骤包括:
分别建立所上牙颌扫描数据和下牙颌扫描数据的包围盒树;
遍历所上牙颌扫描数据和下牙颌扫描数据的包围盒树,并判断上牙颌扫描数据和下牙颌扫描数据的包围盒树的叶子节点是否有相交;若上牙颌扫描数据和下牙颌扫描数据的包围盒树的叶子节点无相交,则上牙颌扫描数据和所述下牙颌扫描数据无碰撞;
若上牙颌扫描数据和下牙颌扫描数据的包围盒树的叶子节点有相交,则判断相交的包围盒内的三角片是否有相交;若相交的包围盒内的三角片无相交,则上牙颌扫描数据和下牙颌扫描数据无碰撞;反之,则上牙颌扫描数据和下牙颌扫描数据有碰撞。
上述上下牙颌的咬合关系建立方法, 获取上牙颌扫描数据和下牙颌扫描数据,分别对该上牙颌扫描数据和下牙颌扫描数据建立坐标系,并将上牙颌扫描数据和下牙颌扫描数据的坐标系进行初对准,再根据当前的上牙颌扫描数据的坐标系O(k),确定当前上牙颌扫描数据集,并计算当前上牙颌扫描数据集中的每个上牙颌扫描数据和所述下牙颌扫描数据之间的整体凸包体积,确定当前上牙颌扫描数据集中与下牙颌扫描数据的整体凸包体积最小的上牙颌扫描数据为当前最小上牙颌扫描数据,并获得当前最小整体凸包体积,且当前最小上牙颌扫描数据和下牙颌扫描数据之间无碰撞时,确立下一上牙颌扫描数据的位置,再根据下一上牙颌扫描数据的坐标系,确定下一上牙颌扫描数据集,并计算下一上牙颌扫描数据集中的每个上牙颌扫描数据和下牙颌扫描数据之间的整体凸包体积,并获取下一最小整体凸包体积,当所述当前最小整体凸包体积和所述下一最小整体凸包体积的变化小于预定值,则结束迭代,当前上牙颌扫描数据和下牙颌扫描数据的位置即为上下牙颌的咬合关系建立的位置,通过迭代的方式,使得上下牙颌扫描数据之间的整体凸包体积最小,并且上下牙颌扫描数据之间无碰撞时,确定上下牙颌扫描数据的咬合关系(即咬合状态),不仅提高了准确性,还大大提高工作效率。
在一个实施例中,如图2所示,提供了一种上下牙颌的咬合关系建立装置,该装置包括:
扫描数据获取模块210,用于获取上牙颌扫描数据和下牙颌扫描数据;
初对准模块220,用于分别对上牙颌扫描数据和下牙颌扫描数据建立坐标系,并将上牙颌扫描数据和下牙颌扫描数据的坐标系进行初对准;
整体凸包体积计算模块230,用于根据当前的上牙颌扫描数据的坐标系O(k),确定当前上牙颌扫描数据集,并计算当前上牙颌扫描数据集中的每个上牙颌扫描数据和下牙颌扫描数据之间的整体凸包体积;其中,k为迭代次数,k≥1;
位置确定模块240,用于确定当前上牙颌扫描数据集中与下牙颌扫描数据的整体凸包体积最小的上牙颌扫描数据为当前最小上牙颌扫描数据,并获得当前最小整体凸包体积,且当前最小上牙颌扫描数据和所述下牙颌扫描数据之间无碰撞时,确立下一上牙颌扫描数据的位置;
下一最小整体凸包体积获取模块250,用于根据下一上牙颌扫描数据的坐标系,确定下一上牙颌扫描数据集,并计算下一上牙颌扫描数据集中的每个上牙颌扫描数据和下牙颌扫描数据之间的整体凸包体积,并获取下一最小整体凸包体积;
判断模块260,用于当当前最小整体凸包体积和所述下一最小整体凸包体积的变化小于预定值,则结束迭代,当前上牙颌扫描数据和所述下牙颌扫描数据的位置即为上下牙颌的咬合关系建立的位置;反之,则返回整体凸包体积计算模块230,k增加1。
在一个实施例中,还包括:
各个上牙颌扫描数据确定模块,用于当当前最小上牙颌扫描数据和下牙颌扫描数据之间有碰撞时,则确定除了当前最小整体凸包体积之外的整体凸包体积所对应的当前上牙颌扫描数据集中的各上牙颌扫描数据的位置,即确定各上牙颌扫描数据的坐标系;
比较模块,用于比较各上牙颌扫描数据中分别与下牙颌扫描数据的整体凸包体积的大小,确定各上牙颌扫描数据与下牙颌扫描数据的整体凸体积最小的上牙颌扫描数据作为当前的上牙颌扫描数据。
在一个实施例中,整体凸包体积计算模块230包括:
坐标系位置确定模块,用于确定当前的所述上牙颌扫描数据的表征参数,并根据所述表征参数确定多个坐标系的位置;
计算模块,用于计算每个所述坐标系的位置所对应的上牙颌扫描数据与所述下牙颌扫描数据之间的整体凸包体积。
在一个实施例中,位置确定模块240包括:
包围盒树建立模块,用于分别建立上牙颌扫描数据和下牙颌扫描数据的包围盒树;
遍历判断模块,用于遍历上牙颌扫描数据和下牙颌扫描数据的包围盒树,若上牙颌扫描数据和下牙颌扫描数据的包围盒树的叶子节点无相交,则上牙颌扫描数据和下牙颌扫描数据无碰撞;若上牙颌扫描数据和下牙颌扫描数据的包围盒树的叶子节点有相交,则判断相交的包围盒内的三角片是否有相交;
碰撞判断模块,用于若相交的包围盒内的三角片无相交,则上牙颌扫描数据和下牙颌扫描数据无碰撞;反之,则上牙颌扫描数据和下牙颌扫描数据有碰撞。
请参阅图3,图3为一实施例中的用户终端的结构示意图,该用户终端可以是常规服务器或者其他任意用户终端,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其中该存储器可以包括非易失性存储介质以及内存储器,该计算机程序可以存储在该非易失性存储介质中,处理器执行程序时实现以下步骤:(1)获取上牙颌扫描数据和下牙颌扫描数据;(2)分别对上牙颌扫描数据和下牙颌扫描数据建立坐标系,并将上牙颌扫描数据和下牙颌扫描数据的坐标系进行初对准;(3)根据当前的上牙颌扫描数据的坐标系O(k),确定当前上牙颌扫描数据集,并计算当前上牙颌扫描数据集中的每个上牙颌扫描数据和下牙颌扫描数据之间的整体凸包体积;其中,k为迭代次数,k≥1;(4)确定当前上牙颌扫描数据集中与下牙颌扫描数据的整体凸包体积最小的上牙颌扫描数据为当前最小上牙颌扫描数据,并获得当前最小整体凸包体积,且当前最小上牙颌扫描数据和所述下牙颌扫描数据之间无碰撞时,确立下一上牙颌扫描数据的位置;(5)根据下一上牙颌扫描数据的坐标系,确定下一上牙颌扫描数据集,并计算下一上牙颌扫描数据集中的每个上牙颌扫描数据和下牙颌扫描数据之间的整体凸包体积,并获取下一最小整体凸包体积;(6)当当前最小整体凸包体积和所述下一最小整体凸包体积的变化小于预定值,则结束迭代,当前上牙颌扫描数据和所述下牙颌扫描数据的位置即为上下牙颌的咬合关系建立的位置;反之,则返回步骤(3),k增加1。
在其中一个实施例中,处理器执行程序时还可以实现以下步骤:当当前最小上牙颌扫描数据和下牙颌扫描数据之间有碰撞时,则确定除了当前最小整体凸包体积之外的整体凸包体积所对应的当前上牙颌扫描数据集中的各上牙颌扫描数据的位置,即确定各上牙颌扫描数据的坐标系;比较各上牙颌扫描数据中分别与下牙颌扫描数据的整体凸包体积的大小,确定各上牙颌扫描数据与下牙颌扫描数据的整体凸体积最小的上牙颌扫描数据作为当前的上牙颌扫描数据。
在其中一个实施例中,处理器执行程序时还可以实现以下步骤:确定当前的上牙颌扫描数据的表征参数,并根据表征参数确定多个坐标系的位置;计算每个坐标系的位置所对应的上牙颌扫描数据与下牙颌扫描数据之间的整体凸包体积。
在其中一个实施例中,处理器执行程序时还可以实现以下步骤:分别建立上牙颌扫描数据和下牙颌扫描数据的包围盒树;遍历上牙颌扫描数据和下牙颌扫描数据的包围盒树,若上牙颌扫描数据和下牙颌扫描数据的包围盒树的叶子节点无相交,则上牙颌扫描数据和下牙颌扫描数据无碰撞;若上牙颌扫描数据和下牙颌扫描数据的包围盒树的叶子节点有相交,则判断相交的包围盒内的三角片是否有相交;若相交的包围盒内的三角片无相交,则上牙颌扫描数据和下牙颌扫描数据无碰撞;反之,则上牙颌扫描数据和下牙颌扫描数据有碰撞。
上述对于终端的限定可以参见上文中对于上下牙颌的咬合关系建立方法的具体限定,在此不再赘述。
请继续参阅图3,还提供一种计算机可读存储介质,其上存储有计算机程序,如图3中所示的非易失性存储介质,其中,该程序被处理器执行时实现以下步骤:(1)获取上牙颌扫描数据和下牙颌扫描数据;(2)分别对上牙颌扫描数据和下牙颌扫描数据建立坐标系,并将上牙颌扫描数据和下牙颌扫描数据的坐标系进行初对准;(3)根据当前的上牙颌扫描数据的坐标系O(k),确定当前上牙颌扫描数据集,并计算当前上牙颌扫描数据集中的每个上牙颌扫描数据和下牙颌扫描数据之间的整体凸包体积;其中,k为迭代次数,k≥1;(4)确定当前上牙颌扫描数据集中与下牙颌扫描数据的整体凸包体积最小的上牙颌扫描数据为当前最小上牙颌扫描数据,并获得当前最小整体凸包体积,且当前最小上牙颌扫描数据和所述下牙颌扫描数据之间无碰撞时,确立下一上牙颌扫描数据的位置;(5)根据下一上牙颌扫描数据的坐标系,确定下一上牙颌扫描数据集,并计算下一上牙颌扫描数据集中的每个上牙颌扫描数据和下牙颌扫描数据之间的整体凸包体积,并获取下一最小整体凸包体积;(6)当当前最小整体凸包体积和所述下一最小整体凸包体积的变化小于预定值,则结束迭代,当前上牙颌扫描数据和所述下牙颌扫描数据的位置即为上下牙颌的咬合关系建立的位置;反之,则返回步骤(3),k增加1。
在其中一个实施例中,处理器执行程序时还可以实现以下步骤:当当前最小上牙颌扫描数据和下牙颌扫描数据之间有碰撞时,则确定除了当前最小整体凸包体积之外的整体凸包体积所对应的当前上牙颌扫描数据集中的各上牙颌扫描数据的位置,即确定各上牙颌扫描数据的坐标系;比较各上牙颌扫描数据中分别与下牙颌扫描数据的整体凸包体积的大小,确定各上牙颌扫描数据与下牙颌扫描数据的整体凸体积最小的上牙颌扫描数据作为当前的上牙颌扫描数据。
在其中一个实施例中,处理器执行程序时还可以实现以下步骤:确定当前的上牙颌扫描数据的表征参数,并根据表征参数确定多个坐标系的位置;计算每个坐标系的位置所对应的上牙颌扫描数据与下牙颌扫描数据之间的整体凸包体积。
在其中一个实施例中,处理器执行程序时还可以实现以下步骤:分别建立上牙颌扫描数据和下牙颌扫描数据的包围盒树;遍历上牙颌扫描数据和下牙颌扫描数据的包围盒树,若上牙颌扫描数据和下牙颌扫描数据的包围盒树的叶子节点无相交,则上牙颌扫描数据和下牙颌扫描数据无碰撞;若上牙颌扫描数据和下牙颌扫描数据的包围盒树的叶子节点有相交,则判断相交的包围盒内的三角片是否有相交;若相交的包围盒内的三角片无相交,则上牙颌扫描数据和下牙颌扫描数据无碰撞;反之,则上牙颌扫描数据和下牙颌扫描数据有碰撞。
上述对于计算机可读存储介质的限定可以参见上文中对于上下牙颌的咬合关系建立方法的具体限定,在此不再赘述。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。