Расчет и моделирование полета самолета
Изучение аэродинамики как одной из разделов физики в современном мире. Компьютерное моделирование взаимодействия самолета с окружающей средой. Создание физического движка. Освоение языка программирования C++, графического программного интерфейса OpenGL.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | практическая работа |
Язык | русский |
Дата добавления | 03.05.2015 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Лицей «Физикотехническая школа»
СанктПетербургского Академического университета
Практическая работа
Расчёт и моделирование полета самолёта
Работу выполнили:
Богомолов Егор,
Кощенко Екатерина
Санкт-Петербург 2015
Содержание
Аннотация
1. Постановка задачи
2. Методика решения задачи
3. Результаты и написанная программа
4. Возможности дальнейшей разработки
Вывод
Аннотация
Аэродинамика - один из важнейших разделов физики в современном мире. Изучение аэродинамических процессов чрезвычайно востребовано, в связи с колоссальным развитием в области средств передвижения. Аэродинамика важна для разработки автомобилей, самолетов, космических кораблей - практически любых транспортных средств. Создание фюзеляжей, кузовов определенной формы помогает снизить затраты на преодоление техникой силы сопротивления воздуха, что помогает уменьшить затраты на топливо и улучшить характеристики транспорта. В области самолётостроения изучение аэродинамики является одним из важнейших направлений, так как подъемная сила, которая заставляет самолет лететь, возникает вследствие движения и взаимодействия поверхности крыла с газообразной средой. В связи со сложностью процессов происходящих в газообразной среде, практически невозможно не экспериментально рассчитать воздействие потоков на объекты сложной формы.
Именно поэтому компьютерное моделирование взаимодействия самолета с окружающей средой и стало задачей нашей практики, так как только компьютер способен на расчет воздействия газовых потоков на модель летательного аппарата.
1. Постановка задачи
Создание физического движка (компьютерной программы, которая производит компьютерное моделирование физических законов реального мира в виртуальной мире с той или иной степенью аппроксимации) и связанного с ним графического движка (промежуточного программного обеспечения, основной задачей которого является рендеринг трёхмерной компьютерной графики) для создания визуализированной модели самолета и расчета её траектории в реальном времени, а также расчета сил, действующих на эту физическую модель со стороны среды.
2. Методика решения задачи
В программе модель самолета задается множеством треугольников; координаты вершин этих треугольников программа читает из файла. Сам файл мы взяли из Интернета, но, воспользовавшись сторонним программным обеспечением, пользователь сам может создать трёхмерную модель. Программа считает площадь поверхности всего самолета, суммируя площади всех треугольников. Также программа считает объем самолета, суммируя объемы тетраэдров; каждый тетраэдр получен по четырём точкам: одна точка - точка начала координат, а три других - вершины треугольника с поверхности самолёта. Объем считается со знаком, который зависит от порядка обхода вершин треугольника. Порядок обхода также задан в файле. Поэтому полученный суммарный объем всегда будет равен объему самолета, не зависимо от взаиморасположения точки начала координат и точек модели. Считая плотность аппарата постоянной, программа получает его массу. Затем, исходя из координат вершин самолета, программа находит координату его центра масс. Также у модели есть единичный вектор, направленный из центра масс, его положение относительно самолета никогда не изменяется. Он позволяет контролировать наклон самолета в каждой из плоскостей xy, xz, yz (x, y, z - оси координат).
Рисунок 1
Изменение положения самолета будет происходить за счет следующих сил: сила сопротивления воздуха, сила тяжести (Вес), сила тяги самолета, а также подъемная сила, действующая на оперение данного самолета.
Рисунок 2
К центру масс приложена сила тяжести (вес) равная .
При движении на самолет начинает действовать сила сопротивления воздуха. Сила сопротивления воздуха, действующая на тело, движущееся со скоростью V, имеющее поперечную площадь S, при плотности среды , равна:
Где - безразмерный аэродинамический коэффициент сопротивления. Для обычных самолетов этот коэффициент равен примерно .
Площадь поперечного сечения (S) - площадь проекции всего самолета на плоскость, перпендикулярную направлению движения. S рассчитывается заново в каждый момент времени, так как направление движения самолета может меняться, изменяя тем самым поперечную площадь. Сила сопротивления воздуха также приложена к центру масс.
Помимо силы сопротивления воздуха, при движении на самолет начинает действовать подъемная сила.
Подъемная сила самого фюзеляжа крайне мала, что было подтверждено множеством экспериментов, поэтому её можно не учитывать и считать лишь подъемную силу, действующую на крылья. Сама подъемная сила обусловлена разницей давлений воздуха над и под крылом. Возникновение разных давлений вызвано разной формой и площадью верхней и нижней поверхности крыла, и вследствие того, разной скоростью воздушного потока.
Рассматриваемые нами модели самолетов имеют хвостовое оперение, то есть на самолете есть четыре точки приложения подъемной силы: центр масс переднего левого крыла, центр масс переднего правого крыла, центр масс заднего левого крыла и центр масс заднего правого крыла.
Рисунок 3
Подъемная сила равна:
Где S - площадь крыла,
- плотность воздуха,
- скорость набегающего потока,
а - коэффициент, зависящий от формы, для крыла он равен .
Рисунок 4
Скорость набегающего потока равна скорости самолета умножить на синус угла между нормалью к плоскости крыла и направлением скорости самолета. Таким образом, программа рассчитывает подъемные силы. Найдя центр масс каждого крыла, программа может вычислить расстояние до центра масс всего самолета. Тогда зная подъемную силу, которая действует перпендикулярно плоскости крыла, и расстояние до точки её приложения, мы можем найти моменты сил для каждой из подъемных сил, действующих на крылья. Тогда мы можем найти общую подъемную силу действующую на самолёт, а также ускорение, с которым он начинает вращаться в некой плоскости из-за подъемных сил.
На крыльях также присутствуют закрылки, они позволяют изменить площадь какого-либо крыла, тем самым увеличив или уменьшив его подъемную силу. Изменение силы заставит самолет вращаться в какой-то плоскости. Поэтому при помощи закрылок можно управлять положением самолета в пространстве.
Также на самолет действует сила тяги. Она приложена к некой точки самолета, но направлена на центр масс, так как в противном случае она бы заставляла самолет вращаться. Поэтому можно считать, что она приложена просто к центру масс самолета. Во время движения самолета пользователь может увеличивать и уменьшать силу тяги посредством нажатия на кнопки F3 и F4.
Таким образом, к центру масс самолета приложено четыре силы, а также есть момент вращения вокруг центра масс. Исходя из этих сил, программа находит величину по модулю и направление результирующей. Теперь, зная массу самолета, программа находит его ускорение. Затем программа находит скорость самолета и её направление в следующий момент времени, а также угловую скорость вращения самолета в каждой из плоскостей xy, xz, yz. И наконец, программа сдвигает самолет по направлению скорости на и меняет угол наклона самолета в каждой из плоскостей на , где V- скорость самолета, t - прошедшее время, - угловая скорость в плоскости i (i = xy, xz, yz). Теперь программа вновь повторяет все действия, уже для новых координат и параметров.
3. Результаты и написанная программа
Программа может отображать данную модель в любой момент времени, с учетом изменения её положения относительно начального. Программа высчитывает каждую силу в отдельности, а затем сумму всех сил, получая результирующую силу. Затем, исходя из результирующей, программа получает положение модели в следующий момент времени. После этого вновь высчитывается подъемная сила и сила сопротивления воздуха, так как они зависят от положения и скорости модели. Такая процедура выполняется в каждый момент времени. Так мы получаем положение модели в текущий момент времени.
Рисунок 5
Помимо модели самолета программа визуализирует поверхность земли, при касании с которой самолет останавливается.
Мы можем проследить за движением самолета, так как направление и угол нашего обзора не статичен, его можно изменять движением курсора и кнопками на клавиатуре.
Пользователь может изменять начальные значения, такие как: начальная скорость, начальное положение модели. Также пользователь может изменять силу тяги самолета во время его движения. В программу возможно загрузить любую модель.
Рисунок 6. Модель самолёта
4. Возможности дальнейшей разработки
Полученная программа при дальнейшем её развитии действительно может помочь при создании и разработке летательных аппаратов. При доработке программы важно добавить и изменить некоторые её части.
В графическом разделе программы предпочтительно поменять положение ”камеры”, то есть плоскости, на которую проецируется модель самолёта, тем самым получая изображение, выведенное на экран компьютера. Сейчас положение ”камеры” не зависит от положения самолета, поэтому, когда самолет двигается с большой скоростью, его можно перестать видеть. Для решения этой проблемы нужно, чтобы при движении самолета ”камера” изменяла своё положение относительно начала координат, но положение её относительно самолёта оставалось постоянным.
Так же в текущей версии программы при нахождении самолета на расстоянии от начала координат большего определённого самолёт пропадает с экрана. Это вызвано тем, что программа воссоздаёт лишь некоторую часть трёхмерного пространства. Воспроизводимый программой объём возможно увеличить, но нам этого сделать не удалось. Также имеются проблемы с загрузкой большего количества моделей, а также при загрузке модели самолета, состоящей из нескольких частей.
С точки зрения физики также присутствуют некоторые допущения. Как было сказано выше, программа не рассчитывает подъемную силу, действующую на фюзеляж самолета. Эту силу рассчитать возможно, но это потребует намного больше времени, так как коэффициент в приведенной для расчета подъемной силы формуле будет зависеть от скорости самолета и от формы самого фюзеляжа. Мы могли бы принять форму фюзеляжа за цилиндр, но при повороте самолета в плоскости перпендикулярной его основанию, такую формулу для коэффициента использовать нельзя. Тогда бы пришлось пересчитывать коэффициент в каждый момент времени.
Также мы не учитываем изменение скорости и направления потока воздуха, вызываемое двигателями и самим самолетом. Например, фюзеляж может замедлять поток воздуха вокруг себя, что вызовет уменьшение подъемной силы и силы сопротивления воздуха. А двигатели создают за собой зону низкого давления, поэтому при приближении к двигателю поток воздуха должен ускоряться. Моделирование потоков воздуха является ещё более сложно задачей, поэтому мы не учитываем их изменение.
Рисунок 7
Изменение направления и скорости потоков воздуха, вызываемое самолётом. Визуализировано в программе FloEFD.
Помимо этого программа для расчета центра масс самолета считает, что его масса равномерно распределена, что для реальных аппаратов неверно. Чтобы учесть разные плотности веществ, нам бы потребовались намного более точные модели. Каждую модель пришлось бы загружать по частям разной плотности, что намного бы увеличило сложность загрузки в программу новой модели.
Пока отсутствует возможность изменения некоторых параметров самолета в реальном времени. Так, например, нет возможности изменять положения закрылок на крыльях, что позволило бы пользователю управлять полётом аппарата.
компьютерный самолет программирование аэродинамика
Вывод
Несмотря на то, что физическая сторона программы не является точной и даёт представление о полёте самолета лишь в некотором приближении, данную программу можно развить, и она, несомненно, может стать полезной в области авиастроения. Графическая часть также требует дальнейшей доработки. Такие программы, бесспорно станут востребованы в скором времени.
В целом написание этой программы помогло нам научиться рассчитывать физические процессы и визуализировать их. Эта практика дала нам представление о создании физических движков и моделей, помогла нам понять основы аэродинамики. Мы научились и многому в области программирование, например воссозданию трёхмерных объектов, и изменению их положения в реальном времени. Практика помогла нам освоить язык программирования C++, а также графический программный интерфейс OpenGL. Помимо этого мы получили начальные знания в Autodesk 3ds Max, программной системе для создания и редактирования трёхмерных моделей. Мы получили новые знания и в области математики. Мы научились работать с векторами и матрицами; вычислять при их помощи объемы и площади сложных геометрических фигур.
Размещено на Allbest.ru
Подобные документы
Аналитическое исследование электронных учебных пособий и технологий в современном мире. Выбор инструментального средства разработки программного продукта. Систематизация информации по разделам специального курса. Разработка понятного интерфейса.
дипломная работа [1,6 M], добавлен 16.06.2015Выбор языка программирования и средств реализации поставленной задачи. Диаграмма прецедентов использования лифта. Построение основной диаграммы классов. Создание интерфейса, с помощью которого пользователь мог бы легко понять моделирование лифта.
курсовая работа [477,2 K], добавлен 01.05.2016Создание web-страниц с использованием языка HTML. Работа с графикой в Adobe Photoshop и Flash CS. Создание динамических web-страниц с использованием JavaScript и PHP. Базы данных и PHP. Пример реализации "Эконометрической модели экономики России" под WEB.
презентация [432,3 K], добавлен 25.09.2013Введение в интернет-технологии и компьютерное моделирование. Создание WEB страниц с использованием HTML. Создание динамических WEB страниц с использованием JavaScript. Работа с графикой в Adobe Photoshop и Flash CS. Основы компьютерного моделирования.
презентация [223,4 K], добавлен 25.09.2013Разработка игрового "движка" с использованием языка C++ для написания кода, графического пакета DirectX9 для вывода графики. Использование физического "движка" PhysX для взаимодействия объектов. Технико-математическое описание задачи, листинг программы.
дипломная работа [4,5 M], добавлен 02.09.2013Значение компьютерного моделирования, прогнозирования событий, связанных с объектом моделирования. Совокупность взаимосвязанных элементов, важных для целей моделирования. Особенности моделирования, знакомство со средой программирования Турбо Паскаль.
курсовая работа [232,6 K], добавлен 17.05.2011Процесс функционирования системы массового обслуживания (СМО) на примере конвейера по изготовлению шестерен. Моделирование СМО на ЭВМ с помощью специализированного языка моделирования систем общего назначения GPSS. Улучшение показателей эффективности СМО.
курсовая работа [459,9 K], добавлен 23.06.2011Разработка программы для операционной системы Windows с использованием VisualC++ (6.0, .NET). Рассмотрение основ программного моделирования работы прибора (электрического чайника). Правила создания классов устройства и его графического интерфейса.
курсовая работа [424,3 K], добавлен 03.06.2014- Создание базы данных автомобилестроительного предприятия в виде настольного приложения на языке Java
Разработка логической схемы базы данных автомобилестроительного предприятия. Инфологическое моделирование системы. Создание графического интерфейса пользователя для базы данных средствами языка программирования Java. Тестирование программных средств.
курсовая работа [2,3 M], добавлен 16.12.2013 Разработка операторского интерфейса системы мониторинга и управления объекта, обладающего инерционными свойствами. Создание программного обеспечения для отображения данных системы в среде программирования ST. Моделирование имитаторов объекта управления.
курсовая работа [3,1 M], добавлен 14.02.2016