python实现三次Bezier曲线的绘制
时间: 2023-06-04 17:05:13 浏览: 281
好的,我来回答你的问题。Python可以使用matplotlib库绘制三次Bezier曲线。具体实现方法可以参考以下代码:
```python
import matplotlib.pyplot as plt
import numpy as np
def bezier_curve(points, nTimes=1000):
nPoints = len(points)
xPoints = np.array([p[0] for p in points])
yPoints = np.array([p[1] for p in points])
t = np.linspace(0.0, 1.0, nTimes)
polynomial_array = np.array([ bernstein_poly(i, nPoints-1, t) for i in range(0, nPoints) ])
xvals = np.dot(xPoints, polynomial_array)
yvals = np.dot(yPoints, polynomial_array)
return xvals, yvals
def bernstein_poly(i, n, t):
return scipy.misc.comb(n, i) * t**(n-i) * (1 - t)**i
#曲线控制点
points = np.array([[0, 0], [1, 2], [2, 3], [3, 1]])
x, y = bezier_curve(points, nTimes=1000)
plt.plot(x, y)
plt.title("Three-Bezier Curve")
plt.show()
```
以上代码会绘制出一个三次Bezier曲线。你可以根据自己的需求进行修改。希望可以帮到你!
阅读全文