我想用python 2.7绘制抛物线,知道顶点的坐标。
目前我实施了这个。问题是顶点不在抛物线上,实际上它绘制了抛物线和一个单独的点。有谁可以指出错误?谢谢。
def parabola(return_hist1,V):
#solve the equations and plot the parabola
# V[0] is the x-coordinate and V[1] is the y-coordinate
A=np.array([[2*V[0]],[4*V[1]]])
B=np.array([[1],[-1]])
sol=A*B
Y=range(int(V[1]),50)
X=[]
for e in Y:
X.append(sol[0]*e**2 + sol[1]*e)
plt.plot(X,Y)
plt.plot(V[0],V[1],'ro')
plt.show()
return
答案 0 :(得分:0)
猜猜这就是你要找的东西:
# create parabola
X = np.linspace(-20,20,1000) # range of parabola: -20,20 in 1000 steps
Y = X**2 # calculate square of each X value to create a parabola at 0/0
# move lowest point of parabola to V
X += V[0]
Y += V[1]
# plot ...
交换X / Y旋转90度。
抛物线通常具有等式y = a(x-X)**2+Y
和V=(X,Y)
。只知道V
,您就无法确定伸展因子a
。 parabola
的用户也不希望它垂直或水平。