【问题标题】:Fitting a 3d points of an arc to a circle (regression in Python)将弧的 3d 点拟合到圆(Python 中的回归)
【发布时间】:2011-10-12 22:42:51
【问题描述】:

我对 python 比较陌生。我的问题如下

我在形成二维弧的任意平面上有一组嘈杂的数据点 (x,y,z)。 我想要一个通过这些点的最佳拟合圆并返回:中心 (x,y,z)、半径和残差。

如何在 python 中使用 scipy 来解决这个问题。我可以使用迭代方法解决这个问题并为其编写整个代码。但是,有没有办法在 python 中使用 minimumsq 来最好地拟合一个圆?然后找到中心和半径?

谢谢 奥维斯

【问题讨论】:

  • 任意平面是预先知道的,还是你也必须确定?如果是后者,则需要拟合一些额外的参数来确定平面,即使您只报告中心、半径和残差。
  • @JimLewis 任意平面是提前知道的。我已将我的 3d 数据点投影到这个最合适的平面上。然而,现在我想要一个最适合这个最适合平面上的项目点的圆。
  • 如果您事先知道平面(如您对 JimLewis 问题的回答),那么平面上的 3 个点可以唯一地描述一个圆 - 无需使用任何最小二乘算法(请参阅CIRCLE THROUGH THREE POINTS 获取几何构造图 - 您只需要取一些差异和平方根)。如果您对每个点都有一个不确定半径,并且想要为圆心生成一个不确定半径,那么它会更复杂 - 但您仍然不需要任何统计数据。
  • @Peter 我实际上有大约 590 个坐标形成一个近似弧。我需要一个最适合这些坐标及其半径和残差的圆弧。
  • 谢谢 - 现在很明显您有 每个 数据点的 (x,y,z) 坐标。 This paper 描述了一种在最小二乘意义上找到适合任意(有限)平面点集的圆的方法,尽管它没有讨论残差,因此可能需要对您的应用程序进行一些调整。

标签: python geometry scipy regression least-squares


【解决方案1】:

scipy-cookbook 有一个很长的关于拟合圆圈的部分: http://www.scipy.org/Cookbook/Least_Squares_Circle

【讨论】:

    猜你喜欢
    • 2013-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 2017-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多