CN116342849B - 在三维网格上生成牙模倒凹区域的方法 - Google Patents
在三维网格上生成牙模倒凹区域的方法 Download PDFInfo
- Publication number
- CN116342849B CN116342849B CN202310603006.7A CN202310603006A CN116342849B CN 116342849 B CN116342849 B CN 116342849B CN 202310603006 A CN202310603006 A CN 202310603006A CN 116342849 B CN116342849 B CN 116342849B
- Authority
- CN
- China
- Prior art keywords
- point
- vertex
- vector
- points
- plane
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000000280 densification Methods 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims abstract description 9
- 239000013598 vector Substances 0.000 claims description 97
- DMSMPAJRVJJAGA-UHFFFAOYSA-N benzo[d]isothiazol-3-one Chemical compound C1=CC=C2C(=O)NSC2=C1 DMSMPAJRVJJAGA-UHFFFAOYSA-N 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 230000001186 cumulative effect Effects 0.000 claims description 3
- 238000005315 distribution function Methods 0.000 claims description 3
- 238000000691 measurement method Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2012—Colour editing, changing, or manipulating; Use of colour codes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及牙模技术领域,具体为一种在三维网格上生成牙模倒凹区域的方法,包括:对牙模顶点进行颜色标记,并且导入标准的STL牙模数据,将牙模数据存入到Mesh管理器中;找到与该颜色标记相同的所有点,并将它们标记为已访问状态,对于每个已选中的点,遍历其所有邻居节点,并计算它们在给定平面上的投影点,根据投影点和邻居节点到平面的距离计算每个点的权重;将该点集的边界进行密集化,生成更多的权重点;根据计算结果,将各个顶点标记为不同的颜色值,以展示网格的倒凹程度;根据上述计算出的倒凹区域,确定倒凹区域的上边界。基于边界密集化的改进使得权重分布更加均匀,从而在实现自然流畅的动画效果时能够减少非期望的扭曲和形变。
Description
技术领域
本发明涉及牙模的仿真和建模技术领域,具体为一种使用边界密集化和投影技术在三维网格上生成牙模倒凹区域的方法。
背景技术
倒凹区域是三维网格中一个重要的概念,在建模和仿真过程中经常需要对其进行处理,因此,实际在牙模的建模和仿真应用中,由于倒凹区域具有复杂的形状和结构,因此难以通过传统的方法来精确地捕捉这种几何体的边界。为了解决这个问题,研究人员提出了一种称为边界密集化和投影技术的方法,用于生成倒凹区域的三维网格。
发明内容
针对上述不足,本发明的目的是提供一种使用边界密集化和投影技术在三维网格上生成牙模倒凹区域的方法。
本发明提供了如下的技术方案:
在三维网格上生成牙模倒凹区域的方法,其特征在于,包括如下具体步骤:
S1.对牙模顶点进行颜色标记,并且导入标准的STL牙模数据,将牙模数据存入到Mesh管理器中;
S2.通过搜索与步骤S1中颜色标记相关联的点,并将它们标记为已访问状态,对于每个已选择的点,执行邻域搜索算法得到其所有邻居节点,然后使用给定平面方程来计算它们在该平面上的投影点,并结合距离度量方法计算每个点的权重;
S3.将步骤S1中牙模顶点点集的边界进行密集化,生成更多的权重点;
S4.基于计算出的权重值和阈值,对牙模三角形网格上的每个顶点赋予不同的颜色值以呈现网格表面的微小起伏和倒凹区域;
S5.根据步骤S4计算出的倒凹区域,确定倒凹区域的上边界。
作为一种三维网格上生成牙模倒凹区域的方法的优选技术方案,步骤S1具体包括如下步骤:
S01.将牙模的每个顶点的坐标沿着Y轴方向偏移0.0001mm得到新的顶点i;
S02.顶点i处发射一条与向量m_dir方向相同的射线,并检测该射线是否与牙模三角形网格相交,即计算射线与牙模三角形网格的最近相交点;其中,m_dir是顶点i相对于坐标原点的方向向量;
S03.分别计算最近相交点到i的距离Vi和最近相交点到点i相邻顶点点j的距离Vj,如果Vi大于Vj,则认为j是一个凸出顶点,并进行颜色标记。
作为一种三维网格上生成牙模倒凹区域的方法的优选技术方案,步骤S03具体为:
在处理凸出顶点的判别时,计算顶点i与其附近所有距离小于某个阈值的顶点j的法向量cross;
cross的计算公式为:cross(i,j)=(pj-pi)·(Avg_j-pi) (1)
其中,Avg_j是所有与顶点j相连接的顶点的平均3D坐标位置,pi为顶点i的3D坐标位置,pj为顶点j的3D坐标位置;
然后根据cosine cross与cosine m_dir之间的大小关系,判断顶点j是否为凸出顶点。
作为一种三维网格上生成牙模倒凹区域的方法的优选技术方案,
若cosine cross>cosine m_dir,顶点j是为凸出顶点;
若cosine cross<cosine m_dir,顶点j不是凸出顶点;
其中,cosine cross为法向量cross的方向余弦,cosine m_dir为指定方向m_dir的方向余弦。
作为一种三维网格上生成牙模倒凹区域的方法的优选技术方案,步骤S2具体包括如下步骤:
S21.计算每个已选择的点的投影点,并创建切平面;
S22.权重计算:通过计算每个已选择的点在法向量方向上的分量,将点到平面的距离乘以正或负符号进行修正,得到顶点的权重w。
作为一种三维网格上生成牙模倒凹区域的方法的优选技术方案,步骤S21具体包括:
将三维空间中的一个点point投影到由 point1和point2两个点确定的线段上,得到在线段上距离点point最近的点projPoint;
投影点projPoint的计算公式,如下:
projPoint=point·t+point·(1-t) (2)
其中,t表示projPoint与线段起点point1之间的比例关系,其数学表达式为: (3)
其中,表示从point1指向point 的向量,/>表示由point1指向point2的向量,/>是/>的长度平方;
令 表示由两点确定线段的方向向量,根据投影点projPoint和切平面的几何含义,将/>视为切平面的法向量;
根据平面定义,使用投影点p即projPoint和法向量来构造平面方程:
(4);
其中,表示空间中任一点坐标位置,p表示为投影点的空间坐标位置,/>是切平面的法向量也就是/>;
投影点位置方程为 : (5);
使用投影点和法向量构造切平面:将投影点位置方程(5)带入上述平面方程(4)中,可得到切平面的解析式:
(6)
其中,p是投影点的空间坐标位置,是线段的方向向量,p1是线段起点的空间坐标位置,该平面与直线垂直,且过给定点p。
作为一种三维网格上生成牙模倒凹区域的方法的优选技术方案,步骤S22具体包括:
将投影到法向量/>方向上,得到投影向量长度d,根据点p在法向量方向上的位置,判断投影点projPoint是否在法向量/>的同侧,若不是,则将d取反,从而保证最终权重值的符号正确,即:
(7)
其中,表示从点p到已知平面上的任意一点p~ 的位置向量,/>表示已知点p0的位置向量,/>表示待投影点的位置向量,平面由法向量/>和过平面上已知点p0的一个位置向量/>确定,/>表示法向量/>的模长,(a,b,c)为/>的分量。
作为一种三维网格上生成牙模倒凹区域的方法的优选技术方案,步骤S3具体为:
S31.计算边界点:找以顶点pi为中心、领域半径r内所有点的组成,即邻域点集Nr(pi):
(8)
计算点pi的领域密度,即邻域点个数,公式为:
(9)
定义点pi的距离di,di表示与pi距离最近的、邻域密度比pi更高的点的距离,如果pi的一圈相邻点的领域密度都小于点pi的邻域密度,则di等于邻域半径r,如果点pi的领域密度小于等于阈值Pmin,或者di小于等于距离阈值Dmin,则将它标记为边界点;
S32.计算边界边:根据S31得到的边界点,计算边界边Eij的长度Lij以及方向;
计算边界边Eij的长度:
L ij = d(p i ,p j ) (10)
其中,d(p i ,p j )表示pi和pj之间欧几里得距离;
计算边界边Eij的方向,pi在三维空间中的坐标(xi,yi,zi),pj在三维空间中的坐标(xj,yj,zj);
(11)
最后将连接所有相邻边界点pi、pj所得到的边界边Eij存储到集合Eb中;
S33.边界密集化:首先对于每一条边界边Eij∈Eb,将其按照长度Ls平均地分割成Ns段小线段Si={(Xi1,Yi1 ),…,(Xim,Yim)},其中m= Ns+1;
每个小线段包含起点和终点,即Xij和Yij为两个三维坐标系下的点,接着,在每个小线段上等间距生成多个权重点Pijk,即Si上的第j段小线段中的第k个权重点,它的位置由以下公式计算得来:
(12)
其中,Xij和Yij表示小线段Si的两个端点;Ls为小线段Si的长度;N为在该小线段上均匀生成的权重点数目;j为当前处理的小线段Si的序号,范围从1到Ns;k为当前处理的小线段Si中的第k个点,范围从1到N;kL8和N8为Khovanov-Piazzola匹配理论中的名词,代表偶零链的Kashiwara-Lusztig基底和对应的拟单纯复形的节点数目;
需要注意:在计算Pijk时,第一个加数为小线段Si起点Xij,第二个加数相当于从Si起点把Si平均分成N等份中的第k份,并按比例沿着Si在空间中定位;第三个加数用于平移到不同的小线段Si之间,并保证细分后的面片具有与原始面片相同的拓扑结构。
作为一种三维网格上生成牙模倒凹区域的方法的优选技术方案,步骤S5具体为:
对于倒凹区域中的每个顶点,找到其所有相邻的三角形,并将这些三角形的法向量投影到平面上,得到的投影向量构成了该顶点周围三角形法向量所在的二维空间;
设倒凹区域中的某个顶点为P,其相邻三角形法向量为、/>、...、/>,且投影后所得到的向量在平面上的分量为v1、v2...vm;
将每个投影向量展开到极坐标系中,计算每个向量与x轴之间的极角θ i,表示为:
θ i=atan2(Vi,y, Vi,x) (13)
其中,atan2(y, x)是求点(x, y)与原点的连线与x轴正半轴之间的夹角;Vi,x表示向量Vi在x轴上的分量,Vi,y表示向量Vi在y轴上的分量,考虑到第二象限和第三象限的情况,使用atan2而不是简单的arctan函数;
对于所有的角度θ i,按照从小到大的顺序排序,将排序后的角度构成一个有序集合θ={θ 1, θ 2..., θ m};
计算累积分布函数CDF,即集合中每个元素出现的概率值,表示为:
CDF(θ i ) = (θ i -0.5)/n (14)
其中,θ i 为θ集合中的元素,n为θ中所有元素的数量;
根据阈值θ确定哪些角度被认为是倾斜的,可以通过查找CDF中最靠近阈值θ的元素来实现,令CDF(θ j)≈theta,则认为前j个角度是倾斜的;
对于每个倾斜的角度θ i,在对应的方向上沿着平面法向量n i 构造一条射线,表示为:
Ri(u)=P+u·n i (15)
其中,u是一条射线上的参数值,参数u表示从倒凹区域的顶点沿着某一投影方向到交点的距离,通过逐渐增加参数u的值来移动该点,直至该点处于投影后的平面上,并与曲面相交的第一个点Q即为倒凹区域的上边界点。
本发明的有益效果是:
1.通过投影点计算和切平面构造,能够实现根据该点周围几何信息生成权重的功能,可以有效地控制变形效果,同时保持原始网格的几何特征;
2.基于边界密集化的改进使得权重分布更加均匀,从而在实现自然流畅的动画效果时能够减少非期望的扭曲和形变;
3.使用倒凹深度值作为衡量标准,能够客观评估网格的形状变化程度,方便进行后续的模型处理和动画渲染;
4.该方法可以应用于广泛的计算机图形学和动画应用领域,例如角色绑定、形状插值和表情变形等,具有一定的通用性和适用性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:图1是本发明提供的一种实施例所述的在三维网格上生成牙模倒凹区域的方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
名词解释:
Mesh管理器:存储读入的模型数据,在应用的时候只进行一次实例化,并且对每一个模型设置一个默认的名字,后续可以通过名字进行查询;
边界点:指在该点周围领域密度小于等于阈值Pmin,或距离阈值Dmin之内的点被标记为边界点。
邻域点集:对于每个点pi,以pi为中心、半径为r的圆形区域内包含的所有点组成该点的邻域点集Nr(pi)。
倒凹深度值:用于衡量顶点与相邻权重点之间的距离,表示顶点的倒凹程度。
切平面:经过投影点projPoint且法向量为的平面,用于计算顶点的权重。
投影点:将一个点沿着由point1和point2确定的线段方向向量上的投影点,用于计算切平面的位置和顶点的权重。
权重点:在网格的边界上添加的一组额外节点,用于生成更加均匀的权重分布。
边界密集化:对网格的边界进行加密,以增加权重点的数量,实现更加精细的权重计算。
倒凹区域:一颗牙齿直立,从上向下垂直看,视线无法直接照射到的区域;
倒凹上边界:指在该区域内沿着投影方向与曲面相交的第一个点,也就是该区域中距离顶部最近的点或边缘,因为它是沿着正常以下显示的视角在该区域中的最顶端,即倒凹区域的上部“边缘”。在计算机图形学和几何建模等领域中,对于倒凹区域进行处理和绘制时,通常需要确定倒凹区域的上边界,以便更准确地表达其形状和特征。
实施例1:参照图1,本实施例提供一种使用边界密集化和投影技术在三维网格上生成牙模倒凹区域的方法,包括如下具体步骤:
S1.对牙模顶点进行颜色标记,并且导入标准的STL牙模数据,将牙模数据存入到Mesh管理器中;
S2.通过搜索与步骤S1中颜色标记相关联的点,并将它们标记为已访问状态,对于每个已选择的点,执行邻域搜索算法得到其所有邻居节点,然后使用给定平面方程来计算它们在该平面上的投影点,并结合距离度量方法计算每个点的权重;
S3.将步骤S1中牙模顶点点集的边界进行密集化,生成更多的权重点;
S4.基于计算出的权重值和阈值,对牙模三角形网格上的每个顶点赋予不同的颜色值以呈现网格表面的微小起伏和倒凹区域;
S5.根据步骤S4计算出的倒凹区域,确定倒凹区域的上边界。
步骤S1具体包括如下步骤:
S01.将牙模的每个顶点i的坐标沿着Y轴方向偏移0.0001mm得到新的顶点i;
S02.顶点i处发射一条与向量m_dir方向相同的射线,并检测该射线是否与牙模三角形网格相交,即计算射线与牙模三角形网格的最近相交点;其中,m_dir是顶点i相对于坐标原点的方向向量;
S03.分别计算最近相交点到i的距离Vi和最近相交点到点i相邻顶点点j的距离Vj,如果Vi大于Vj,则认为j是一个凸出顶点,并进行颜色标记。
步骤S03具体为:在处理凸出顶点的判别时,需要计算顶点i与其附近所有距离小于某个特定阈值的顶点j的法向量cross,根据牙模三角形网格的质量,特定阈值的范围0.01mm至0.1mm;
cross的计算公式为:cross(i,j)=(pj-pi)·(Avg_j-pi) (1)
其中,Avg_j是所有与顶点j相连接的顶点的平均3D坐标位置,pi为顶点i的3D坐标位置,pj为顶点j的3D坐标位置;在计算cross向量时,需要将两个向量(pi到pj)和 (pi到Avg_j)进行点乘运算,从而得到结果向量cross(i,j);
然后根据cosine cross与cosine m_dir之间的大小关系,判断顶点j是否为凸出顶点。
若cosine cross>cosine m_dir,顶点j是为凸出顶点;
若cosine cross<cosine m_dir,顶点j不是凸出顶点;
其中,cosine cross为法向量cross的方向余弦,cosine m_dir为指定方向m_dir的方向余弦。
实施例2:步骤S2具体包括如下步骤:
S21.计算每个点的投影点,并创建切平面;
S22.权重计算:通过计算点在法向量方向上的分量,将点到平面的距离乘以正或负符号进行修正,得到顶点的权重w。
进一步的,步骤S21具体包括:将三维空间中的一个点point 投影到由point1和point2两个点确定的线段上,得到在线段上距离point最近的点projPoint;
投影点projPoint 的计算公式,如下:projPoint=point·t+point·(1-t) (2)
其中,t表示projPoint与线段起点point1之间的比例关系,其数学表达式为:(3)
其中,表示从point1指向point 的向量,/>表示由point1指向point2的向量,/>是/>的长度平方;
令 表示由两点确定线段的方向向量,根据投影点projPoint 和/>定义平面的法向量,由于/>是线段的方向向量,根据切平面的几何含义,我们可以将/>视为切平面的法向量;
根据平面定义,可以使用投影点p即projPoint 和法向量来构造平面方程:
(4)
其中,表示空间中任一点坐标位置,p表示为投影点的空间坐标位置,/>是切平面的法向量也就是/>;
使用投影点和法向量构造切平面,具体为:
将投影点位置方程: (5)
带入上述平面方程(4)中,可得到下式:
(6)
上式(6)展开可得:
(7)
上式(7)整理可得:
(8)
将上式(8)带回(6)中可得到切平面的解析式:
(9)
即
(10)
其中,p是投影点的空间坐标位置,是线段的方向向量,p1是线段起点的空间坐标位置,该平面与直线垂直,且过给定点p。
进一步的,步骤S22具体包括:
将投影到法向量/>方向上,得到投影向量长度d,根据点p在法向量方向上的位置,判断投影点projPoint是否在法向量/>的同侧,若不是,则将d取反,从而保证最终权重值的符号正确,即:
(11)
其中,表示从点p到已知平面上的任意一点p~ 的位置向量,/>表示已知点p0的位置向量,/>表示待投影点的位置向量,平面由法向量/>和过平面上已知点p0的一个位置向量/>确定,/>表示法向量/>的模长,(a,b,c)为/>的分量。
实施例3:步骤S3具体为:
S31.计算边界点:找以顶点pi为中心、领域半径r内所有点的组成,即邻域点集Nr(pi):
(12)
需要说明的是:pj 表示某个数据集P中的另一个点,j是该点的索引值。pj和pi都属于数据集P。P表示一个数据集,它包括了多个数据点 {p1, p2, ..., pn},其中每个数据点pi都有特定的属性和位置信息。d(pi,pj) 表示pi和pj 之间的距离。在聚类算法中,通常采用欧式距离或曼哈顿距离等常见的距离度量方式计算两个点之间的距离。
计算点pi的领域密度p(pi),即邻域点个数,公式为:
(13)
需要说明的是:|Nr(pi)|表示以数据点pi 为圆心,在距离其不超过 r的范围内,与它距离不超过r的所有数据点的数量。其中,| |表示计算集合中元素个数的操作符,也就是所谓的“集合的基数”或“集合的势”。例如,|{1, 2, 3}| = 3,即集合 {1, 2, 3} 中有三个元素。因此,|Nr(pi)| 就表示邻域半径为r时,以数据点pi为圆心的邻域内共有多少个数据点。di表示与pi距离最近的、邻域密度比pi更高的点的距离,如果如果pi的一圈相邻点的领域密度都小于点pi的邻域密度,则di等于邻域半径r,如果点pi的领域密度小于等于阈值Pmin,或者di小于等于距离阈值Dmin,则将它标记为边界点;
S32.计算边界边:根据S31得到的边界点,计算边界边Eij的长度Lij以及方向;
计算边界边Eij的长度:
L ij = d(p i ,p j ) (14)
其中,d(p i ,p j )表示pi和pj之间欧几里得距离;
计算边界边Eij的方向,pi在三维空间中的坐标(xi,yi,zi),pj在三维空间中的坐标(xj,yj,zj);
(15)
最后将连接所有相邻边界点pi、pj所得到的边界边Eij存储到集合Eb中;
S33.边界密集化:首先对于每一条边界边Eij∈Eb,将其按照一定长度Ls平均地分割成Ns段小线段Si={(Xi1,Yi1 ),…,(Xim,Yim)},其中m= Ns+1;
每个小线段包含起点和终点,即Xij和Yij为两个三维坐标系下的点,接着,在每个小线段上等间距生成多个权重点Pijk,即Si上的第j段小线段中的第k个权重点,它的位置由以下公式计算得来:
(16)
其中,Xij和Yij表示小线段Si的两个端点;Ls为小线段Si的长度;N为在该小线段上均匀生成的权重点数目;j为当前处理的小线段Si的序号,范围从1到Ns;k为当前处理的小线段Si中的第k个点,范围从1到N;kL8和N8为Khovanov-Piazzola匹配理论中的名词,代表偶零链的Kashiwara-Lusztig基底和对应的拟单纯复形的节点数目;
需要注意:在计算Pijk时,第一个加数为小线段Si起点Xij,第二个加数相当于从Si起点把Si平均分成N等份中的第k份,并按比例沿着Si在空间中定位;第三个加数用于平移到不同的小线段Si之间,并保证细分后的面片具有与原始面片相同的拓扑结构。
实施例4:步骤S5具体为:
对于倒凹区域中的每个顶点,找到其所有相邻的三角形,并将这些三角形的法向量投影到平面上,得到的投影向量构成了该顶点周围三角形法向量所在的二维空间;
需要说明的是:设倒凹区域中的某个顶点为P,其相邻三角形法向量为、/>、...、/>,且投影后所得到的向量在平面上的分量为v1、v2...vm;
将每个投影向量展开到极坐标系中,计算每个向量与x轴之间的极角,表示为:
θ i=atan2(Vi,y, Vi,x) (13)
其中,atan2(y, x)是求点(x, y)与原点的连线与x轴正半轴之间的夹角;Vi,x表示向量Vi在x轴上的分量,Vi,y表示向量Vi在y轴上的分量,考虑到第二象限和第三象限的情况,使用atan2而不是简单的arctan函数;
对于所有的角度θ i,按照从小到大的顺序排序,将排序后的角度构成一个有序集合θ={θ 1, θ 2..., θ m};
计算累积分布函数CDF,即集合中每个元素出现的概率值,表示为:
CDF(θ i ) = (θ i -0.5)/n (14)
其中,θ i 为θ集合中的元素,n为θ中所有元素的数量;
根据阈值θ确定哪些角度被认为是倾斜的,可以通过查找CDF中最靠近阈值θ的元素来实现,令CDF(θ j)≈theta,则认为前j个角度是倾斜的;
对于每个倾斜的角度θ i,在对应的方向上沿着平面法向量n i 构造一条射线,表示为:
Ri(u)=P+u·n i (15)
其中,u是一条射线上的参数值,参数u表示从倒凹区域的顶点沿着某一投影方向到交点的距离,通过逐渐增加参数u的值来移动该点,直至该点处于投影后的平面上,并与曲面相交的第一个点Q即为倒凹区域的上边界点。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (6)
1.在三维网格上生成牙模倒凹区域的方法,其特征在于,包括如下具体步骤:
S1.对牙模顶点进行颜色标记,并且导入标准的STL牙模数据,将牙模数据存入到Mesh管理器中;
S2.通过搜索与步骤S1中颜色标记相关联的点,并将它们标记为已访问状态,对于每个已选择的点,执行邻域搜索算法得到其所有邻居节点,然后使用给定平面方程来计算它们在该平面上的投影点,并结合距离度量方法计算每个点的权重;
S3.将步骤S1中牙模顶点点集的边界进行密集化,生成更多的权重点;
S4.基于计算出的权重值和阈值,对牙模三角形网格上的每个顶点赋予不同的颜色值以呈现网格表面的微小起伏和倒凹区域;
S5.根据步骤S4计算出的倒凹区域,确定倒凹区域的上边界;
步骤S1具体包括如下步骤:
S01.将牙模的每个顶点的坐标沿着Y轴方向偏移0.0001mm得到新的顶点i;
S02.顶点i处发射一条与向量m_dir方向相同的射线,并检测该射线是否与牙模三角形网格相交,即计算射线与牙模三角形网格的最近相交点;其中,m_dir是顶点i相对于坐标原点的方向向量;
S03.分别计算最近相交点到i的距离Vi和最近相交点到点i相邻顶点点j的距离Vj,如果Vi大于Vj,则认为j是一个凸出顶点,并进行颜色标记;
步骤S03具体为:
在处理凸出顶点的判别时,计算顶点i与其附近所有距离小于某个阈值的顶点j的法向量cross;
cross的计算公式为:cross(i,j)=(pj-pi)·(Avg_j-pi) (1)
其中,Avg_j是所有与顶点j相连接的顶点的平均3D坐标位置,pi为顶点i的3D坐标位置,pj为顶点j的3D坐标位置;
步骤S5具体为:
设倒凹区域中的某个顶点为P,其相邻三角形法向量为、/>、...、/>,且投影后所得到的向量在平面上的分量为v1、v2...vm;
将每个投影向量展开到极坐标系中,计算每个向量与x轴之间的极角θ i,表示为:
θ i=atan2(Vi,y, Vi,x) (13);
其中,atan2(y, x)是求点(x, y)与原点的连线与x轴正半轴之间的夹角;Vi,x表示向量Vi在x轴上的分量,Vi,y表示向量Vi在y轴上的分量;
对于所有的角度θ i,按照从小到大的顺序排序,将排序后的角度构成一个有序集合θ={θ 1, θ 2..., θ m};
计算累积分布函数CDF,即集合中每个元素出现的概率值,表示为:
CDF(θ i ) = (θ i -0.5)/n (14);
其中,θ i 为θ集合中的元素,n为θ中所有元素的数量;
查找出靠近阈值θ的CDF(θ j),则认为前j个角度是倾斜的;
对于每个倾斜的角度θ i,在对应的方向上沿着平面法向量n i 构造一条射线,表示为:
Ri(u)=P+u·n i (15);
其中,u是一条射线上的参数值,参数u表示从倒凹区域的顶点沿着某一投影方向到交点的距离;
通过增加参数u的值来移动当前构造射线上的点F,直至沿着当前射线移动的点F处于投影后的平面上,并与曲面相交的第一个点Q即为倒凹区域的上边界点。
2.根据权利要求1所述在三维网格上生成牙模倒凹区域的方法,其特征在于,根据cosine cross与cosine m_dir之间的大小关系,判断顶点j是否为凸出顶点,
若cosine cross>cosine m_dir,顶点j是为凸出顶点;
若cosine cross<cosine m_dir,顶点j不是凸出顶点;
其中,cosine cross为法向量cross的方向余弦,cosine m_dir为指定方向m_dir的方向余弦。
3.根据权利要求1所述在三维网格上生成牙模倒凹区域的方法,其特征在于,步骤S2具体包括如下步骤:
S21.计算每个已选择的点的投影点,并创建切平面;
S22.权重计算:通过计算每个已选择的点在法向量方向上的分量,将点到平面的距离乘以正或负符号进行修正,得到顶点的权重w。
4.根据权利要求3所述在三维网格上生成牙模倒凹区域的方法,其特征在于,步骤S21具体包括:
将三维空间中的一个点point投影到由 point1和point2两个点确定的线段上,得到在线段上距离点point最近的点projPoint;
投影点projPoint的计算公式,如下:
projPoint=point·t+point·(1-t) (2);
其中,t表示projPoint与线段起点point1之间的比例关系,其数学表达式为: (3);
其中,表示从point1指向point 的向量,/>表示由point1指向point2的向量,是/>的长度平方;
令表示由两点确定线段的方向向量,根据投影点projPoint和切平面的几何含义,将/>视为切平面的法向量;
根据平面定义,使用投影点p即projPoint和法向量来构造平面方程: (4)
其中,表示空间中任一点坐标位置,p表示为投影点的空间坐标位置,/>是切平面的法向量也就是/>;
投影点位置方程为 : (5);
使用投影点和法向量构造切平面:将投影点位置方程(5)带入上述平面方程(4)中,可得到切平面的解析式:(6)
其中,p是投影点的空间坐标位置,是线段的方向向量,p1是线段起点的空间坐标位置,该平面与直线垂直,且过给定点p。
5.根据权利要求4所述在三维网格上生成牙模倒凹区域的方法,其特征在于,步骤S22具体包括:将投影到法向量/>方向上,得到投影向量长度d,根据点p在法向量方向上的位置,判断投影点projPoint是否在法向量/>的同侧,若不是,则将d取反,从而保证最终权重值的符号正确,即:/> (7);
其中,表示从点p到已知平面上的任意一点p~ 的位置向量,/>表示已知点p0的位置向量,/>表示待投影点的位置向量,平面由法向量/>和过平面上已知点p0的一个位置向量确定,/>表示法向量/>的模长,(a,b,c)为/>的分量。
6.根据权利要求1所述在三维网格上生成牙模倒凹区域的方法,其特征在于,步骤S3具体为:
S31.计算边界点:找以顶点pi为中心、领域半径r内所有点的组成,即邻域点集Nr(pi):
(8);
计算点pi的领域密度,即邻域点个数,公式为:
(9);
如果pi的一圈相邻点的领域密度都小于点pi的邻域密度,则di等于邻域半径r;
如果点pi的领域密度小于等于阈值Pmin,或者di小于等于距离阈值Dmin,则将它标记为边界点;
其中,di表示与pi距离最近的、邻域密度比pi高的点的距离;
S32.计算边界边:根据S31得到的边界点,计算边界边Eij的长度Lij以及方向;
计算边界边Eij的长度:
L ij = d(p i ,p j ) (10);
其中,d(p i ,p j )表示pi和pj之间欧几里得距离;
计算边界边Eij的方向,pi在三维空间中的坐标(xi,yi,zi),pj在三维空间中的坐标(xj,yj,zj);
(11);
最后将连接所有相邻边界点pi、pj所得到的边界边Eij存储到集合Eb中;
S33.边界密集化:首先对于每一条边界边Eij∈Eb,将其按照长度Ls平均地分割成Ns段小线段;
Si={(Xi1,Yi1 ),…,(Xim,Yim)},其中,m= Ns+1,Si表示为Ns段小线段的集合;
每个小线段包含起点和终点,即Xij和Yij为指两个三角形面片中的三维坐标点,代表边界边Eij的两个端点的在牙模网格上的位置,接着,在每个小线段上等间距生成多个权重点Pijk,即Si上的第j段小线段中的第k个权重点,它的位置由以下公式计算得来:
(12);
其中,Xij和Yij表示小线段Si的两个端点;Ls为小线段Si的长度;N为在该小线段上均匀生成的权重点数目;j为当前处理的小线段Si的序号,范围从1到Ns;k为当前处理的小线段Si中的第k个点,范围从1到N;kL8和N8为Khovanov-Piazzola匹配理论中的名词,代表偶零链的Kashiwara-Lusztig基底和对应的拟单纯复形的节点数目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310603006.7A CN116342849B (zh) | 2023-05-26 | 2023-05-26 | 在三维网格上生成牙模倒凹区域的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310603006.7A CN116342849B (zh) | 2023-05-26 | 2023-05-26 | 在三维网格上生成牙模倒凹区域的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116342849A CN116342849A (zh) | 2023-06-27 |
CN116342849B true CN116342849B (zh) | 2023-09-08 |
Family
ID=86884379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310603006.7A Active CN116342849B (zh) | 2023-05-26 | 2023-05-26 | 在三维网格上生成牙模倒凹区域的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116342849B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014104819A1 (de) * | 2014-03-26 | 2015-10-01 | Heraeus Deutschland GmbH & Co. KG | Träger und/oder Clip für Halbleiterelemente, Halbleiterbauelement und Verfahren zur Herstellung |
CN108961398A (zh) * | 2018-07-12 | 2018-12-07 | 杭州美齐科技有限公司 | 一种基于法向量夹角的牙齿倒凹网格模型自动填充算法 |
CN112308895A (zh) * | 2019-07-31 | 2021-02-02 | 天津工业大学 | 一种构建真实感牙列模型的方法 |
CN112699808A (zh) * | 2020-12-31 | 2021-04-23 | 深圳市华尊科技股份有限公司 | 密集目标检测方法、电子设备及相关产品 |
CN114663637A (zh) * | 2022-04-24 | 2022-06-24 | 杭州雅智医疗技术有限公司 | 三维牙齿模型倒凹区域填充方法、装置及应用 |
-
2023
- 2023-05-26 CN CN202310603006.7A patent/CN116342849B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014104819A1 (de) * | 2014-03-26 | 2015-10-01 | Heraeus Deutschland GmbH & Co. KG | Träger und/oder Clip für Halbleiterelemente, Halbleiterbauelement und Verfahren zur Herstellung |
CN108961398A (zh) * | 2018-07-12 | 2018-12-07 | 杭州美齐科技有限公司 | 一种基于法向量夹角的牙齿倒凹网格模型自动填充算法 |
CN112308895A (zh) * | 2019-07-31 | 2021-02-02 | 天津工业大学 | 一种构建真实感牙列模型的方法 |
CN112699808A (zh) * | 2020-12-31 | 2021-04-23 | 深圳市华尊科技股份有限公司 | 密集目标检测方法、电子设备及相关产品 |
CN114663637A (zh) * | 2022-04-24 | 2022-06-24 | 杭州雅智医疗技术有限公司 | 三维牙齿模型倒凹区域填充方法、装置及应用 |
Non-Patent Citations (1)
Title |
---|
基于Hermite插值的网格拼接和融合;缪永伟;林海斌;寿华好;;中国图象图形学报(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116342849A (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107123164B (zh) | 保持锐利特征的三维重建方法及系统 | |
CN107610061B (zh) | 一种基于二维投影的保边点云孔洞修补方法 | |
US8711143B2 (en) | System and method for interactive image-based modeling of curved surfaces using single-view and multi-view feature curves | |
US7814441B2 (en) | System and method for identifying original design intents using 3D scan data | |
Sheffer et al. | Robust spherical parameterization of triangular meshes | |
WO2021203711A1 (zh) | 一种基于几何重建模型的等几何分析方法 | |
WO2011111680A1 (ja) | 表面加工データの作成方法および装置 | |
WO2011079421A1 (zh) | 对点云数据进行全局参数化和四边形网格化方法 | |
CN102306397A (zh) | 点云数据网格化的方法 | |
Campen et al. | Walking on broken mesh: Defect‐tolerant geodesic distances and parameterizations | |
CN110689620A (zh) | 一种多层次优化的网格曲面离散样条曲线设计方法 | |
CN110796735B (zh) | Nurbs曲面有限元板壳网格划分方法及计算机实现系统 | |
CN114611359B (zh) | 一种网格-参数混合模型建模方法和系统 | |
CN116342849B (zh) | 在三维网格上生成牙模倒凹区域的方法 | |
Kou et al. | Adaptive spline surface fitting with arbitrary topological control mesh | |
CN106960469B (zh) | 一种快速分割三角形的光滑自由变形方法 | |
CN108986020A (zh) | 一种三维曲面近似展开成平面的自适应方法 | |
Vidal et al. | Combinatorial mesh optimization | |
Huang et al. | Adaptive hexahedral mesh generation and regeneration using an improved grid-based method | |
CN106981095B (zh) | 一种改进的光滑自由变形方法 | |
Wang et al. | A novel slicing-based regularization method for raw point clouds in visible IoT | |
Huang et al. | A novel tool path planning method for machining triangular mesh surfaces based on geodesics in heat theory | |
Docampo-Sánchez et al. | A regularization approach for automatic quad mesh generation | |
JP2000251095A (ja) | ポリゴンメッシュの領域分割方法及びその装置並びに情報記録媒体 | |
Ma et al. | The application of carving technique based on 3D printing digitalization technology in jewelry design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |