将贝塞尔曲线保存到 python 中的文件
Save bezier curve to a file in python
我正在使用 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 值。我期待它成为 return 一个 numpy 数组,但事实并非如此。请建议。
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()
。
我正在使用 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 值。我期待它成为 return 一个 numpy 数组,但事实并非如此。请建议。
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()
。