简体   繁体   English

Python点云数据到表面拟合/函数

[英]Python point cloud data to surface fit/function

I have unstructured (taken in no regular order) point cloud data (x,y,z) for a surface. 我有一个表面的非结构化(无规则排列)点云数据(x,y,z)。 This surface has bulges (+z) and depressions (-z) scattered around in an irregular fashion. 该表面具有以不规则方式散布的凸起(+ z)和凹陷(-z)。 I would like to generate some surface that is a function of the original data points and then be able to input a specific (x,y) and get the surface roughness value from it (z value). 我想生成一些表面,该表面是原始数据点的函数,然后能够输入特定的(x,y)并从中获取表面粗糙度值(z值)。 How would I go about doing this? 我将如何去做呢?

I've looked at scipy's interpolation functions, but I don't know if creating a single function for the entire surface is the correct approach? 我看过scipy的插值函数,但是我不知道为整个曲面创建一个函数是否正确? Is there a technical name for what I am trying to do? 我要做什么有一个技术名称? I would appreciate any suggestions/direction. 我将不胜感激任何建议/方向。

I don't know if creating a single function for the entire surface is the correct approach? 我不知道为整个曲面创建单个函数是否正确?

I guess this depends on your data. 我想这取决于您的数据。 Let's assume the base form of your surface is spherical. 假设表面的基本形式是球形。 Then you can model it as such. 然后,您可以对它进行建模。

If your surface is more complex then a sphere you might can still model the neighborhood of (x,y) as such. 如果您的表面更复杂,那么球体仍然可以照此建模(x,y)的邻域。 Maybe you could even consider your surface as plain in the near neighborhood of (x,y). 也许您甚至可以认为(x,y)附近的表面是平的。

What you are trying to do, can be called surface fitting , or two-dimensional curve fitting . 您尝试做的事情可以称为曲面拟合或二维曲线拟合 You would be able to find lots of available algorithms by searching for those terms. 通过搜索这些术语,您将能够找到许多可用的算法。 Now, the choice of the particular algorithm/method should be dictated: 现在,应该指定特定算法/方法的选择:

  • by the origin of your data (there are specialized algorithms or variations of more common ones that are tailored for certain application areas) 根据数据的来源(有针对特定应用领域量身定制的专门算法或较常见的算法变体)
  • by the future use of your data (depending on what you are going to do with it, maybe you need to be able to calculate derivatives easily, etc) 将来使用您的数据(取决于您要处理的数据,也许您需要能够轻松计算出导数等)

It is not easy to represent complicated data (especially the noisy one) using a single function. 使用单个函数表示复杂的数据(尤其是嘈杂的数据)并不容易。 Thus there is a lot of research about it. 因此,对此有很多研究。 However, in a lot of applications curve-fitting is very successful and very widely used. 但是,在许多应用中,曲线拟合非常成功并且得到了广泛的应用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM