0

我正在尝试编写一些代码来计算 Q 变化时 X 和 Y 的值。我认为我需要基于参数方程来执行此操作,因为我需要绘制垂直线以及其他曲线以找到不同间隔的加速度和速度并找到路径的长度

下面的代码只包含我不知道如何解决的 XY 和 Q 部分。我可以发布完整的代码,但要长得多。我相信它显示了我遇到的实际问题。

我正在设置 Q 的开始(Qo)和结束(Qf)点,但我需要根据 X 和 Y 的新位置更新 Qi。这就是我不知道如何解决的问题

时间 (T) 是固定大小 ex .1。V 和 A 有一个由用户设置的起始值,其中 V = 输入,A = 重力。然后 V 和 A 的分量随着对象沿着基于每个点的斜率的路径移动而变化

当前程序运行良好,但前提是 X = Q 这意味着它不能用于垂直线

####################### input functions ############################

ParaFuncX = input("Enter a function: X(q) = ")  # user inputs random  
function

                                        # EX:  q, 2, q**2+6

ParaFuncY =  input("Enter a function: Y(q) = ")  # user inputs random 
function

                                        # EX: q**2, q,   -q**3


F = sympy.sympify(ParaFuncX)  # Turns parafuncX in to a usable expression

G = sympy.sympify(ParaFuncY)   # Turns parafuncY in to a usable expression


    #################  Input parameters #############

yo = float(input("Enter yo = ")) # user inputs initial Y value

                                # EX: 25

print(yo)


print(solve(G - yo ,q))  # solves for Q values at Y = yo.

                    # EX: solves for roots at q**2 - 25 , q = -5,5



qo = float(input("From given values enter qo ="))  # user inputs initial Q          
value

                                        # EX: -5
print(qo)


yf = float(input("Enter yf = ")) # user inputs final Y value

                            # EX: 9
print(yf)


print(solve(G - yf,q))  # solves for X values at Y = yf.

                    # EX: solves for roots at q**2 - 9 , q = -3 and 3


qf =  float(input("From given values enter qf =")) # user inputs final q    
value

                                        # EX: 3
print(qf)



qi = qo


    ###################################################
          # question start  


def f(q):  ##  I thought defining the functions would help... 

   return ParaFuncX # some user input function that is ParaFuncX 
            #ex  X = q  , X = 2   etc   
def g(q):

   return  ParaFuncY  # some user input function that is ParaFuncY
            #ex  Y = q**2  , Y = q   etc   


while qi < qf


                # V, A, T  are variables found by knowing X and Y

    X = f(qi) + V * T + .5 * Ax * T**2


    Y = g(qi) + V * T + .5 * Ay * T**2

       ########## don't know how to do this ##########

    Y_Q = # some solved value of q where g(q) = Y


    X_Q = # some solved value of q where f(q) = X
       ########################################################   

        # X_Q and Y_Q should be the same in the real world

        # so likely qi will have to equal  ( (X_Q + Y_Q) / 2 )


                  # question end
         #############################################
4

0 回答 0