Видео с пояснениями

Данный код позволяет с помощью процедуры построить несколько кривых на одном графиков , только указав параметры движения (начальная скорость, угол, ускорение свободного падения и количество точек графика)

import numpy as np
import matplotlib.pyplot as plt


def graphXY(V0,g,alpha_deg,linestyle2,N):
    
    alpha=np.pi*alpha_deg/180 #перевод угла в радианы
    x=np.array([0.0]*N)
    y=np.array([0.0]*N)
    #блок вычислений
    t_p=2*V0*np.sin(alpha)/g #полное время полёта
    t=np.linspace(0,t_p,N) #создание массива с равномерно распределёнными значениями времени
    x=V0*np.cos(alpha)*t
    y=V0*np.sin(alpha)*t-g*t**2/2
    #блок вывода данных
    plt.title('Траектория движения тела под углом к горизонту')
    plt.xlabel('Координата х')
    plt.ylabel('Координата y')
    plt.grid(True)
    plt.plot(x,y,linestyle=linestyle2,linewidth=5,label=alpha_deg)
   
  

NN=150
line_style_list=['solid','dashed','dotted','dashdot','solid','dashed']
angles=np.array([30,45,60,90,120,150])


#for ii in range(0,len(angles)):
#    graphXY(10,9.81,angles[ii],line_style_list[ii],NN)

graphXY(10,9.81,45,'solid',50)
graphXY(10,9.81,60,'dashed',50)


plt.legend()   
plt.show()

От IvanPetrov