三维表面三角网络模型的角度优化方法及装置与流程

文档序号:13447596阅读:356来源:国知局
三维表面三角网络模型的角度优化方法及装置与流程

本发明属于计算机图形处理领域,具体涉及一种三维表面三角网络模型的角度优化方法及装置。



背景技术:

在计算机图形学领域中,三维表面三角网络以其有效性、简易性和灵活性成为三维数据离散表示中最为广泛的形式。随着扫描设备和重建技术的发展,可以轻易地获得对象的三维表面三角网络模型,但是通过这种方式获得的三维表面三角网络模型通常具有大量形状不好的三角形,即,三角形中具有过大或过小的角,不能很好地应用于数值计算方法中,例如有限体积法、离散外微分、时空网格法等。

现有技术中生成高质量的三维表面三角网络模型的方法主要包括cvt(centroidalvoronoitessellation,重心voronoi图)计算法、蓝噪声采样法以及离散优化法。

cvt计算法的目标是通过lloyd迭代或者拟牛顿法最小化cvt的能量,通过输入采样域和采样点数,提取voronoi图的对偶网络得到输出的三维表面三角网络模型,但是如果输入具有尖锐特征或者具有高度变化的密度函数,cvt计算法则会输出具有大角度的三维表面三角网络。

蓝噪声采样法包括容积约束的蓝噪声采样方法、最大泊松圆盘采样法、最远点优化法以及简易推拉法,在实际应用中,蓝噪声采样法在满足一系列约束条件之后,能够提高三维表面三角网络模型质量的同时,保持了点分布的随机性,但是点分布的随机性的保持会影响三角单元的质量,所以该方法在特征区域无法保持无大角度的特征。

离散优化法通常使用四种基本的局部操作,即:边分裂、边翻转、边折叠以及顶点重定位,通过反复在输入模型上应用局部操作,提高三维表面三角网络模型的质量,但是该方法没有限制输出网络的角度范围,同时引入了许多大角度的三角形,不能保证没有大角度的三维表面三角网络。

因此,如何提供一种解决上述问题的方法是本领域技术人员目前需要解决的问题。



技术实现要素:

为解决现有技术中的问题,即为了解决现有技术进行三维表面三角网络模型的角度优化后依旧存在大角度的问题,本发明提供了一种三维表面三角网络模型的角度优化方法,包括:

步骤s1:对目标物体的原始三维表面三角网络模型进行重新网格化,生成第一三维表面三角网格;

步骤s2:获取所述第一三维表面三角网格中的三角形的角度,分裂所述三角形中大于第一预设角的角度,增加所述三角形中小于第二预设角的角度,得到第二三维表面三角网格;

步骤s3:对所述第二三维表面三角网格中每个顶点进行平滑操作、对所述顶点的度数进行度数优化;

步骤s4:重复迭代步骤s2-s3,直至所述第二三维表面三角网格中所有三角形角度均小于第一预设角且大于第二预设角,得到角度优化后的三维表面三角网络模型。

在上述方法的优选技术方案中,所述“对目标物体的原始三维表面三角网络模型进行重新网格化,生成第一三维表面三角网格”,其方法为:

计算所述原始三维表面三角网络模型的近似误差和所述原始三维表面三角网络模型中每个顶点的曲率半径;

根据所述近似误差、以及所述每个顶点的曲率半径求解所述原始三维表面三角网络模型的密度场;

根据所述密度场求解所述原始三维表面三角网络模型的长边和短边;

对所述长边进行分裂操作、对所述短边进行折叠操作,直至产生满足预设点数的网格,生成所述第一三维表面三角网格。

在上述方法的优选技术方案中,求解所述原始三维表面三角网络模型的密度场的具体公式为:

其中,ε表示原始三维表面三角网络模型的近似误差,ri表示第i个顶点的曲率半径。

在上述方法的优选技术方案中,求解所述原始三维表面三角网络模型的长边的具体公式为:

