Практическое задание N 2. 22

Рассчитать разностным моделированием и по аналитической зависимости траектории точки. Параметр a = 10, b = 5, 0<= t <=4*pi, N=500. Построить траектории точки.

 
 


N X1 Y1 Vx1 Vy1 Axi Ayi X(t) Y(t)

 
 


1 0 0 0 b 2*a -y a*t2 b*sin(t)

2 0 0 a b 0 -y a*t b*sin(t)

3 1 0 1 1 -2*y 2*x et* cos(t) et*sin(t)

4 a 0 0 0 -x x*b/a a* cos(t) b*(1-cos(t))

5 a b 0 0 -4*x y a* cos(2*t) b*cos(t)

6 0 0 0 b 2*a 0 a*t2 b*t

7 2*a 0 0 a x 0 a*(et + e-t) a*t

8 0 b a 0 -x -y a* sin(t) b*cos(t)

Y V F, * V0 g fi 0 X

Рассмотрим задачу расчета траектории снаряда, движущегося с начальной скоростью "V0" под углом "fi" к горизонту с учетом сил сопротивления воздуха, пропорциональных скорости снаряда. Проекции ускорений определим в виде функций:

FUNCTION Fx(Vx, kc: real): real; begin Fx:= - kc*Vx end;

FUNCTION Fy(Vy, kc: real): real; begin Fy:= - kc*Vy - g end;

Где kc - коэффициент сопротивления воздуха,

g = 9. 81, м/с - ускорение свободного падения у поверхности Земли.

Поскольку время подлета снаряда к цели неизвестно, то параметр "dt" выбирается приближенно, например, исходя из максимального времени полета снаряда над горизонтальной поверхностью без учета сопротивления воздуха: tмах= 2*V*sin(fi)/g. Для N = 500, dt = t/500. При решении конкретных задач процесс расчета прекращается при достижении снарядом цели, либо при ограничениях по статическим координатам, например:

i:= 1;

REPEAT i:=i+1;

{операторы расчета массивов скорости, ускорения и координат точки }

Until (cc = GetPixel_G(X[i], Y[i])) or (Y[i] < 0) or (i = N);

Здесь cc - цвет пикселов цели, Y[i] < 0 - ограничение по горизонтальной поверхности, i = N - ограничение по размеру массива. В случае преждевременного завершения полета снаряда необходимо увеличить dt или параметр N.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: