русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2014-11-28; просмотров: 525; Нарушение авторских прав


 

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;

 



<== предыдущая лекция | следующая лекция ==>
Практическое задание N 2. 22 | Практическое задание N 2. 24


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.38 сек.