QEM网格简化

说明

QEM网格简化可以有效的减少复杂网格的顶点数同时保留原网格的拓扑特征,可以自定义减少后的顶点数,是十分重要的算法,在计算几何领域,它实现的效果是这个样子的:


QEM网格简化_第1张图片
QEM效果

优点

1.高效率:15s内可以将70000个面的模型简化到100个面
2.高质量:可以保留模型的主要特征
3.通用性:可以处理连接部分和未连接部分

算法概述:

算法如下所示:


QEM网格简化_第2张图片
算法总体

算法详述:

构造每个顶点的Q

1.计算一个顶点的所有平面的方程ax+by+cz+d=0且a2+b2+c2=1保存参数a,b,c,d。
2.计算每个平面的fundamental error quadric Kp

QEM网格简化_第3张图片
计算Kp

3.将一个顶点的所有K p求和构成该点的Q。

选择合并的点对

合并的点对有以下两种:
1.两点之间存在边连接
2.两点之间距离小于阈值t

计算合并后点的位置

1.计算合并后点的Q=Q1+Q2,Q1,Q2为合并的两个点的Q
2.计算新点坐标可以用下面的式子,q11表示新的Q的第一行的第一个元素的值。


QEM网格简化_第4张图片
计算新点坐标

3.如果右式左面的矩阵不可逆则



例如取k=0.1,0.2,。。。。分别计算cost,其中cost计算方法如下:
cost计算

取cost最小的位置即可。

效果:

QEM网格简化_第5张图片
球原图

0.


QEM网格简化_第6张图片
顶点数为原来的1/10
QEM网格简化_第7张图片
顶点数为原来的1/100

代码:

https://github.com/WZFish/QEM-MeshSimplification.git

你可能感兴趣的:(QEM网格简化)