[发明专利]一种基于烟花算法三角面片折叠的网格模型简化方法在审
申请号: | 201910527061.6 | 申请日: | 2019-06-18 |
公开(公告)号: | CN110322558A | 公开(公告)日: | 2019-10-11 |
发明(设计)人: | 张美玉;鲁亚文;侯向辉;简琤峰 | 申请(专利权)人: | 浙江工业大学 |
主分类号: | G06T17/10 | 分类号: | G06T17/10;G06F17/50 |
代理公司: | 杭州赛科专利代理事务所(普通合伙) 33230 | 代理人: | 郭薇 |
地址: | 310014 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 三角面片 算法 网格模型简化 三角形折叠 循环遍历 烟花 可折叠 折叠的 折叠点 折叠 排序 三角网格简化 孔洞 三角形面片 邻域信息 三角网格 三维模型 速率加快 有效结合 重新排序 保形 返回 更新 平衡 保证 | ||
1.一种基于烟花算法三角面片折叠的网格模型简化方法,其特征在于:所述方法包括以下步骤:
步骤1:读取网格模型数据,设置删减百分比和最大迭代次数t;
步骤2:循环遍历每个三角面片;若任一面片中包含有边界,则判定当前面片为边界三角网格,当前面片不参与折叠;不包含边界的面片视为可折叠三角形;
步骤3:对可折叠的三角形面片寻找对应的最优折叠点;
步骤4:将所有新的可折叠的三角形面片及上一次的三角面片的最优折叠点的折叠代价以数值由大到小排序,以当前排序将对应的三角面片重新排序;
步骤5:将折叠代价最小的三角形折叠成点,所述点为折叠代价最小的三角形内的最优折叠点,更新所述点的邻域信息;
步骤6:计算减少的三角面片数占初始时三角面片数的百分比,若满足删减百分比或只存在边界三角网格,则结束网格模型简化,否则,进行下一步;
步骤7:以步骤5中折叠后新生成的三角面片返回步骤2。
2.根据权利要求1所述的一种基于烟花算法三角面片折叠的网格模型简化方法,其特征在于:所述步骤3包括以下步骤:
步骤3.1:存在K个可折叠三角形,以K个三角面片的重心作为初始折叠点,以K个三角面片作为烟花算法的第一代烟花种群,计算折叠代价;初始化k=1;
步骤3.2:以折叠代价作为适应度函数,计算第k代的每个烟花的适应值fitnessk(i)、第t代的最大适应值第k代种群pop(k)的爆炸半径r(k)、个体i的爆炸半径ri(k)和烟花爆炸产生的火星位置其中,i∈pop(k);
步骤3.3:对烟花爆炸产生的火花做越界处理,若火花未跳出烟花所在的三角形的边界则直接进行下一步,否则该火花是非可行解,对火花的位置进行重置;火花位置进行重置后,处于烟花所在的三角形边界内,进行下一步;
步骤3.4:计算出烟花个体i爆炸生成的火花的适应值,选择最优适应值的烟花或火花作为下一代种群,k=k+1,若k=t,则进行下一步,否则,返回步骤3.2;
步骤3.5:以第t+1代烟花种群为三角面片最优折叠点。
3.根据权利要求2所述的一种基于烟花算法三角面片折叠的网格模型简化方法,其特征在于:所述步骤3.1中,计算每个三角面片的折叠代价其中,fk为任一三角面片,ΔV是以折叠点为顶点、fk折叠至顶点的体积误差,γfk为三角形fk的平展度,γi为fk其中一个顶点的平展度。
4.根据权利要求3所述的一种基于烟花算法三角面片折叠的网格模型简化方法,其特征在于:其中,m为该顶点一阶邻域三角形的数目,βn为该顶点的一阶邻域三角形的法向量与三角面片fk的法向量形成之间的夹角。
5.根据权利要求2所述的一种基于烟花算法三角面片折叠的网格模型简化方法,其特征在于:所述步骤3.2中,第k代种群pop(k)的爆炸半径其中,为缩放参数,Dmax和Dmin分别表示当前代种群中所有个体各维决策变量中的最大值和最小值,α表示爆炸半径的衰减指数,rend为预设的最小爆炸半径,Tmax为烟花种群的最大迭代次数;个体i的爆炸半径ε为用于调节的最小正数;烟花爆炸产生的火星位置xi为烟花爆炸点i的当前位置,为烟花爆炸点i爆炸产生的火星位置,rj为火星与炸点之间的距离,bk为爆炸的方向向量。
6.根据权利要求5所述的一种基于烟花算法三角面片折叠的网格模型简化方法,其特征在于:火星与烟花爆炸点之间的距离为r/4、r/2、3r/4或r。
7.根据权利要求2所述的一种基于烟花算法三角面片折叠的网格模型简化方法,其特征在于:所述步骤3.3包括以下步骤:
步骤3.3.1:令xi为n维搜索空间中任一维决策变量,且xi∈[ai,bi],i=1,2,...n;
步骤3.3.2:如果炸点xi在爆炸过程中产生的火星xj跳出边界[ai,bi],则成为非可行解,将xj在第i维决策变量上的值xji按xji=rand(ai,bi)进行重置,其中,rand(·)是区间[ai,bi]上均匀分布的随机数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910527061.6/1.html,转载请声明来源钻瓜专利网。