欢迎来到利索能及~ 联系电话:18621327849
利索能及
我要发布
收藏
专利号: 2021108055197
申请人: 淮阴工学院
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-10-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于特征约束的三维模型三角网格优化方法,其特征在于,包括如下步骤:步骤1:读取用户输入的迭代次数及简化目标,建立网格中顶点的拓扑关系,并对模型中不同的顶点进行分类,包括边界顶点;

步骤2:计算每个顶点的二次误差矩阵、邻域三角平均面积和顶点高斯曲率;

步骤3:对每条边进行误差计算,并计算每条边的边长、边收缩误差矩阵、新顶点的位置及边收缩误差;

步骤4:对所计算的边收缩误差进行排序;

步骤5:每次从边收缩误差中选取最小误差边进行边收缩操作;

步骤6:对边收缩后所影响的特征因素进行更新;在下次边收缩之前,重新计算与收缩边相关联的所有边收缩代价,更新堆中的折叠代价的顺序、顶点位置、边收缩误差;

步骤7:若不符合简化条件,跳到步骤5,否则继续;

步骤8:对网格进行初始化,计算每个顶点的优化算子,并计算新的顶点坐标、网格误差;

步骤9:将计算误差与设定阈值进行比较,不符合条件则跳转步骤8,符合则继续;

步骤10:更新顶点位置,不符合迭代次数跳转步骤8,符合则结束;

所述步骤2中计算每个顶点的二次误差矩阵、邻域三角平均面积和顶点高斯曲率的方法为:步骤2.1:为网格模型中每个顶点分配二次误差矩阵Q(vi),网格模型中顶点坐标表示为T Tvi=(x,y,z) ,与顶点vi相关的三角形平面方程为ax+by+cz+d=0,令p=(a,b,c,d)表示平面,顶点vi到平面距离如下:

2 T 2 T T T T T T

R=(pv) =(pv)·(pv)=v(pp)v=vKPv其中,Kp为一个4×4的矩阵:

步骤2.2:用Q(vi)表示顶点vi的二次误差矩阵如下:其中,planes(vi)为以vi为顶点的三角形集合;

步骤2.3:计算三角形面积可通过给出三角形的三个顶点坐标v0(x0,y0,z0),v1(x1,y1,z1),v2(x2,y2,z2),令三角形面积为S(Tr),步骤2.4:考虑局部区域中某点邻接三角形面积大小及网格密度对模型特征损失的影响,对顶点vi的邻接三角形的平均面积计算如下:其中n为顶点vi邻接三角形数目,S(Tri)为顶点vi邻接三角形中第i个三角形面积;

步骤2.5:通过对网格中三角形的角度和面积之和来计算顶点曲率,设αi为所求顶点邻域内第i个三角形的角度,利用高斯‑博内定理近似得:其中, 为以此顶点为三角形且在顶点局部邻域内的角度和,N表示顶点的局部邻域,dSN为该曲面的面积元,高斯曲率用G表示;

步骤2.6:假设G在顶点的局部区域内是常数,可将其近似为周围的重心区域,求解G:其中, 为顶点重心邻域N内第i个三角面面积;

所述步骤3的具体方法为:

步骤3.1:利用欧氏距离方法计算vi,vj间的折叠边长:其中,vi,vj坐标为vi=(xi,yi,zi),vj=(xj,yj,zj);

步骤3.2:顶点邻接三角形平均面积 与顶点高斯曲率 建立关系式,用边约束因子表示;

步骤3.3:由二次误差矩阵并将 作为权值加入边代价计算中,当边(vi,vj)收缩至新顶T点v=[x y z 1]时,令 且将G(vi,vj)映射到[0,1],则收缩边总误差矩阵如下:

步骤3.4:将Q(vi),Q(vj)记为Q(v),则边收缩误差计算如下:其中,Q(v)矩阵形式为;

步骤3.5:由边收缩误差看出边收缩代价函数方程为二次曲面方程,对其求偏导并极小化求新顶点位置坐标;

步骤3.6:列出方程组如下:

变成矩阵形式,记左边矩阵为r如下:

T

若矩阵不可逆,则v=[x y z 1]为折叠边新顶点;

步骤3.7:若矩阵r可逆,对于非边界顶点求新顶点,则得到v的唯一解:对于边界顶点,利用折叠边两端点位置加权权重来确定: 其中,为折叠边两端点的权值,且

步骤3.8: 定义如下,由G(vi,vj)为步骤3.3知,即每个顶点局部邻域内的曲率;

步骤3.9:含有边界顶点的收缩边需要处理边界问题,给边界边设置一个合适的权值,将其折叠误差增大,保留网格边界特征;

所述步骤4中对计算的边收缩误差进行排序:设网格模型有n条边,使用1×n的数组模拟堆,从小到大对边收缩误差进行排序,并依次存入最小堆中;

所述步骤8的具体方法为:

步骤8.1:对网格数据进行初始化,计算平均曲率,具体为:其中, 为顶点vi平均曲率, 为vi的法向单位向量,λ,β为边(vi,vj)所对的两个角,I为顶点局部重心邻域内三角面面积;

步骤8.2:得到新的顶点优化调整算法: 其中,σ为引入的网格模型调整参数;

步骤8.3:将步骤1中的网格特征顶点加入到平均曲率中,c(i)为特征顶点加权后平均曲率,并利用新的顶点优化调整算法优化近似得:c(i)′=(1‑ω·Hi)·c(i),其中,ω为惩罚项,并取0.1,若0.5<ω·Hit<1,则将其调整为0.5;

步骤8.4:将步骤8.2和步骤8.3结合得到平均曲率优化算子,并用拉普拉斯算子基础上利用加权位置约束的对角矩阵Wp,增大Wp权值:其中,Vd′为x,y和z的位置加权矩阵,L为拉普拉斯矩阵,且 L即均匀权拉普拉斯矩阵,f即均匀权拉普拉斯量;

步骤8.5:利用改进后的拉普拉斯算子计算后,与平均曲率优化算子相结合得到网格优化算子;

步骤8.6:在不断对网格迭代优化过程中,计算顶点坐标,并利用平均距离作为网格误差的误差度量。