Практическое задание 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.
Дата добавления: 2016-06-29; просмотров: 1448;