其中,ρ(xa)表示顶点xa的密度场,ρ(xb)表示顶点xb的密度场。

在上述方法的优选技术方案中,求解所述原始三维表面三角网络模型的短边的具体公式为:

其中,ρ(xa)表示顶点xa的密度场,ρ(xb)表示顶点xb的密度场。

在上述方法的优选技术方案中,所述“分裂所述三角形中大于第一预设角的角度”,其方法为:

将所述三角形中内角的角度大于第一预设角的三角形存入第一列表中;

设置插入三角形的最长边长的顶点个数为k,其中k为不小于1的正整数;

从所述第一列表中取出三角形,在三角形的最长边的中点重复迭代插入顶点直至插入顶点的个数为k,对三角形的相应的边长进行翻转,分裂三角形中大于第一预设角的角度。

在上述方法的优选技术方案中,所述“在三角形的最长边的中点重复迭代插入顶点直至插入顶点的个数为k,对三角形的相应的边长进行翻转”,其方法为:

判断所述第一列表中的三角形是否存在特征边;

若存在,则执行步骤a1-a3,若不存在则将所述第一列表中的三角形转变为单个短边为特征边的三角形,继续执行步骤a1-a3;

其中,步骤a1-a3分别为:

步骤a1:将所述第一列表中的三角形与包含所述三角形最长边的另一个三角形组成四边形;

步骤a2:在所述第一列表中的三角形的最长边的中点重复迭代插入顶点直至插入顶点的个数为k;

步骤a3:选择所述四边形中能够让翻转后的角度误差累加的均方根最小的边长进行翻转,其中,所述角度误差为实际角度与最优角度的误差。

在上述方法的优选技术方案中,所述“将所述第一列表中的三角形转变为单个短边为特征边的三角形”,其方法为:

若所述第一列表中的三角形的长边为特征边,则在所述长边的中点插入顶点,分裂所述长边,将所述第一列表中的三角形转变为单个短边为特征边的三角形;

若所述第一列表中的三角形的两条短边为特征边,执行步骤a1和a3,将所述第一列表中的三角形转变为单个短边为特征边的三角形;

若将所述第一列表中的三角形组合为四边形,所述四边形相连的两条边为特征边,则执行步骤a3,将所述第一列表中的三角形转变为单个短边为特征边的三角形。

在上述方法的优选技术方案中,所述“增加所述三角形中小于第二预设角的角度”,其方法为:

将所述三角形中内角的角度小于第二预设角的三角形存入第二列表中;

设置迭代去除顶点的个数为k;

选取所述第二列表中的三角形进行折叠后不产生自相交现象的边长;

对所述边长进行重复迭代折叠操作,直至去除的顶点的个数为k。

在上述方法的优选技术方案中,所述“对所述第二三维表面三角网格中每个顶点进行平滑操作”,其方法为:

对所述第二三维表面三角网格中每个顶点进行拉普拉斯平滑操作,所述拉普拉斯平滑操作的公式为:

其中,vi表示当前平滑的顶点,xi和ni分别是该顶点的坐标和法向,n(vi)表示vi的一圈邻域,wj表示邻域三角形面积的权重,pj表示邻域三角形的重心,ci表示pj的加权平均值,表示ni的转置。

在上述方法的优选技术方案中,所述“对所述顶点的度数进行度数优化”,其方法为:

对所述第二三维表面三角网格进行局部边翻转操作,减小所述顶点的度数误差的平方和。

在上述方法的优选技术方案中,所述“根据所述近似误差、以及所述每个顶点的曲率半径求解所述原始三维表面三角网络模型的密度场”之后,所述“根据所述密度场求解所述原始三维表面三角网络模型的长边和短边”之前,该方法还包括:

获取所述原始三维表面三角网格中的三角形的最大和最小的边长;

根据最大和最小的边长分别求解所述密度场的上限参数和下限参数;

利用所述上限参数和所述下限参数减少所述密度场的畸变。

本发明的另一方面,提供了一种三维表面三角网络模型的角度优化装置,包括:

