真诚请教一下,如何用python绘制一段贝塞尔曲线和直线,使两端线相连,并保证连续呢
类似这样的吗?
import matplotlib.pyplot as plt
import numpy as np
def getB(i):
t = np.math.factorial(n)*init_t**i*(1-init_t)**(n-i)/(np.math.factorial(i)*np.math.factorial(n-i))
return np.array([t,t]).T
points = np.array([[1,3],[2,2],[5,7],[7,4]])# 在此处修改坐标
n = points.shape[0]-1
init_t = np.linspace(0,1,1000)
P = np.zeros((1000,2))
for i in range(n+1):
P += getB(i)*points[i]
plt.plot(P[:,0],P[:,1])
plt.plot(points[:,0],points[:,1],'r.')
x = np.linspace(7,9,10)
y = x*2-10
plt.plot(x,y,'g')
plt.show()
可是,贝塞尔曲线和直线,并不连续,即连接点处斜率不一致