算法简化三维表面?算法、表面

2023-09-11 03:39:54 作者:月亮惹的祸

我有一组三维点逼近表面。每一个点,但受到一些错误。此外,该组点中含有大量的更多的积分比实际需要重新present下面的表面。

I have a set of 3d points that approximate a surface. Each point, however, are subject to some error. Furthermore, the set of points contain a lot more points than is actually needed to represent the underlying surface.

我在找的是一个算法来创建一个新的(更小的)组重新presenting简化点,表面更光滑的版本(原谅没有比一个更好的定义简化,顺畅) 。下垫面不是数学的,所以我不希望以适合设置一些数学函数的数据。

What I am looking for is an algorithm to create a new (much smaller) set of points representing a simplified, smoother version of the surface (pardon for not having a better definition than "simplified, smoother"). The underlying surface is not a mathematical one so I'm not hoping to fit the data set to some mathematical function.

推荐答案

相反,它处理为一个点云,我会建议使用三角Delaunay三角网格:的 http://en.wikipedia.org/wiki/Delaunay_triangulation

Instead of dealing with it as a point cloud, I would recommend triangulating a mesh using Delaunay triangulation: http://en.wikipedia.org/wiki/Delaunay_triangulation

然后抽取的网格。你可以研究抽取算法,但你可以得到pretty的良好快速和肮脏的结果与一种算法,只是合并具有相似法线相邻三。

Then decimate the mesh. You can research decimation algorithms, but you can get pretty good quick and dirty results with an algorithm that just merges adjacent tris that have similar normals.