重新网格化模块,用于对目标物体的原始三维表面三角网络模型进行重新网格化,生成第一三维表面三角网格;

角度优化模块,用于获取所述第一三维表面三角网格中的三角形的角度,分裂所述三角形中大于第一预设角的角度,增加所述三角形中小于第二预设角的角度,得到第二三维表面三角网格;

度数优化平滑模块,用于对所述第二三维表面三角网格中每个顶点进行平滑操作、对所述顶点的度数进行度数优化;

重复迭代模块:用于重复迭代所述角度优化模块和所述度数优化平滑模块中的步骤,直至所述第二三维表面三角网格中所有三角形角度均小于第一预设角且大于第二预设角,得到角度优化后的三维表面三角网络模型。

本发明提供了一种三维表面三角网络模型的角度优化方法,包括步骤s1:对目标物体的原始三维表面三角网络模型进行重新网格化,生成第一三维表面三角网格;步骤s2:获取所述第一三维表面三角网格中的三角形的角度,分裂所述三角形中大于第一预设角的角度,增加所述三角形中小于第二预设角的角度,得到第二三维表面三角网格;步骤s3:对所述第二三维表面三角网格中每个顶点进行:平滑操作、对所述顶点的度数进行度数优化;步骤s4:重复迭代步骤s2-s3,直至所述第二三维表面三角网格中所有三角形角度均小于第一预设角且大于第二预设角,得到角度优化后的三维表面三角网络模型。

本发明通过统计原始三维表面三角网络模型中三角形的角度,并且对模型中相应的边长进行分裂和折叠操作,可以在去除其中大于约束三维表面三角网络最大的角度,增加约束三维表面三角网络最小的角度的同时,还能够保持三维表面三角网络的特征和边界,减少进行角度优化后的三维表面三角网络与参考网络的豪斯多夫距离,提高了保真度。

附图说明

图1为本发明一种实施例的三维表面三角网络模型的角度优化方法的流程示意图;

图2为本发明一种实施例的特征边的结构示意图;

图3为本发明一种实施例的将三角形拓展为四边形的结构示意图;

图4(a)-(d)分别为本发明一种实施例的三角形中单个短边为特征边的结构示意图、三角形长边为特征边的结构示意图、三角形中两个短边为特征边的结构示意图、四边形中相连的两条边均为特征边的结构示意图;

图5为本发明一种实施例的三角形去除顶点的结构示意图;

图6为本发明一种实施例的k值迭代次数与大角小角百分比的曲线图;

图7为本发明一种实施例的k值数值与收敛时间的关系图;

图8为本发明一种实施例的不同精度的狮子瓶模型的处理结果;

图9为本发明一种实施例的本发明方法与rar方法性能对比图;

图10-13分别为本发明一种实施例的狮子瓶模型、兔子模型、恐龙模型以及人头模型本发明的方法与现有技术方法进行重新网格化结果对比图;

图14-16分别为本发明一种实施例的模具模型、不规则模型以及人脸模型本发明的方法与现有技术方法进行重新网格化结果对比图;

图17为本发明一种实施例的本发明方法与rar方法迭代次数与大角小角百分比的关系图;

图18为本发明一种实施例的本发明的方法与现有技术方法生成三维表面三角网络的数据结果;

图19为本发明一种实施例的三维表面三角网络模型的角度优化装置结构示意图。

具体实施方式

下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。

如图1所示,为本发明一种实施例的三维表面三角网络模型的角度优化方法的流程示意图,包括:

步骤s1:对目标物体的原始三维表面三角网络模型进行重新网格化,生成第一三维表面三角网格;

首先通过扫描设备或者重建技术预先建立物体的原始三维表面三角网络模型,之后根据二维流型三角网络对原始表面三角网络模型进行重新网格化,其中,重新网格化的方法包括均匀重新网格化和自适应重新网格化两种方法。均匀重新网格化假设每个三角形均为等边三角形,通过等边三角形的面积和边长的关系,计算出三角形的参考边长,并将参考边长作为目标边长,根据目标边长计算第一三维表面三角网格的密度函数;自适应重新网格化通过引入每个顶点的曲率半径让原始三维表面三角网络模型平坦的区域分布较为稀疏的顶点,即比较大的三角形,让凹凸变化大的区域分布较为密集的顶点,即比较小的三角形。

步骤s2:获取第一三维表面三角网格中的三角形的角度,分裂三角形中大于第一预设角的角度,增加三角形中小于第二预设角的角度,得到第二三维表面三角网格;

在实际应用中,首先获取第一三维表面三角网格中所有三角形的角度,找出内角大于第一预设角和小于第二预设角的三角形,其中,第一预设角和第二预设角均为用户自己预设的,具体的,第一预设角为约束第一三维表面三角网格的最大的角度,即,用户想让三角形中存在的最大的角度,第二预设角为约束第一三维表面三角网格的最小的角度,即,用户想让三角形中存在的最小的角度。分裂大于第一预设角的角度是通过在大于第一预设角的角度对应的边长中插入顶点,并且连接边长中插入的顶点和大于第一预设角的角度的顶点来实现的,增加小于第二预设角的角度是通过对满足可以进行边折叠操作的条件的边长进行折叠,消除分裂第一预设角所增加的顶点的个数,保证第一三维表面三角网格的顶点数不变。

步骤s3:对第二三维表面三角网格中每个顶点进行平滑操作、对顶点的度数进行度数优化;

在步骤s2的基础上,去除了大于第一预设角和增加了小于第二预设角的情况下,由于误差条件的限制,可能还是有部分细长的三角形没有去掉,因此,需要对得到的第二三维表面三角网格进行进一步的优化,通过对每个顶点进行重复迭代平滑操作,以及对顶点的度数进行重复迭代度数优化,进一步改进网格的质量。

步骤s4:重复迭代步骤s2-s3,直至所述第二三维表面三角网格中所有三角形角度均小于第一预设角且大于第二预设角,得到角度优化后的三维表面三角网络模型。

为了能够保证执行步骤s1-s3的三维表面三角网格中所有的三角形的角度均小于第一预设角且大于第二预设角,不出现不满足角度的三角形,在生成第一三维表面三角网格的基础上,重复迭代执行步骤s2-s3,从而将所有的三角形中的角度均转变为符合要求的角度。

本发明通过统计原始三维表面三角网络模型中三角形的角度,并且对模型中相应的边长进行分裂和折叠操作,可以在去除其中大于约束三维表面三角网络最大的角度,增加约束三维表面三角网络最小的角度的同时,还能够保持三维表面三角网络的特征和边界,减少进行角度优化后的三维表面三角网络与参考网络的豪斯多夫距离,提高了保真度。

作为一种优选的实施例,“对目标物体的原始三维表面三角网络模型进行重新网格化,生成第一三维表面三角网格”,其方法为:

计算原始三维表面三角网络模型的近似误差和原始三维表面三角网络模型中每个顶点的曲率半径;

根据近似误差、以及每个顶点的曲率半径求解原始三维表面三角网络模型的密度场;

根据密度场求解原始三维表面三角网络模型的长边和短边;

对长边进行分裂操作、对短边进行折叠操作,直至产生满足预设点数的网格,生成第一三维表面三角网络。

作为一种优选的实施例,求解原始三维表面三角网络模型的密度场的具体公式为:

其中,ε表示原始三维表面三角网络模型的近似误差,ri表示第i个顶点的曲率半径。

作为一种优选的实施例,求解原始三维表面三角网络模型的长边的具体公式为:

其中,ρ(xa)表示顶点xa的密度场,ρ(xb)表示顶点xb的密度场。

作为一种优选的实施例,求解原始三维表面三角网络模型的短边的具体公式为:

其中,ρ(xa)表示顶点xa的密度场,ρ(xb)表示顶点xb的密度场。

