从一组3D点中找到中心线


21

我有一组3D点。它们遵循具有相当恒定直径的弯曲图案,如下所示。跟踪这些点的近似中心线的算法是什么?

3d点


多项式3度,Excel?
FelixIP

您正在使用哪种工具或有哪些工具可用?Matlab的?Excel?R?蟒蛇?
Scott Newson

@ScottNewson-绝对不是Matlab。我对任何编程语言都开放。
vinayan 2015年

这个问题/答案可以为您提供帮助,https
Matt

Answers:


7

李权权(In-Kwon Lee )发表了一篇名为“从无组织点进行曲线重构”的论文,该论文探讨了利用移动最小二乘法从一组点构建线/曲线而无需进行任何排序。尽管它着眼于2D应用程序,但它提到了将其扩展到更高尺寸的可能性。下图取自本文:

图片来自提及的论文

在“ 第4章-3D扩展 ”中,它描述了如何无法将方法直接应用于3维,但是可以通过以下方式计算3D二次回归曲线:

  • 使用移动最小二乘法对相邻点进行分组
  • 通过最小化二次方来计算回归平面K:z = A x + B y + C
  • 将这些相邻点投影到平面K并解决2D移动最小二乘问题。

希望这可以帮助!(非常有趣的论文!)


1
@whuber-感谢您的检查。我偶然发现一篇论文,描述了一种可能的方法,所以我编辑了自己的文章。
2015年

2
好发现!EMST是解决方案的良好选择。(+1)可以通过鲁棒的平滑方法(如黄土或各种形式的罚样条拟合)来改进该论文中的过程。
ub

3

这个问题已经回答。这是同样的问题:

曲线拟合3D数据集

如果您正在寻找现成的工具和代码,可以使用许多数值方法来解决此问题,例如贪婪方法(在R包中实现),可以从GAM下载。

如果您正在寻找可以自己实现的纯算法,建议您在数学社区(http://math.stackexchange.com)进行询问。

此外,此Wiki页面与您的问题有关(http://en.wikipedia.org/wiki/Curve_fitting


-1

你能提供一个例子吗?
尼克

什么意思?URL在答案中。
车先生

2
我讨厌否决答案,因为我一直很欣赏它们所反映的努力和诚意,但是在查看了所有三个参考文献之后,我很生气地发现,没有一个人真正回答了这个问题。他们围绕简单的变化跳舞,例如将直线或椭圆形拟合到这些点。
ub

2
我已经在第一条链接上花了一天时间,希望它可能有用:)
vinayan 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.