TURBO PASCAL

Новости       

Программы

Turbo Pascal

Игры

Документация

"Странности"

FAQ

Ссылки

Благодарности 

Гостевая книга

Спонсор

От автора

 

Практическое задание  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     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)    

 

       Рассмотрим задачу расчета траектории снаряда,  движущегося с начальной скоростью "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.

 

На первую страницу

Rambler's Top100 PROext: Top 1000
Rambler's Top100

(с) Все права защищены.

По всем интересующим вопросам прошу писать электронный адрес

Hosted by uCoz