在实际应用中,对目标物体的原始三维表面三角网络模型进行重新网格化包括均匀重新网格化和自适应重新网格化两种方法。

对于均匀重新网格化,首先计算出原始三维表面三角网络模型的表面积并且假设每个三角形均为等边三角形,则每个三角形的面积近似等于其中,n为原始三维表面三角网络模型中三角形的个数。通过等边三角形面积和边长的关系,可以计算出参考边长其中参考边长作为目标边长,在对原始三维表面三角网络进行均匀重新网格化时,生成的第一三维表面三角网络的密度函数可以定义为ρ(xi)=l。

对于自适应重新网格化,与均匀重新网格化类似的,可以得出原始三维表面三角网络模型的表面积s是每个三角形面积的累加,经过变化,可以得到表面积s、每个顶点的曲率半径ri以及近似误差ε的关系式:

该关系式为一个一元二次方程,可以直接求解出ε的值,之后,根据近似误差和每个顶点的曲率半径计算出原始三维表面三角网络的密度场

通过均匀重新网格化方法或者自适应重新网格化方法得到密度场之后,定义三角形中长边为定义短边为其中,xa,xb分别代表三角形中的两个点,ρ(xa),ρ(xb)分别代表点xa,xb的密度场,随后,对长边进行分裂操作,对短边进行折叠操作,直至产生满足点数为nt的三维表面三角网格,即第一三维表面三角网格,其中,满足条件的点数nt为用户自定义的。

本领域技术人员可以理解的是,本方法也可以作为其他重新网格化方法的后处理阶段,直接将其他方法的输出结果作为原始的三维表面三角网络模型,并把nt设置为当前网络的点数,在后续处理中保持点数不变。

作为一种优选的实施例,“分裂三角形中大于第一预设角的角度”,其方法为:

将三角形中内角的角度大于第一预设角的三角形存入第一列表中;

设置插入三角形的最长边长的顶点个数为k,其中k为大于1的正整数;

从第一列表中取出三角形,在三角形的最长边的中点重复迭代插入顶点直至插入顶点的个数为k,对三角形的相应的边长进行翻转,分裂三角形中大于第一预设角的角度。

在生成第一三维表面三角网格的基础上,获取第一三维表面三角网格中的三角形的度数,并且统计其中角度大于第一预设角的三角形,将其存入列表ll中,设置迭代插入角度大于第一预设角的边长中的顶点的个数为k。

从列表ll中取出一个三角形,判断该三角形中是否存在特征边,其中,如图2所示,为本发明一种实施例的特征边的结构示意图,其中ab和cd所表示的线段表示特征边,特征边为人为定义的一些尖锐的边。若取出的三角形中不存在特征边,如图3所示,为本发明一种实施例的将三角形拓展为四边形的结构示意图,将取出的三角形abc沿其最长边bc,并且与包含该最长边另一个三角形bcd连接,使之形成一个四边形abcd,并在三角形abc的最长边bc的中点e插入顶点,分裂最长边。选择四边形的四条边中一条边进行翻转操作,以去除三角形中大于第一预设角的角度。其中,选择四边形中一条边长进行翻转的选择策略为:选择进行翻转的边长能够让翻转后的角度误差累加的均方根最小,其中,角度误差为该三角形中的实际角度和最优角度的误差,最优角度为60度。

作为一种优选的实施例,“在三角形的最长边的中点重复迭代插入顶点直至插入顶点的个数为k,对三角形的相应的边长进行翻转”,其方法为:

判断第一列表中的三角形是否存在特征边;

若存在,则执行步骤a1-a3,若不存在则将第一列表中的三角形转变为单个短边为特征边的三角形,继续执行步骤a1-a3;

其中,步骤a1-a3分别为:

步骤a1:将第一列表中的三角形与包含三角形最长边的另一个三角形组成四边形;

步骤a2:在第一列表中的三角形的最长边的中点重复迭代插入顶点直至插入顶点的个数为k;

