使用bezier曲线拟合离散点可以使用第三方库如 scipy 和 scikit-learn。
scipy中的interpolate.splprep可以用来拟合离散点,示例代码如下:
from scipy.interpolate import splprep, splev
import numpy as np
# 离散点
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
# 拟合
tck, u = splprep([x, y], s=0)
# 根据拟合结果计算新点
x_new, y_new = splev(np.linspace(0, 1, 100), tck)