如何用python绘制一段贝塞尔曲线和直线

真诚请教一下,如何用python绘制一段贝塞尔曲线和直线,使两端线相连,并保证连续呢

类似这样的吗?

img

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()

可是,贝塞尔曲线和直线,并不连续,即连接点处斜率不一致