步骤a3:选择四边形中能够让翻转后的角度误差累加的均方根最小的边长进行翻转,其中,角度误差为实际角度与最优角度的误差。

作为一种优选的实施例,“将第一列表中的三角形转变为单个短边为特征边的三角形”,其方法为:

若第一列表中的三角形的长边为特征边,则在长边的中点插入顶点,分裂长边,将第一列表中的三角形转变为单个短边为特征边的三角形;

若第一列表中的三角形的两条短边为特征边,执行步骤a1和a3,将第一列表中的三角形转变为单个短边为特征边的三角形;

若将第一列表中的三角形组合为四边形,四边形相连的两条边为特征边,则执行步骤a3,将第一列表中的三角形转变为单个短边为特征边的三角形。

具体地,若取出的三角形中存在特征边,则需要对三角形中的特征边进行分类讨论:

若取出的三角形中单个短边为特征边,如图4(a)所示,为本发明一种实施例的三角形中单个短边为特征边的结构示意图,则去除三角形中大于第一预设角的角度的操作方法与上述不存在特征边的处理方法相同,这里不再赘述;

若取出的三角形中长边为特征边,如图4(b)所示,为本发明一种实施例的三角形长边为特征边的结构示意图,则在三角形的长边中插入顶点,分裂长边,将三角形转化为单个短边为特征边的情况,剩余的操作与单个短边为特征边的操作方法相同,在此不再赘述;

若取出的三角形中两个短边均为特征边,如图4(c)所示,为本发明一种实施例的三角形中两个短边为特征边的结构示意图,则执行与三角形中不存在特征边相同的操作,将三角形转化为单个短边为特征边的情况,剩余的操作与单个短边为特征边的操作方法相同,在此不再赘述;

若将取出的三角形拓展为四边形后,四边形中相连的两条边均为特征边,如图4(d)所示,为本发明一种实施例的四边形中相连的两条边均为特征边的结构示意图,则选择四边形的四条边中一条边进行翻转操作,将其转化为单个短边为特征边的情况,剩余的操作与单个短边为特征边的操作方法相同,在此不再赘述。

以上不同的情况对应不同的操作,均可以很好地去除三角形中大于第一预设角的角度,并且在三角形的边长中插入顶点后,可以对第一三维表面三角网络进行局部切向平滑,对局部结构进行优化。

作为一种优选的实施例,“增加三角形中小于第二预设角的角度”,其方法为:

将三角形中内角的角度小于第二预设角的三角形存入第二列表中;

设置迭代去除顶点的个数为k;

选取第二列表中的三角形进行折叠后不产生自相交现象的边长;

对边长进行重复迭代折叠操作,直至去除的顶点的个数为k。

在第一三维表面三角网格的三角形中去除了大于第一预设角的角度的基础上,统计其中角度小于第二预设角的三角形,将其存入列表ls中,设置迭代去除顶点的个数为k,其中,每次迭代去除顶点的个数与迭代插入顶点的个数相同,从而保证第一三维表面三角网络中总顶点的个数保持不变。

从列表ls中取出一个三角形,判断该三角形中小于第二预设角的角度对应的边长是否可以进行边折叠操作,若满足可以进行边折叠操作的条件,则进行边折叠操作,其中,可以进行边折叠操作的条件为:对三角形中的边长进行折叠后不产生自相交的现象。如图5所示,为本发明一种实施例的三角形去除顶点的结构示意图,进行一次边折叠操作可以去除一个顶点,迭代循环进行边折叠操作直至去除顶点的个数等于k。在去除个数为k的顶点之后,进行局部切向平滑操作,以优化局部结构,得到第二三维表面三角网格。

作为一种优选的实施例,“对第二三维表面三角网格中每个顶点进行平滑操作”,其方法为:

对第二三维表面三角网格中每个顶点进行拉普拉斯平滑操作,拉普拉斯平滑操作的公式为:

其中,vi表示当前平滑的顶点,xi和ni分别是该顶点的坐标和法向,n(vi)表示vi的一圈邻域,wj表示邻域三角形面积的权重,pj表示邻域三角形的重心,ci表示pj的加权平均值,表示ni的转置。

