Моделирование Полета артиллерийского снаряда
ВВЕДЕНИЕ
С середины XX в. в самых различных областях человеческой деятельности стали широко применять математические методы и ЭВМ. Возникли такие новые дисциплины, как «математическая экономика», «математическая химия», «математическая лингвистика» и т. д., изучающие математические модели соответствующих объектов и явлений, а также методы исследования этих моделей.
Математическая модель — это приближенное описание какого-либо класса явлений или объектов реального мира на языке математики. Основная цель моделирования — исследовать эти объекты и предсказать результаты будущих наблюдений. Однако моделирование — это еще и метод познания окружающего мира, дающий возможность управлять им.
Математическое моделирование и связанный с ним компьютерный эксперимент незаменимы в тех случаях, когда эксперимент невозможен или затруднен по тем или иным причинам. Например, нельзя поставить натурный эксперимент в истории, чтобы проверить, «что было бы, если бы...» Невозможно проверить правильность той или иной космологической теории. В принципе возможно, но вряд ли разумно, поставить эксперимент по распространению какой-либо болезни, например чумы, или осуществить ядерный взрыв, чтобы изучить его последствия. Однако все это вполне можно сделать на компьютере, построив предварительно математические модели изучаемых явлений.
В XVI в возникла наука, изучающая движение снарядов – бал листика. Через несколько лет снаряды движутся настолько быстро, что даже простое сравнение вида траекторий их движения подтверждает возросшее влияние сопротивления воздуха.
Баллистика-наука о движении снарядов, мин, пуль, неуправляемых ракет при стрельбе (пуске). Основные разделы баллистики: внутренняя баллистика и внешняя баллистика. Исследованием реальных процессов, происходящих при горении пороха, движении снарядов, ракет (или их моделей) и т. д., занимается эксперимент баллистики. Внешняя баллистика изучает движение снарядов, мин, пуль, неуправляемых ракет и др. после прекращения их силового взаимодействия со стволом оружия (пусковой установкой), а также факторы, влияющие на это движение. Основные разделы внешней баллистики: изучение сил и моментов, действующих на снаряд в полёте; изучение движения центра масс снаряда для расчета элементов траектории, а также движение снаряда относит. Центра масс с целью определения его устойчивости и характеристик рассеивания. Разделами внешней баллистики являются также теория поправок, разработка методов получения данных для составления таблиц стрельбы и внешнебаллистическое проектирование. Движение снарядов в особых случаях изучается специальными разделами внешней баллистики, авиационной баллистикой, подводной баллистикой и др.
Полет снаряда представляет собой пример движения тел, брошенных под углом к горизонту. Точное описание движение снаряда возможно при рассмотрении при идеальной ситуации. Скорость тела, брошенного под углом к горизонту, при отсутствии сопротивления воздуха действует сила тяжести. На первом участке траектории от точки А до точки В скорость тела уменьшается по величине и изменяется по направлению в соответствие с рисунком 1.
Рисунок 1 – Полет снаряда
Изучение движения снарядов началось довольно давно, еще в XVI веке и было связано с появлением и совершенствованием артиллерийских орудий.
Представления о траектории движения артиллерийских снарядов в те времена были довольно забавными. Считалось, что траектория эта состоит из трех участков:
1) насильственного движения;
2) смешанного движения
3) естественного движения, при котором ядро падает на солдат противника сверху.
Баллистические характеристики, основные данные, определяющие закономерности развития процесса выстрела и движения снаряда (мины, гранаты, пули) в канале ствола (внутрибаллистические) или на траектории (внешнебаллистические). Основные внутрибаллистические характеристики: калибр оружия, объём зарядной каморы, плотность заряжания, длина пути снаряда в канале ствола, относительная масса заряда (отношение её к массе снаряда), сила пороха, максимальное давление, давление форсирования, характеристики прогрессивности горения пороха и др. К основным внешнебаллистическим характеристикам относятся: начальная скорость, баллистический коэффициент, углы бросания и вылета, срединные отклонения и др.
Баллистическое подобие, свойство артилерийных орудий, заключающееся в сходстве зависимостей, характеризующих процесс горения порохового заряда при выстреле в каналах стволов различных артилерийных систем. Условия баллистического подобия изучаются теорией подобия, основу которой составляют уравнения внутренней баллистики. На основании этой теории составляются баллистические таблицы, используемые при баллистического проектирования.
Баллистический коэффициент (С), одна из основных внешнебаллистических характеристик снаряда (ракеты), отражающая влияние его коэффициент формы(i), калибра (d),и массы(q) на способность преодолевать сопротивление воздуха в полёте. Определяется по формуле С=(id/q)1000, где d в м, aq в кг. Чем меньше баллистич. коэффициент, тем легче снаряд преодолевает сопротивление воздуха.
В наивысшей точке траектории – в точке С - скорость движения тела будет наименьшей, она направлена горизонтально, под углом 90° к линии действия силы тяжести. На второй части траектории полет тела происходит аналогично движению тела, брошенному горизонтально. Время движения от точки А до точки С будет равно времени движения по второй части траектории в отсутствие сил сопротивления воздуха.
Если точки "бросания" и "приземления" лежат на одной горизонтали, то тоже самое можно сказать и о скоростях "бросания" и "приземления". Углы между поверхностью Земли и направлением скорости движения в точках "бросания" и "приземления" будут в этом случае тоже равны.
Дальность полета АВ тела, брошенного под углом к горизонту, зависит от величины начальной скорости и угла бросания. При неизменной скорости бросания V0 с увеличением угла, между направлением скорости бросания и горизонтальной поверхностью от 0 до 45°, дальность полета возрастает, а при дальнейшем росте угла бросания - уменьшается. В этом легко убедиться, направляя струю воды под разными углами к горизонту или следя за движением шарика, выпущенного из пружинного "пистолета" (такие опыты легко проделать самому).
Траектория такого движения симметрична относительно наивысшей точки полета и при небольших начальных скоростях, как уже говорилось раньше, представляет собой параболу.
Максимальная дальность полета при данной скорости вылета достигается при угле бросания 45°. Когда угол бросания составляет 30 или 60°, то дальность полета тел для обоих углов оказывается одинаковой. Для углов бросания 75 и 15° дальность полета будет опять одна и та же, но меньше, чем при углах бросания 30 и 60°. Значит, наиболее "выгодным" для дальнего броска углом является угол в 45°, при любых других значениях угла бросания дальность полета будет меньше.
Если бросить тело с некоторой начальной скоростью Vо под углом 45° к горизонту, то его дальность полета будет в два раза больше максимальной высоты.
Для построения движения снарядов, рассматривается осуществление движения снаряда:
1) Движение снаряда осуществляется под действием перепада давления, создаваемого за счет использования манжетных уплотнений.
2) Движение снарядов по линейной части контролируется срабатыванием датчиков контроля прохождения очистных устройств и выводом информации на АРМ диспетчера РДП или по информации от бригады сопровождения.
3) Движение снарядов по линейной части контролируется срабатыванием датчиков контроля прохождения очистных устройств и выводом информации на АРМ оператора МДП или по информации от бригады сопровождения.
Изучением движения снаряда в воздухе занимается внешняя баллистика. В настоящем параграфе мы рассмотрим основную задачу внешней баллистики в схематизированной и упрощенной постановке.
Скорость движения снаряда - не ограничена.
При движении снаряда по трубам давление в насосе остается такое же, как до пуска его.
При движении снаряда или самолета со сверхзвуковой скоростью возникает звуковое излучение ( вой), законы распространения которого также связаны с образованием так называемого конуса Маха. Явления эти осложняются нелинейностью аэродинамических уравнений. В 1904 г. Зоммерфельд рассчитал электродинамическое ( оптическое) излучение подобного рода, которое должно возникать при движении заряда со скоростью, превышающей скорость света.
Пояснительная записка курсового проекта в первой части содержит изучение движения снаряда, во второй чсти описание математической модели снаряда.
ОБЩАЯ ЧАСТЬ
1.1 Постановка задач
1.1.1 Название задачи
Снаряд пущен с Земли с начальной скоростью v0 под углом α к ее поверхности; требуется найти траекторию его движения и конечную точку этой траектории.
Будем считать, что движение снаряда определяется полем тяготения. Сопротивлением воздуха, притяжением других планет Солнечной системы, наличием деформаций ствола орудия можно пренебречь. Можно считать также, что поверхность Земли на расстоянии полета снаряда плоская, поле притяжения не изменяется, а снаряд не имеет геометрических размеров, но имеет вполне определенную массу.
С началом движения снаряда вниз под действием собственного веса останавливают его незначительным поворотом маховичка в противоположную сторону. Таким образом, вес бурового снаряда оказыпается уравновешенным подпором перед клапаном регулятора подачи. В этом положении регулировочный винт регулятора подачи должен быть зафиксирован и оставаться в таком положении в течение всего рейса.
При управлении движением снарядов решают две задачи: управление полетом и управление ориентацией. При решении первой задачи производят изменение координат центра масс снаряда. При управлении ориентацией обеспечивают стабилизацию углового положения осей снаряда.
Законы полета метательных снарядов не привлекали особого внимания ученых до тех пор, пока не были изобретены дальнобойные орудия, которые посылали снаряд через холмы или деревья - так, что стреляющий не видел их полета.
Сверхдальняя стрельба из таких орудий на первых порах использовалась в основном для деморализации и устрашения противника, а точность стрельбы не играла вначале особенно важной роли.
Задача на вычисление траектории снаряда, двигающегося в поле притяжения Земли недалеко от ее поверхности. Постановка задачи, первый этап разработки программы. Замечу, что первоначальная формулировка задачи может быть самой общей, без задания конкретных условий движения снаряда.
При движении снаряда внешними силами являются силы тяжести, если пренебречь сопротивлением воздуха. Сумма моментов этих сил относительно любой вертикали равна нулю, и, следовательно, сумма площадей, описываемых проекциями радиусов-векторов на горизонтальную плоскость, изменяется пропорционально времени, какова, бы ни была точка этой плоскости, взятая за полюс. Когда происходит разрыв снаряда, то силы, действующие в этот момент, представляют собой лишь внутренние силы, и потому взрыв не изменяет значения постоянного отношения между площадями, описываемыми проекциями радиусов-векторов частиц, и временем.
Движение тела, брошенного с некоторой начальной скоростью Vо под углом к горизонту, представляет собой сложное движение: равномерное по горизонтальному направлению и одновременно происходящее под действием силы тяжести равноускоренное движение в вертикальном направлении.
Исследовать движение снаряда, предполагая, что он выпущен со скоростью Vо с поверхности Земли под углом, а к горизонту и движется только под действием силы тяжести.
Рассмотрим движение снаряда, выпущенного под углом, а к горизонту с начальной скоростью Vо. Скорость движения снаряда регулируется с помощью удерживающего троса в соответствие с рисунком 2.
Рисунок 2 - Артеллирейский выстрел
Представления о траектории движения артиллерийских снарядов в те времена были довольно забавными. Считалось, что траектория эта состоит из трех участков: А - насильственного движения, В - смешанного движения и С - естественного движения, при котором ядро падает на солдата противника сверху в соответствие с рисунком 3.
Рисунок 3 - Полет артиллерийского снаряда
Сверхдальняя стрельба из таких орудий на первых порах использовалась в основном для деморализации и устрашения противника, а точность стрельбы не играла вначале особенно важной роли.
1.1.2 Математическое описание задачи
Выбор или разработка математической модели это второй шаг для постановление задачи движения снаряда. На этом этапе важно выявить те факторы, которые определяют поведение системы и определить, действием каких факторов можно пренебречь. Будем считать, что движение снаряда определяется полем тяготения. Сопротивлением воздуха, притяжением других планет Солнечной системы, наличием деформаций ствола орудия и плохим настроением командира расчета (сказываются последствия отмечавшегося накануне дня рождения) можно пренебречь. Можно считать также, что поверхность Земли на расстоянии полета снаряда плоская, поле притяжения не изменяется, а снаряд не имеет геометрических размеров, но имеет вполне определенную массу. Анализ влияния различных факторов на полет снаряда можно продолжать, он занял бы не одну страницу, но мы на этом остановимся и перейдем к математической формулировке модели. Для этого напишем уравнения, описывающие движение снаряда, то есть зависимость его координат x и y от времени t, прошедшего с момента выстрела в соответствие с рисунком 4:
x(t) = x0 + vx0t,
y(t) = y0 + vy0t - gt²/2.
Рисунок 4- Траектория полета снаряда
Ведены следующие обозначения:
x0, y0- координаты начальной точки движения снаряда (то есть точки, в которой расположено орудие);
vx0, vy0 - x- и y-компоненты начальной скорости движения снаряда;
g = 9,81 м/с2 -- ускорение свободного падения.
Для поставленной задачи двидения снарядов, используем данные формулы:
- Нахождение вертикальной и горизонтальной скорости:
VB =V*sin30 (1)
Vr= V*cos30
- Время полета снаряда:
- Максимальная высота полета снаряда:
4) Скорость полета снаряда:
v = v
= v
cos
6) Дальность полета:
x (5)
1.1.3 Требования предъявляемые к модели
Для того чтобы создаваемая модель соответствовала своему назначению, недостаточно создать просто модель. Необходимо, чтобы она отвечала ряду требований, обеспечивающих ее функционирование. Невыполнение этих требований лишает модель ее модельных свойств.
Довольно интересный и непонятный пока аспект требования простоты модели, который заключается в том, что чем проще модель, тем она ближе к моделируемой реальности и тем она удобнее для использования.
Первым таким требованием является – ингерентность, то есть достаточная степень согласованности создаваемой модели со средой. В модели должно быть предусмотрены интерфейсы, но, и, что не менее важно, в самой среде должны быть созданы предпосылки, обеспечивающие функционирование будущей системы. То есть не только модель должна приспосабливаться к среде, но и среду необходимо приспосабливать к модели будущей системы.
Второе требование – простота модели. С одной стороны, простота модели – ее неизбежное свойство: в модели невозможно зафиксировать все многообразие реальной ситуации.
Третье требование, предъявляемое к модели – ее адекватность. Адекватность модели означает возможность с ее помощью достичь поставленной цели проекта в соответствии со сформулированными критериями. Адекватность модели означает, что она достаточно полна, точна и истинна. Достаточно не вообще, а именно в той мере, которая позволяет достичь поставленной цели.
Таким образом существуют три основных требования, к предъявляемой модели со средой (ингерентность), с субъектом, создающим или использующим модель (простота), с моделируемым объектом, то есть с создаваемой системой (адекватность).
1.2 Выбор языка программирования
Язык программирования — машинно-независимые языки, которые согласно ГОСТ 19781-90, используют понятия и структуры удобные для восприятия человеком.
Язык программирования высокого уровня предназначены, прежде всего, для удобства и быстроты написания программ программистом. Высокоуровневые языки программирования стремятся не только облегчить решение тех или иных задач, но и упростить возможность использования программного обеспечения на различных платформах. Использование разнообразных интерпретаторов и трансляторов обеспечивает связь программ с различным оборудованием и операционными системами, при этом исходный код не подвергается изменениям.
Выбор Паскаля, как языка программирования в дальнейшем исследовании и построении данных списочных структур. Паскаль используется для обучения программированию и является базой для многих других языков программирования. Паскаль является языком структурного программирования, в основе которого лежит представление программы в виде иерархической структуры. Это дает гарантии того, что при внесении ряда изменений или исправлений ошибок в одном блоке не выйдет из строя какая-либо уже отлаженная части.
Для поставленной задачи построить модель «Движение снаряда» нужна математическая модель процесса, на основании, которой будут производится расчеты. Для построения математических моделей сложных объектов нахождение решений занимает достаточно длительное время. Для построения модели нужно строить модель, включающую в себя интересующие входные и выходные параметры и искать решение численными методами.
Поэтому для построения модели «движение снаряда» используется язык программирования Pascal ABC. На построение модели займет достаточно не очень длительное время. Паскаль представляет удобную среду разработки, включающющую функциональный отладчик, который доступен программисту в любой момент, обладает высокой скоростью компиляции, а также с высокой скоростью выполнения откомпилированных программ, имеет встроенную возможность использовать вставки на языке ассемблера.
2 СПЕЦИАЛЬНАЯ ЧАСТЬ
2.1 Описание алгоритма программы
2.1.1 Входные данные
В программировании существует специальное понятие консоль, которое обозначает клавиатуру при вводе и монитор при выводе.
Для того чтобы получить данные, вводимые пользователем вручную (т.е. с консоли), применяются команды
Read (<список ввода>);
Readln (<список ввода>);
Первая из этих команд считывает все предложенные ей данные, оставляя курсор в конце последней строки ввода, а вторая - сразу после окончания ввода переводит курсор на начало следующей строки. В остальном же их действия полностью совпадают.
Структуры данных, которые следует использовать в программе, - простые переменные, наша простая задача, к счастью, позволяет выбрать простой вариант.
2.1.2 Выходные данные
В языке программирования паскаль предусмотрен тот случай , когда нам нужно вывести на экран какую либо информацию , например результат работы программы или значение какой-либо переменной. Вывод в паскале можно осуществить за счет двух операторов вывода : write и writeln.
Writeln (‘введите количество дней’);
Write (‘введите наклон траектории в градусах’).
Первая из них, напечатав на экране все, о чем ее просили, оставит курсор в конце выведенной строки, а вторая переведет его в начало следующей строчки.
Список вывода может состоять из нескольких переменных или констант, записанных через запятую; все эти переменные должны иметь тип либо базовый, либо строчный. Переменные, составляющие список вывода, могут относиться к целому, вещественному, символьному или булевскому типам. В качестве элемента списка вывода кроме имен переменных могут использоваться выражения и строки.
Данные для решения поставленной задачи: начальная скорость 100 м/с, наклон траектории 45 градусов и количество точек 1000 в соответствие с рисунком 5 и 6.
Рисунок 5 - Входные данные
Рисунок 6 - Движение полета снаряда при траетории 45o
2.1.3 Алгоритмические зависимости
Существует большое количество алгоритмов, в которых команды должны быть выполнены последовательно одна за другой. Такие последовательности команд будем называть сериями, а алгоритмы, состоящие из таких серий, - линейными.
Алгоритм, в котором команды выполняются последовательно одна за другой, называется линейным алгоритмом.
Для того чтобы сделать алгоритм более наглядным, часто используют блок-схемы. Если исполнителем алгоритма является человек, то по блок-схеме легко проследить выполнение алгоритма. Каждый следующий шаг исполнения алгоритма указывают стрелки в соответствие с рисунком 7.
Рисунок 7 – Линейный алгоритм
В отличие от линейных алгоритмов в алгоритмическую структуру ветвление входит условие. В зависимости от выполнения или невыполнения условия реализуется одна или другая последовательность команд (серий).
В алгоритмической структуре "ветвление" в зависимости от истинности или ложности условия выполняется одна или другая серия команд.
Выделяют полную и неполную форму ветвления. Неполная форма имеет место, если по ветви "нет" не предусматривается реализация серии. Алгоритмическую структуру "ветвление" можно представить с помощью блок-схемы, изображенной на схеме в соответствие с рисунком 8.
Рисунок 8 – Алгоритмическая структура «ветвление»
В алгоритмическую структуру цикл входит серия команд, выполняемая многократно. Такая последовательность команд называется телом цикла.
Циклические алгоритмические структуры бывают двух типов:
1) Цикл со счетчиком. Алгоритмическая структура цикл со счетчиком используется, если известно заранее, какое число повторений тела цикла необходимо выполнить. Цикл со счетчиком может быть зафиксирован с помощью блок-схемы.
2) Цикл с условием используется, когда заранее неизвестно, какое количество раз должно повториться тело цикла. В таких случаях количество повторений зависит от некоторого условия.Цикл называется циклом с предусловием, если условие выхода из цикла стоит в начале, перед телом цикла. Цикл с предусловием может ни разу не выполниться, если условие окажется ложным.
Цикл называется циклом с постусловием, если условие выхода из цикла стоит в конце, после тела цикла. Цикл с постусловием выполняется обязательно, как минимум, один раз, независимо от того, истинно условие или нет.
Алгоритмическая структура цикл может быть зафиксирован с помощью блок-схем, представленных в соответствие с рисунком 9.
Рисунок 9 - Алгоритмическая структура «цикл»
2.2 Схема алгоритма программы
Схема алгоритмы программы представлена в приложение А.
2.3 Текст программы
Текст программы представлен в приложение B.
- Описание процедур и функций
Структура описания процедур и функций до некоторой степени похожа на структуру Паскаль – программы: имеется заголовок, раздел описаний и исполняемая часть. Раздел описаний содержит те же подразделы, что и раздел описаний программы: описания констант, типов, меток, проедур, функций, переменных. Исполняемая часть содержит собственно операторы процедур.
Формат описания процедуры имеет вид:
Procedure имя процедуры (формальные параметры);
Раздел описаний процедуры
begin - исполняемая часть процедуры, начало программы;
end – конец программы.
Формат описания функций:
Function имя функции (формальные параметры): тип результата;
Var – имя параметра и имя типа, отделяются друг от друга запятой. Ключевые слова var могут отсутствовать если:
1) Если параметры однотипны, то их имена можно перечислять через запятую, указывая общее для них имя типа. При описании параметров можно использовать только стандартные имена типов, либо имена типов, определенные с помощью команды type, Список формальных параметров может отсутствовать.
2) Список фактических
параметров – это их
Вызов функции в Турбо Паскаль может производиться аналогичным способом, кроме того имеется возможность осуществить вызов внутри какого-либо выражения. В частности имя функции может стоять в правой части оператора присваивания, в разделе условий оператора if и т.д.
Для передачи в вызывающий блок выходного значения функции в исполняемой части функции перед возвратом в вызывающий блок необходимо поместить следующую команду:
Имя функции := результат;
При вызове процедур и функций необходимо соблюдать следующие правила:
1) количество фактических параметров должно совпадать с количеством формальных;
2) соответствующие фактические и формальные параметры должны совпадать по порядку следования и по типу.
Заметим, что имена формальных и фактических параметров могут совпадать. Это не приводит к проблемам, так как соответствующие им переменные все равно будут различны из-за того, что хранятся в разных областях памяти. Кроме того, все формальные параметры являются временными переменными - они создаются в момент вызова подпрограммы и уничтожаются в момент выхода из нее.
Одна и та же подпрограмма может вызываться неоднократно, выполняя одни и те же действия с разными наборами входных данных. Параметры, использующиеся при записи текста подпрограммы в разделе описаний, называют формальными, а те, что используются при ее вызове – фактическими.
- Инструкция по выполеннию программы
Для построении программы на Pascal ABC используем некоторую инструкцию:
1) Горячие клавиши
F2, Ctrl-S - сохранить файл
F3, Ctrl-O - загрузить файл
F12 - сохранить файл под новым именем
Ctrl-Shift-S - сохранить все открытые файлы
Ctrl-Shift-0 ... Ctrl-Shift-9 - установить закладку с номером 0...9
Ctrl-0 ... Ctrl-9 - перейти к закладке с номером 0...9
Ctrl-Tab, Ctrl-Shift-Tab - перейти к следующему/предыдущему окну редактора
2) Окно вывода
Под окном редактора расположено окно вывода. Оно предназначено для вывода данных процедурами write и writeln, а также для вывода сообщений об ошибках и предупреждений во время работы программы. Окно вывода может быть скрыто. Клавиша F5 и кнопка показывают/скрывают окно вывода. Для скрытия окна вывода используется также клавиша Esc. Окно вывода обязательно открывается при любом выводе в него. Для очистки окна вывода следует нажать комбинацию клавиш Ctrl-Del или кнопку .
3)Окно ввода
Окно ввода открывается при выполнении процедур read и readln в ходе работы программы: Ввод данных в окно ввода сопровождается эхо-выводом в окно вывода (см. рис). После нажатия клавиши Enter данные из окна ввода попадают в соответствующие переменные, окно ввода закрывается, и программа продолжает работать дальше.
4)Запуск и остановка программы

- Моделирование политической коммуникации
- Моделирование предприятий общественного питания
- Моделирование предприятия
- Моделирование привода в САПР
- Моделирование привода лунохода в Матлабе
- Моделирование при расследовании преступлений
- Моделирование при расследовании преступлений
- Моделирование платины металла для МНЛЗ
- Моделирование поведения потребителей на рынке
- Моделирование подготовленности к соревновательной деятельности юных легкоатлетов
- Моделирование показателей внешнеэкономических связей
- Моделирование показателей роста предприятия
- Моделирование показателей роста предприятия
- Моделирование показателей роста предприятия