# =============================================================================
# cqu roswell 2021spring
# =============================================================================
import matplotlib.pyplot as plt
x=[]
y=[]
bspx=[]
bspy=[]
#要插入的结点的坐标
bx=[]
by=[]
n= len(x)
m= 100
for i in range(n-2):
for j in range(m):
#calculate p(j/m)
u=j/m
newx=u**2*(x[i]-2*x[i+1]+x[i+2])/2+u*(-x[i]+x[i+1])+(x[i]+x[i+1])/2
newy=u**2*(y[i]-2*y[i+1]+y[i+2])/2+u*(-y[i]+y[i+1])+(y[i]+y[i+1])/2
bspx.append(newx)
bspy.append(newy)
plt.plot(x,y,'-x')
plt.plot(bspx,bspy)
plt.axis('equal')
plt.show()
众所周知,在书本上找到合适的公式就是解决问题的关键。
考试太多,过两天补个注释。