如果需要进行平滑操作的三角形的个数远远小于总三角形的个数,则进行局部平滑操作,否则进行全局平滑操作。

作为一种优选的实施例,“对顶点的度数进行度数优化”,其方法为:

对第二三维表面三角网格进行局部边翻转操作,减小顶点的度数误差的平方和。

度数优化方法通过局部边翻转操作完成,优化目标是减小度数误差的平方和,其中,度数误差为每个顶点的度数与最优度数的差值,最优度数为中间点为6,边界点为4的度数,利用此操作可以让每个顶点的度数趋向于最优度数,从而完成度数优化。

为保证与参考网络的豪斯多夫距离,即保真度要求,本发明将第二三维表面三角网络中所有的顶点投影到参考网络,若对第二三维表面三角网格进行上述操作之后,三角形的角度中还存在大于第一预设角的三角形或者小于第二预设角的三角形,则继续去除大于第一预设角的角度,直至三角形中所有的角度均在第二预设角和第一预设角之间。

作为一种优选的实施例,“根据近似误差、以及每个顶点的曲率半径求解原始三维表面三角网络模型的密度场”之后,“根据密度场求解原始三维表面三角网络模型的长边和短边”之前,该方法还包括:

获取原始三维表面三角网络模型中的三角形的最大和最小的边长;

根据最大和最小的边长分别求解密度场的上限参数和下限参数;

利用上限参数和下限参数减少密度场的畸变。

在实际应用中,根据近似误差和每个顶点的曲率半径计算出原始三维表面三角网络的密度场之后,统计原始三维表面三角网络模型中最大和最小的边长,可以求解出限制原始三维表面三角网格密度场的上限和下限的两个参数,分别为hmin和hmax,能够让密度场变化平缓,减少密度场的畸变。

在实际应用中,本发明通过实验来评估本发明提供的三维表面三角网络模型的角度优化方法,本发明的实验平台为英特尔i52.50gh的中央处理器,8gbram和64位windows7操作系统的计算机,并在该平台使用开源软件设计三维表面三角网格生成系统。

在参数控制方面,顶点个数k的选取会对三维表面三角网络模型的角度优化方法的收敛性和算法性能造成影响,当k值较小时,可以提高输出网格的质量,但是会导致算法性能降低;当k值较大时,可以提高算法性能,但是会影响顶点的分布。如图6所示,为本发明一种实施例的k值迭代次数与大角小角百分比的曲线图,如图7所示,为本发明一种实施例的k值数值与收敛时间的关系图,可以发现当k等于20%的大角数量时可以产生更好的收敛效果,所以实验中我们使k等于20%的大角数量,作为本发明每次迭代插入顶点的数目。

在有效性方面,本发明在顶点数为10万的狮子瓶模型上进行实验,该模型细节十分复杂,现有技术不能正确处理。而本发明方法可以对不同精度的狮子瓶模型进行处理,生成无大角度的三维表面三角网络,如图8所示,为本发明一种实施例的不同精度的狮子瓶模型的处理结果,图8从左到右狮子瓶模型的精度依次增加。在性能方面,本发明与现有技术中性能最好的方法rar(real-timeadaptiveremeshing,实时自适应重新网格化方法)做了比较,如图9所示,为本发明一种实施例的本发明方法与rar方法性能对比图,可以发现,本方法几乎与rar具有相似的计算效率。

在鲁棒性方面,本发明方法可以直接在原始输入上进行处理,也可以作为其他重新网格化方法的后处理阶段。

