【数字几何处理】Smooth、remesh、subdivision

【数字几何处理】Smooth、remesh、subdivision_第1张图片
网格处理的一般流程:Scan-Reconstruct-Clean-Remesh,这次介绍的是Clean和Remesh

MeshSmoothing

使用uniform laplace operator(拉普拉斯平滑):
【数字几何处理】Smooth、remesh、subdivision_第2张图片
【数字几何处理】Smooth、remesh、subdivision_第3张图片
2D形式,每个原始的点朝着邻接点中心方向移动,所有的点并行的进行操作,每个点的邻接点使用原始数据,也就是没有移动的数据。对于一系列闭合线段,它们最终会趋向一个点。
【数字几何处理】Smooth、remesh、subdivision_第4张图片
3D,原始点的移动方向为该点到邻接点中心的方向,和2D一样,对于一个闭合的网格比如球,它会最终趋向一个点,这就造成了一个问题,随着迭代次数不断增大,网格会变得越来越尖锐,如下
【数字几何处理】Smooth、remesh、subdivision_第5张图片
【数字几何处理】Smooth、remesh、subdivision_第6张图片
解决方法之二是:tangential projection,原来是向邻接点中心方向移动,现在我们调整一下策略,将邻接点中心c向原来p点切平面做投影,之后再向网格表面做投影。
【数字几何处理】Smooth、remesh、subdivision_第7张图片
还有一个问题就是,如果用平均权重的话,处理的结果和三角形的形状很有关系,就比如1D形式,虽然Pi+1离Pi很近,但是最终移动的方向却是Pi+1和Pi的中点,在这种形式下其实线段已经很光滑了,不需要再处理了。解决的方法就是使用一个更佳的权重:
【数字几何处理】Smooth、remesh、subdivision_第8张图片
【数字几何处理】Smooth、remesh、subdivision_第9张图片
新的权重用边ij组成的两个三角形圆心到边ij的距离比上边ij的长度代替,我们可以将其变换成cot形式: W i j = 1 2 ( c o t α i j + c o t β i j ) W_{ij}=\frac{1}{2}(cot\alpha_{ij}+cot\beta_{ij}) Wij=21(cotαij+cotβij)

Remeshing

parameterization-based
【数字几何处理】Smooth、remesh、subdivision_第10张图片
首先映射到2D,再进行remesh,最后映射回去。
【数字几何处理】Smooth、remesh、subdivision_第11张图片
首先映射到2D,做三角剖分,最后映射回去(保持三角剖分后的连接关系)
【数字几何处理】Smooth、remesh、subdivision_第12张图片
首先计算给定点的Voronoi图(图中黑点),再向VoronoiCell的中心点Vi靠近,图中红色的点,知道满足要求,它的一个优点就是可以直接在表面上进行处理。

Surface-based

【数字几何处理】Smooth、remesh、subdivision_第13张图片
这个在CMU15462课程中有过介绍及代码实现。简要的算法步骤:
1.指定边长范围
2.对于短于Lmin的进行边收缩
3.对于长于Lmax的,进行边分裂
4.进行边反转,使其端点的度更接近6
5.根据拉普拉斯平滑移动顶点。
其中的Lmin和Lmax是通过下面的式子进行计算的:
【数字几何处理】Smooth、remesh、subdivision_第14张图片
【数字几何处理】Smooth、remesh、subdivision_第15张图片
问题:左图进行边收缩之后法线的方向发生了变化,而有图进行边收缩后il两点由两条边连接。
【数字几何处理】Smooth、remesh、subdivision_第16张图片
如果在进行边分裂时不首先分裂最长的边的话,那么边分裂会一直循环下去。
【数字几何处理】Smooth、remesh、subdivision_第17张图片
如果该边组成的两个三角形合起来不是凸包的话,那么边反转后的k点就会在三角形内。

Simplification

【数字几何处理】Smooth、remesh、subdivision_第18张图片
网格简化的一般步骤,把所有边放到一条优先级队列中,按他们的cost排列,当队列Q非空或未达到要求时,进行下面的操作:
1.从Q中选择cost最小的边
2.边收缩
3.更新cost

cost的计算有很多种,现在常用的就是Error quadric metric,这个在前面的博客中有过介绍及实现,就略过该部分。

Edge-length metric

【数字几何处理】Smooth、remesh、subdivision_第19张图片
【数字几何处理】Smooth、remesh、subdivision_第20张图片
可以看到两种不同的收缩策略造成的效果差距很大,我们需要一个好的cost函数来排除掉较坏的情况。上图是基于边长的度量,我们寻找一个与U点(边收缩的起始点)临界三角形差距最大的一个平面,根据它们的法线计算cost函数

Subdivision

后面的博客中介绍

你可能感兴趣的:(【数字几何处理】Smooth、remesh、subdivision)