python 中的螺旋拟合

Spiral fitting in python

提问人:Kilma 提问时间:3/15/2023 更新时间:3/15/2023 访问量:214

问:

我有一组数据点(459,x/y 坐标),可以在这里看到。

我已经为数据集拟合了样条。但是,我也想对数据点进行螺旋式调整。我能够手动绘制一个 sprial,但我找不到一个现成的函数来将螺旋拟合到数据点。我可能需要计算一组螺旋上每个点与最近点之间的距离,并最小化距离以找到最适合的螺旋。但是我该怎么做呢?

谢谢你的帮助:)

我已经为数据集拟合了样条。但是,我也想对数据点进行螺旋式调整。我能够手动绘制一个 sprial,但我找不到一个现成的函数来将螺旋拟合到数据点。我可能需要计算一组螺旋上每个点与最近点之间的距离,并最小化距离以找到最适合的螺旋。但是我该怎么做呢?

谢谢你的帮助:)

Python 优化 曲线 数据拟合 螺旋

评论


答:

0赞 user_na 3/15/2023 #1

Iy 它是欧拉螺旋,您可以使用菲涅耳积分

import matplotlib.pyplot as plt
import numpy as np
from scipy.special import fresnel
t = np.linspace(0, 2, 500)
plt.plot(*fresnel(t))

plot)

0赞 JJacquelin 3/15/2023 #2

这不是对这个问题的直接回答。这是一条评论,但太长了,无法在评论部分进行编辑。

它们是比螺旋式方程模型简单得多的方程模型,可以拟合您的数据。例如,椭圆弧非常容易拟合,因为拟合是简单的线性最小均方回归。

由于我没有您的数据,因此由于扫描了图表的红色像素(5216 像素),我从您的图表中获得了近似数据

只是为了解释,没有必要那么多点。下面简化的微积分只取了一百分之一的像素。

enter image description here