一种用于上下颌咬合区域计算的碰撞检测算法

文档序号:10535181阅读:451来源:国知局
一种用于上下颌咬合区域计算的碰撞检测算法
【专利摘要】本发明公开了一种用于上下颌咬合区域计算的碰撞检测算法。对已建立的咬合模型实时更新其三角网格的位置,将上颌和下颌牙齿模型的三角网格点进行配对,并进行筛选,根据法向量判断点对之间是否互相碰撞,根据点对之间的距离获得咬合区域并显示。本发明能准确地显示出了排牙过程中牙齿的咬合情况和碰撞情况,为医生提供了直观的咬合数据,计算速度快,大大提高了工作效率。
【专利说明】
一种用于上下颌咬合区域计算的碰撞检测算法
技术领域
[0001] 本发明涉及了数字口腔领域,具体地说是涉及了一种用于上下颂咬合区域计算的 碰撞检测算法。
【背景技术】
[0002] 近年来,数字口腔技术发展迅速,牙齿隐形正畸也逐渐普及。在对牙齿三维数字模 型进行处理的过程中,建立正确的咬合模型非常重要,关系到最终矫治方案的确立。现有技 术中缺少能正确确定咬合区域及其碰撞贯穿深度的方法。

【发明内容】

[0003] 为了解决【背景技术】中存在的问题,本发明所提供了一种用于上下颂咬合区域计算 的碰撞检测算法,能快速计算上下颂咬合区域以及其碰撞贯穿深度。
[0004] 本发明所采用的技术方案包含以下步骤:
[0005] 步骤一、对已建立的咬合模型实时更新其三角网格的位置;
[0006] 步骤二、将上颂和下颂牙齿模型的三角网格点进行配对,并进行筛选;
[0007] 步骤三、根据法向量判断点对之间是否互相碰撞;
[0008] 步骤四、根据点对之间的距离获得咬合区域并显示。
[0009] 所述实时更新咬合模型的位置具体是更新模型中三角网格各点的实时位置。
[0010] 对于上颂模型U和下颂模型V,上颂模型U中三角网格点的点集为{UQ. . .Ui},下颂模 型V中三角网格点的点集为{VQ. . .V」},上下颂模型的实时位置分别采用以下公式进行更新 变换:
[0011] L"(及,f)三及(L/丨一5) + (5 + f
[0012] V]{RJ) = R(V .-〇) + 〇 +T
[0013] 其中石表示旋转的中心,及为旋转矩阵,f为平移向量,山表示变换前的上颂模型 U中三角网格点,1/ i表示变换后的上颂模型U中三角网格点,Vj表示变换前的下颂模型V中三 角网格点,V」表示变换后的下颂模型V中三角网格点。
[0014] 步骤二中所述的配对是针对上颂模型每个三角网格点,查找下颂模型中的三角网 格点进行配对,获得各对点对;再针对下颂模型每个三角网格点,查找上颂模型中的三角网 格点进行配对,获得各对点对。
[0015] 对于上颂模型中的每个三角网格点,找到下颂模型中与该三角网格点最近的三 角网格点进行配对。对于上颂模型中的每个三角网格点,采用相同方式。
[0016] 步骤二中所述的筛选是指根据点对的位置和点对中点的法向来判断点对所指的 区域是否发生了碰撞。
[0017] 所述的筛选具体方式如下:
[0018] 首先根据实时更新后的上颂模型的位置和下颂模型的位置,分别对上下颂模型的 点构建多层次查找树,然后快速查找出上下颂最近的点对的集合。以上颂为例,查找上颂每 一个点{Uo...仏}与下颂所有点{Vo. . .VU中最近的点,假设在下颂模型V中与上颂模型U的 三角网格点Ui最近的三角网格点为Vij,三角网格点Vij满足:
[0019] C/, = arg min U - V. J VelU,\ J
[0020]将所有点配对后,还需要对其进行筛选,将与其对应点Uu的距离较远的点仏排除 掉,即取碰撞阈值d,如果I I Ui-Uij I I >d,则将三角网格点Ui和三角网格点Vij排除掉,不作为 点对。
[0021 ]所述步骤三具体是:对于一个点对(V j,r j),V j表示上颂模型中的三角网格点,r j 表示下颂模型中的三角网格点,r j点的法向为n j,构建向量a j,a j = v j - r j,则a j X n j的结果 就决定了该区域是否发生了碰撞。如果ajXnj>0则没有发生碰撞,如果ajXnjSO则发生了 碰撞。
[0022]若对于点对(r j,vj),判断的方式相同。
[0023]分别对上下颂进行碰撞检测判断,然后取二者的并集作为最终的碰撞结果。
[0024]所述步骤五是根据上下颂牙齿间互相碰撞的点对之间的距离不同,用不同的灰度 标示出咬合区域,灰度越高表示距离越近,所有互相碰撞的点对形成发生碰撞的区域,标示 为尚壳区域。
[0025]本发明的有益效果是:
[0026]本发明能准确地显示出了排牙过程中牙齿的咬合情况和碰撞情况,为医生提供了 直观的咬合数据,计算速度快,可实时获取咬合碰撞情况,大大提高了工作效率。
【附图说明】
[0027]图1为实施例初始时牙齿的位置图;
[0028]图2为实施例上颂牙齿图;
[0029] 图3为实施例在初始时刻上下颂咬合情况和上牙初始状态图;
[0030] 图4为实施例磨牙咬合状态图;
[0031 ]图5为实施例排牙之后的牙齿咬合状态图;
[0032]图6为实施例顶点匹配筛选示意图;
[0033]图7为实施例碰撞判断示意图。
【具体实施方式】
[0034]下面结合附图及具体实施例对本发明作进一步详细说明。
[0035]本发明的实施例如下:
[0036] 步骤一、图1为上下颂牙齿的初始位置,图2为其上颂牙齿,其咬合状态如图3所示, 对该咬合模型实时更新其三角网格的位置;
[0037] 步骤二、将上颂和下颂牙齿模型的三角网格点进行配对,并进行筛选;
[0038] 具体举例如图6所示,上下两个区域分别为上颂和下颂的三角网格面片。其中,对 于下颂的点a,上颂的点c为距离其最近的点;对于下颂的点b,上颂的点c为距离其最近的 点。随后进行筛选,点a与点c间的距离小于碰撞阈值d,而点b与点c间的距离大于碰撞阈值 d,则对点a与点c这组点对作为碰撞区域的候选点对,而点b与点c这组点对则被排除。
[0039]步骤三、根据法向量判断点对之间是否互相碰撞;
[0040]具体举例如图7所示,r为下颂上的点,Z为r点的法平面,n为r点的法向量。对于上 颂的点q,q位于法平面Z的上方,所以判断为未发生碰撞,对于上颂的点p,p位于法平面Z的 下方,则判断为发生碰撞。
[0041]步骤四、根据点对之间的距离获得咬合区域并显示,得到如图4所示,其中,灰度越 大,表示上下颂牙齿之间的距离越近。上下颂牙齿发生碰撞贯穿的部分则以高亮区域表示。
[0042]根据计算结果和咬合状态对牙齿的最终位置进行调整,对牙齿排列进行调整,则 牙齿的咬合状态会随之改变,图5为牙齿咬合状态的实时变化图。
【主权项】
1. 一种用于上下颂咬合区域计算的碰撞检测算法,其特征在于该方法包含下列步骤: 步骤一、对已建立的咬合模型实时更新其三角网格的位置; 步骤二、将上颂和下颂牙齿模型的三角网格点进行配对,并进行筛选; 步骤三、根据法向量判断点对之间是否互相碰撞; 步骤四、根据点对之间的距离获得咬合区域并显示。2. 根据权利要求1所述的一种用于上下颂咬合区域计算的碰撞检测算法,其特征在于: 所述实时更新咬合模型的位置具体是更新模型中三角网格各点的实时位置。3. 根据权利要求1或2所述的一种用于上下颂咬合区域计算的碰撞检测算法,其特征在 于:对于上颂模型U和下颂模型V,上颂模型U中三角网格点的点集为{U〇. . .IM,下颂模型V中 三角网格点的点集为{Vn. . .va, h下颌樽型的窀时份詈分別梁用以下公式进行更新变换:其中,〇表示旋转的中心,I为旋转矩阵,?为平移向量,仏表示变换前的上颂模型U中 三角网格点,g表示变换后的上颂模型U中三角网格点,Vj表示变换前的下颂模型V中三角 网格点,K表示变换后的下颂模型V中三角网格点。4. 根据权利要求1所述的一种用于上下颂咬合区域计算的碰撞检测算法,其特征在于: 步骤二中所述的配对是针对上颂模型每个三角网格点,查找下颂模型中的三角网格点进行 配对,获得各对点对;再针对下颂模型每个三角网格点,查找上颂模型中的三角网格点进行 配对,获得各对点对。5. 根据权利要求4所述的一种用于上下颂咬合区域计算的碰撞检测算法,其特征在于: 对于上颂模型中的每个三角网格点,找到下颂模型中与该三角网格点最近的三角网格点进 行配对。6. 根据权利要求1所述的一种用于上下颂咬合区域计算的碰撞检测算法,其特征在于: 步骤二中所述的筛选是指根据点对的位置和点对中点的法向来判断点对所指的区域是否 发生了碰撞。7. 根据权利要求1或6所述的一种用于上下颂咬合区域计算的碰撞检测算法,其特征 在于:所述的筛选具体方式如下: 假设在下颂模型V中与上颂模型U的三角网格点Ui最近的三角网格点为Vij,三角网格点 Vij满足:取碰撞阈值d,如果I Iui-UijI I>d,则将三角网格点Ui和三角网格点Vij排除掉,不作为点 对。8. 根据权利要求1所述的一种用于上下颂咬合区域计算的碰撞检测算法,其特征在于: 所述步骤三具体是:对于一个点对(vj,rj),vj表示上颂模型中的三角网格点,rj表示下颂 模型中的三角网格点,1^点的法向为11」,构建向量3」,3」=¥」-1^,如果3」\11」>0则没有发生 碰撞,如果aj XnjSO则发生了碰撞。
【文档编号】G06F19/00GK105893739SQ201610184447
【公开日】2016年8月24日
【申请日】2016年3月28日
【发明人】田宇佳, 王春蝶, 宣梦洁
【申请人】杭州美齐科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1