Снаряд вылетел из орудия под углом 30о к горизонту и скоростью 70 м/с. Сопротивлением воздуха пренебречь. Найти максимальную высоту, которую достигнет снаряд и дальность его полёта. Нарисовать траекторию снаряда.
Начальное положение снаряда примем за начало координат и разложим скорость на горизонтальную и вертикальную составляющие. Горизонтальная составляющая будет оставаться без изменений, на вертикальную составляющую будет действовать сила тяжести.
Составим программу на питоне.
Для рисования траектории в первой строчке программы подключим библиотеку: import matplotlib.pyplot as grph
Кроме задания начального положения снаряда (x,y), внесём начальные координаты первыми элементами в ряды x_ и y_:
x_=[x]
y_=[y]
В циклах после определения нового положения снаряда (x,y), будем добавлять значения координат в ряды:
x_.append(x)
y_.append(y)
После выполнения циклов нарисуем график на основе рядов x_ и y_:
grph.plot(x_,y_)
grph.show()
Текст программы:
import matplotlib.pyplot as grph g=9.8 v=70. vx=v*3.**0.5/2. vy=v/2. x=0. y=0. x_=[x] y_=[y] t=0. dt=0.001 while vy>0: vy = vy - g*dt x = x + vx*dt y = y + vy*dt x_.append(x) y_.append(y) t = t + dt print('hmax = ', y) while y>0: vy = vy - g*dt x = x + vx*dt y = y + vy*dt x_.append(x) y_.append(y) t = t + dt print('lmax = ', x) grph.plot(x_,y_) grph.show()