АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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

Читайте также:
  1. Window(x1, y1, x2, y2); Задание окна на экране.
  2. В основной части решается практическое задание.
  3. Глава 1. Первое практическое занятие по методу ПМТ
  4. Домашнее задание
  5. Домашнее задание
  6. Домашнее задание
  7. Домашнее задание
  8. Домашнее задание
  9. Домашнее задание
  10. Домашнее задание
  11. Домашнее задание
  12. Домашнее задание

 

1. Рассчитать разностным моделированием и по аналитической зависимости траектории полета снаряда без учета сопротивления воздуха. Построить траектории полета снаряда. Начальная скорость V0=1000, м/с, угол fi=450. Аналитическая зависимость имеет вид:

X = V0*t*cos(fi); Y = V0*t*sin(fi) - g*t2/2;

 

2. Рассчитать разностным моделированием и по аналитической зависимости траектории полета снаряда с учетом сопротивления воздуха, пропорциональным скорости снаряда. Построить траектории полета снаряда. Начальная скорость V0=3000, м/с, угол fi = 450. Коэффициент сопротивления воздуха kc = 0. 01,с-1.

Аналитическая зависимость имеет вид:

 

X=V0*cos(fi)*(1-e(-kc*t))/kc; Y=(V0*sin(fi)+g/kc)*(1-e(-kc*t))/kc-g*t/kc;

 

3. Рассчитать разностным моделированием траектории полета снаряда с учетом сопротивления воздуха, пропорциональным квадрату скорости снаряда. Коэффициент сопротивления воздуха kc1 = kc2. Построить совместно траектории полета снаряда для п. 1, 2, 3. Начальная скорость V0 = 3000, м/с, угол fi = 450.

4. Составить программу поражения неподвижной цели при kc1 = kc2. Изменяя в цикле угол fi на небольшую величину, определить в программе угол при котором будет поражена цель - небольшой прямоугольник с координатами вершин (x1, y1) и (x2, y2). Построить все траектории полета снаряда.

Примечание к п. 1.. 4: Выводить на экран исходные данные: V0, fi, kc, а также наибольшую высоту и дальность полета снаряда.

 

 

Рассмотрим задачу расчета траектории космического тела, в поле тяготения планеты без учета сил сопротивления. В начальный момент времени тело движется на высоте "Н" со скоростью "V0", направленной по касательной к окружности радиуса R0. Поскольку движение спутника вокруг планеты достаточно продолжительно, то не целесообразно запоминать в оперативной памяти все параметры (координаты, скорости и ускорения) в каждый момент времени. Обычно эти параметры, записываются в файл на диск при вычислениях через некоторые моменты времени, а траекторию строят сразу, либо запуская отдельную программу, считывающую данные из файла. Расчетная область задается исходя из оценочных расчетов. Для спутника, движущегося вокруг Земли, можно принять:

 

Xmin= Ymin= -Kv*R0, Xmax= Ymax= Kv*R0,

 

Здесь R0 = (Rz+H), Rz=6. 37*106, м. - радиус Земли.

Kv=1. 5 при V0 <= W1; Kv=10 при W1 < V0 < W2; Kv=20 при V >= V2.

 

W1 = Rz*Ö(g/R0) - первая космическая скорость,

W2 = Ö2* W1 - вторая космическая скорость.

 

Параметр "dt" можно определить приближенно по формуле: dt=T/N,

где T= 6. 28*Rz/W1 - время оборота спутника вокруг Земли, N=300.

 

Расстояние от спутника до центра планеты определяется через координаты:

 

function R(x, y: double): double; begin R:= sqrt(x*x + y*y) end;

 

Проекции ускорений определим в виде функции:

 

function FA(x,r,kz: double):double; begin FA:= -kz*x/(r*r*r) end;

Здесь kz = 4. E+14 для Земли (в системе СИ).

 

 

Пусть в начальный момент времени известны координаты спутника:

x1 = R0; y1 = 0; r1 = R(x1, y1);

скорость: Vx1 = 0; Vy1 = V0;

и ускорение: Ax1 = FA(X1, r1, kz); Ay1 = FA(Y1, r1, kz);

 

Отметим, что скорость в начальный момент времени направлена по касательной к окружности радиуса r1.

Для записи алгоритма расчета траектории необходимо знание параметров в двух соседних точках, например, в точке "1" - для предшествующего момента времени и в точке "2" - для расчетного момента времени. Расчет производим в цикле с одновременным выводом траектории движения спутника на экран до тех пор пока выполняется ограничение по радиусу траектории или не нажата любая клавиша.

 

While (r1< Xmax) or (r1> Rz) or (not keyPressed) do begin

Vx2:= Vx1 + Ax1*dt; Vy2:= Vy1 + Ay1*dt;

X2:= X1 + 0.5*(Vx1 + Vx2)*dt;

Y2:= Y1 + 0.5*(Vy1 + Vy2)*dt; r2:= R(x2, y2);

Ax2:=FA(X2, r2, kz);

Ay2:=FA(Y2, r2, kz);

Vx2:= Vx1 + 0.5*(Ax1 + Ax2)*dt; { уточняем скорость }

Vy2:= Vy1 + 0.5*(Ay1 + Ay2)*dt;

{ Переопределяем значения параметров в точке }

x1:= x2; y1:= y2; r1:= r2;

Vx1:= Vx2; Vy1:= Vy2; Ax1:= Ax2; Ay1:= Ay2

PutPixel_G(x1,y1,c); { Строим траекторию движения точки, c - цвет точки }

end;

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.)