您现在的位置: 主页 > 上位机技术 > python > B-Spline样条曲线
本文所属标签:
为本文创立个标签吧:

B-Spline样条曲线

来源:网络整理 网络用户发布,如有版权联系网管删除 2018-08-13 


B-Spline样条曲线

interpolate库提供了许多对数据进行插值运算的函数。下面是使用直线和B-Spline对正弦波上的点进行插值的例子。

# -*- coding: utf-8 -*-
import numpy as np
import pylab as pl
from scipy import interpolate

x = np.linspace(0, 2*np.pi+np.pi/4, 10)
y = np.sin(x)

x_new = np.linspace(0, 2*np.pi+np.pi/4, 100)
f_linear = interpolate.interp1d(x, y)
tck = interpolate.splrep(x, y)
y_bspline = interpolate.splev(x_new, tck)

pl.plot(x, y, "o", label=u"原始数据")
pl.plot(x_new, f_linear(x_new), label=u"线性插值")
pl.plot(x_new, y_bspline, label=u"B-spline插值")
pl.legend()
pl.show()

使用interpolate库对正弦波数据进行线性插值和B-Spline插值

在这段程序中,通过interp1d函数直接得到一个新的线性插值函数。而B-Spline插值运算需要先使用splrep函数计算出B-Spline曲线的参数,然后将参数传递给splev函数计算出各个取样点的插值结果。



              查看评论 回复



嵌入式交流网主页 > 上位机技术 > python > B-Spline样条曲线
 使用 插值 线性

网站地图

围观()