【问题标题】:draw parabola with vertex coordinates python用顶点坐标python绘制抛物线
【发布时间】:2017-02-06 23:18:20
【问题描述】:

我想在知道顶点坐标的情况下用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 

【问题讨论】:

  • 你想只用一个点画一条抛物线吗?恐怕我不明白 - 你需要三个点来回溯抛物线,因为你要计算三个未知数
  • 感谢曼努埃尔的回复。我知道 v[0]= -b/(2*a) 和 v[1] = -b**2/4a (因为我设置 c = 0)。准线等于 y = V[1]。这些信息还不足以绘制它吗?
  • 你试过Y=range(int(V[1])-1,50)吗?

标签: python python-2.7 plot coordinates vertex


【解决方案1】:

猜这就是你要找的东西:

# 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+YV=(X,Y)。仅知道V,您将无法确定拉伸因子a。如果parabola 的用户也不希望它是垂直的还是水平的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 2017-03-06
    • 2022-11-13
    • 1970-01-01
    • 2015-09-29
    • 2021-05-21
    相关资源
    最近更新 更多