本文主要是介绍Mesh平滑处理算法Laplacian Smooth,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.引言
3D平滑处理是一种减少锯齿(阶梯状线条)的技术。随着三维扫描和曲面重建技术的发展,得到这些实体表面的多边形网格表示已经不是难事,但所得到的表面往往包含含噪声。在形状设计领域,在散乱点拟合和光滑形伏、纹理映射等应用领域,都有对平滑曲面的极大需求。
2.Laplacian平滑算法原理
1. 初始化Mesh的邻接点结构集
2. 新建临时点集,用来存储点平滑后的位置
3. 对所有Mesh中的顶点P1. 初始化临时向量为零向量2. 获取P的邻域点集Adj(P)3. 对所有领域点T,将其位置加到临时向量里4. 临时向量/=领域点集数5. 将临时向量的位置存入临时点集
4. 对所有Mesh中的顶点P1. 将P的位置修改为临时点集中对应点的位置
缺点:
拉普拉斯平滑虽然能够让Mesh的表面光顺,但迭代次数一旦多了(使用使用的迭代次数一般不超过10),就会使得模型整体发生膨胀现象。从而导致平滑后的Mesh和初始Mesh有一定的误差,误差计算公式为:
这篇关于Mesh平滑处理算法Laplacian Smooth的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!