将贝塞尔曲线保存到python

时间:2017-06-25 09:16:54

标签: python bezier

我正在使用bezier生成贝塞尔曲线。以下是示例代码:

import bezier
nodes = np.array([
     [0.0 ,  0.0],
     [0.25,  2.0],
     [0.5 , -2.0],
     [0.75,  2.0],
     [1.0 ,  0.3],
 ])
curve = bezier.Curve.from_nodes(nodes)

import matplotlib.pyplot as plt
curve.plot(num_pts=256)
plt.show()

请参阅下面生成的图表。 enter image description here

我想保存这个轨迹(比如文件)。换句话说,我想保存此曲线中每个点的x,y值。我期待它返回一个numpy阵列,但事实并非如此。善意的建议。

1 个答案:

答案 0 :(得分:1)

ax = plt.gca() 
line = ax.lines[0]
x = line.get_xdata()
y = line.get_ydata()
xy = np.vstack([x,y]).transpose()
np.save('bezier_data', xy)

我从答案here中解决了这个问题。那些xvalsyvals是NumPy数组,如果需要,可以将它们放在一个数组中。

可能有助于在这些行之前不执行plt.show()