如图10-13所示,表示在原始三维表面三角网络模型的三角形中不存在特征边的情况下,本发明的方法与现有技术的方法进行重新网格化的结果对比,其中,图10为本发明一种实施例的狮子瓶模型本发明方法与现有技术重新网格化结果对比图,图11为本发明一种实施例的兔子模型本发明方法与现有技术重新网格化的结果对比图,图12为本发明一种实施例的恐龙模型本发明方法与现有技术重新网格化的结果对比图,图13为本发明一种实施例的人头模型本发明方法与现有技术重新网格化的结果对比图,其中,图10-13中第一列表示本发明方法的重新网格化的结果,第二列表示rar自适应重新网格化的结果,第三列表示mai(real-timeadaptiveremeshing,小角度提升法)重新网格化的结果,第四列表示mps(maximalpoisson-disksampling,最大泊松圆盘采样法)重新网格化的结果,第五列表示fpo(farthestpointoptimization,最远点优化法)重新网格化的结果,第六列表示spp(simplepush-pull,简易推拉法)重新网格化的结果,第七列表示cvt(centroidalvoronoitessellation,基于重心voronoi图)重新网格化的结果,第八列表示nob(non-obtuseremeshingwithcvt,基于cvt的无钝角重新网格化)重新网格化的结果。

如图14-16所示,表示在原始三维表面三角网络模型的三角形中存在特征边的情况下,本发明的方法与现有技术的方法进行重新网格化的结果对比,其中,图14为本发明一种实施例的一种模具模型本发明方法与现有技术重新网格化的结果对比图,图15为本发明一种实施例的不规则模型本发明方法与现有技术重新网格化的结果对比图,图16为本发明一种实施例的人脸模型本发明方法与现有技术重新网格化的结果对比图,其中,图14-16中第一列表示rar重新网格化的结果,第二列表示mai重新网格化的结果,第三列表示cvt重新网格化的结果,第四列表示nob重新网格化的结果,第五列表示mps重新网格化的结果,第六列表示fpo重新网格化的结果,第七列表示本发明方法的重新网格化的结果。

实验结果显示,本发明方法可以去除所有其他方法中的大角与小角。因为本发明设计了在特征情况下的重新网格化方法,所以可以在去除所有的大角与小角的同时,保持特征与边界。

在收敛性方面,本发明在所有的模型上可以达到收敛,如图17所示,为本发明一种实施例的本发明方法与rar方法迭代次数与大角小角百分比的关系图。本方法与rar方法进行了对比,实验显示,本方法可以在较少的迭代次数下达到趋于零的收敛,而rar方法收敛时却仍有大角或小角的存在。

为了评估本发明方法进行角度优化生成三维表面三角网络质量的好坏,本发明通过与现有技术的方法进行比较,使用qmin和qavg评估三角网格的质量,其中,qmin代表最小三角形质量,qavg代表平均三角形质量,使用θmin代表三维表面三角网格中的最小角,代表三维表面三角网格中所有三角形中最小角的平均值,θmax代表三维表面三角网格中的最大角。如图18所示,为本发明一种实施例的本发明的方法与现有技术方法生成三维表面三角网络的数据结果,可以发现,本方法可以在所有模型输入上产生角度范围为[35,86]的表面三角网格。

如图19所示,为本发明一种实施例的三维表面三角网络模型的角度优化装置结构示意图,包括:

重新网格化模块1,用于对目标物体的原始三维表面三角网络模型进行重新网格化,生成第一三维表面三角网格;

角度优化模块2,用于获取第一三维表面三角网格中的三角形的角度,分裂三角形中大于第一预设角的角度,增加三角形中小于第二预设角的角度,得到第二三维表面三角网格;

度数优化平滑模块3,用于对第二三维表面三角网格中每个顶点进行平滑操作、对顶点的度数进行度数优化;

重复迭代模块4,用于重复迭代所述角度优化模块和所述度数优化平滑模块中的步骤,直至所述第二三维表面三角网格中所有三角形角度均小于第一预设角且大于第二预设角,得到角度优化后的三维表面三角网络模型。

所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,本发明实施例的三维表面三角网络模型的角度优化装置的具体工作过程及有关说明,可以参考前述三维表面三角网络模型的角度优化方法实施例中的对应过程,且与上述方法具有相同的有益效果,在此不再赘述。

本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

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