首页
会员中心
到顶部
到尾部
数控技术

三维模型的简化算法研究设计思路

时间:2020/10/14 9:54:16  作者:  来源:  查看:0  评论:0
内容摘要: 为了简化算法实现的效率问题,使用本组关于Galand算法的一种实现:1、取边收缩的误差矩阵Q为边的俩顶点收缩的误差矩阵Qi和Qj之和,即(Q=Qi+Qj)。2、取新顶点位置为收缩边(i,j)中的一个,误差由公式计算得到,具体的选择由i收缩到j的所产生的误差和由j收缩到i所...
为了简化算法实现的效率问题,使用本组关于Galand算法的一种实现:
1、取边收缩的误差矩阵Q为边的俩顶点收缩的误差矩阵QiQj之和,即(Q=Qi+Qj)
2、取新顶点位置为收缩边(i,j)中的一个,误差由公式三维模型的简化算法研究设计思路计算得到,具体的选择由i收缩到j的所产生的误差和由j收缩到i所产生的误差值做比较得到的较小值决定。
3、实际边收缩带来的结果是 删除一个点,删除一条边,删除俩个与边关联的三角形,增加新边、三角形。
  具体算法步骤如下:
   步骤1  根据给定的模型数据,计算出所有顶点的顶点误差矩阵Qi:为各平面对应的abc关联矩三维模型的简化算法研究设计思路阵的和:计算过程涉及求面的abc(注意满足三维模型的简化算法研究设计思路),即为面的单位法向量,单位法向量的求法可根据平面俩点的叉乘在单位化即可。
   步骤2  设计一关于结构体的优先队列来简化堆的操作,存放ij,及其收缩带来的误差,代表从i折叠到j的误差,并设计一哈希表用于判定是否新边。
   步骤3  计算边折叠误差:根据步骤2,取边折叠从ij和从ji的教小者作为该边的误差入队并进入哈希散列。
   步骤4  选择队列中的队头元素q出队(即代表从q.i折叠到q.j)
   步骤5  判断ij同时相关的三角形的个数:如果个数大于1,那么删除与ij同时关联的三角形,删除点i,进行边收缩(将剩余三角形中与i相关的三角形全部转移到与j相关),并往队列中增加由于折叠带来的新边(做与步骤3相同的操作),否则转步骤4
   步骤6  如果边收缩达到给定的收缩哦边的个数,则结束收缩,否则转步骤4
 
 
  


相关评论
广告联系QQ:45157718 点击这里给我发消息 电话:13516821613 杭州余杭东港路118号雷恩国际科技创新园  网站技术支持:黄菊华互联网工作室 浙ICP备06056032号