Python中的曲线半径

问题描述 投票:0回答:2

我有这条曲线,我想在下面计算曲线的半径和中心:enter image description here

此曲线的数据https://pastebin.com/FZTi3bAf

到目前为止,我的代码:

poly = np.polyfit(df['x'], df['y'],2)
p = np.poly1d(poly)

我需要在这个问题中输入新点(x,y)。

python numpy numeric calculus
2个回答
0
投票

由于半径显然对于非圆形曲线是可变的,因此归结为计算所有点到中心点的距离。如果此中心点是您的原点,则距离仅为sqrt(x**2 + y**2),其中x, y是数据集中的特定坐标。如果中心在某个点x0, y0,则该点变为sqrt((x - x0)**2 + (y - y0)**2)通过将这些点视为numpy数组,可以很方便地实现所有这些。


0
投票
您可以从2个边缘点绘制直线,并计算从该直线的中间到曲线(dh)的距离。然后,如果dl是边缘点之间的距离,则可以写(dl/2)^2 = (2R - dh) * dh并从该等式中获得R
© www.soinside.com 2019 - 2024. All rights reserved.