c++三次(四个控制)点贝塞尔曲线的绘制的代码
时间: 2024-05-08 12:17:20 浏览: 99
以下是使用Python绘制三次贝塞尔曲线的示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
def bezier_curve(p0, p1, p2, p3, t):
"""计算三次贝塞尔曲线上的点"""
return (1-t)**3*p0 + 3*(1-t)**2*t*p1 + 3*(1-t)*t**2*p2 + t**3*p3
# 控制点坐标
p0 = [0, 0]
p1 = [1, 3]
p2 = [3, 4]
p3 = [5, 2]
# 绘制控制点
plt.plot([p0[0], p1[0], p2[0], p3[0]], [p0[1], p1[1], p2[1], p3[1]], 'ro')
# 生成曲线上的点
t = np.linspace(0, 1, 100)
curve_points = np.array([bezier_curve(p0, p1, p2, p3, t_i) for t_i in t])
# 绘制曲线
plt.plot(curve_points[:,0], curve_points[:,1])
# 显示图形
plt.show()
```
在此示例中,我们使用`bezier_curve`函数计算了三次贝塞尔曲线上的点,然后使用`numpy`生成了曲线上的100个点,最后使用`matplotlib`绘制了控制点和曲线。你可以通过修改`p0`,`p1`,`p2`和`p3`的值来调整控制点的位置,从而创建不同的曲线。
阅读全文