我正在使用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()
我想保存这个轨迹(比如文件)。换句话说,我想保存此曲线中每个点的x,y值。我期待它返回一个numpy阵列,但事实并非如此。善意的建议。
答案 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中解决了这个问题。那些xvals
和yvals
是NumPy数组,如果需要,可以将它们放在一个数组中。
可能有助于在这些行之前不执行plt.show()
。