Моделирование движения тела с переменной массой в Visual Basic.Net
Разработка автоматизированной системы реализации модели движения тела переменной массы на примере движения одноступенчатой ракеты, расчет времени и скорости полета. Описание формы загрузки программы. Требование к программному и техническому обеспечению.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 18.03.2012 |
Размер файла | 255,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Курсовая работа
по дисциплине
Программирование на языке высокого уровня
на тему:
Моделирование движения тела с переменной массой в Visual Basic.Net
Введение
Движение является неотъемлемой формой существования вещества во Вселенной. Оно характеризует изменения, происходящие в окружающем нас мире. В движении участвует каждый атом любого тела.
Уравнения движения тел с переменной массой являются следствиями законов Ньютона. Тем не менее, они представляют большой интерес, главным образом, в связи с ракетной техникой.
Реактивное движение происходит за счет того, что от тела отделяется и движется какая-то его часть, в результате чего само тело приобретает противоположно направленный импульс.
Реактивное движение используют для своего перемещения некоторые живые существа, например осьминоги, кальмары, каракатицы и другие головоногие моллюски. Движутся они благодаря тому, что всасывают, а затем с силой выбрасывают из себя воду.
Принцип реактивного движения находит широкое практическое применение в авиации и космонавтике. В космическом пространстве нет среды, с которой тело могло бы взаимодействовать и тем самым изменять направление и модуль своей скорости. Поэтому для космических полетов могут быть использованы только реактивные летательные аппараты, т. е. ракеты.
Проблема вывода ракеты на орбиту всегда считалась задачей повышенной сложности. Эта сложность связана с изменением гравитационного поля, массы и вектора скорости во время полета ракеты. На данном этапе развития техники можно осуществить полное моделирование движения ракеты, что позволяет сэкономить огромные ресурсы.
Целью курсовой работы является разработка программы, выполняющей теоретическое моделирование движения ракеты в 2-x мерной реконструкции.
Постановка задачи:
Разработать алгоритм и написать программу, выполняющую моделирование движения тела переменной массы на примере движения одноступенчатой ракеты. Программа должна выполнять расчет времени и скорости полета ракеты. Реализовать меню программы: просмотр справки о программе и выход из программы.
Назначение: значительное снижение временных затрат на изучение материала по данной теме.
1. Технический проект
1.1 Уравнение Мещерского
Рассмотрим движение тела переменной массой во внешнем силовом поле. Уравнение Ньютона в общем виде
, (1)
(2)
(3)
Подставив (3) в (1) получим
(4)
переписанное в системе центра масс, примет вид:
, (5)
где - скорость истечения газа. Вводя обозначение , принимая и учитывая характер внешнего силового поля , образованного силами притяжения и инерции, перепишем уравнение (5) как
(6)
Уравнение (6) называется уравнением Мещерского. Величина представляет собой реактивную силу тяги.
1.2 Формула Циолковского
Рассмотрим движение ракеты в отсутствие внешних сил. Уравнение движения в скалярном виде (с учётом того, что векторы и противоположно направлены) будет иметь вид:
. (7)
Это уравнение с разделяющимися переменными; проинтегрировав его в конечных пределах
, (8)
получим:
; (9)
эта формула называется формулой Циолковского [3]. Из неё следует, что для сообщения телу массой конечной скорости v требуется, без учёта затрат на преодоление сил тяжести, масса топлива, равная
. (10)
Рассмотрим теперь модель, в которой учитывается однородное поле тяжести (знак минус означает, что поле направленно против движения ракеты), можно получить
, (11)
где полное время работы двигателей. При постоянном расходе топлива
(12);
так как , то уравнение (11) трансцендентное уравнение относительно . Максимальное ускорение одноступенчатой ракеты в такой модели определяется соотношением , то есть
, (13)
так как в широком диапазоне реализуемых начальных условий .
1.3 Применяемые модели
Рис. 1.1 Выбор локальной системы координат
В данной задаче производится численное интегрирование уравнения Мещерского для движения ракеты во внешнем силовом поле.
Ракета считается материальной точкой. Таким образом, выбранной системе отсчета (x, y) уравнения движения принимают вид:
,
2. Рабочий проект
2.1 Общие сведения о работе системы
Программа разработана на языке программирования Visual Basic в среде разработки Microsoft Visual Studio 2006. Данная программа разработана единым программным и функциональным модулем и содержит процедуры и функции.
2.2 Установка программы
Для того чтобы установить программу, необходимо скопировать ее с CD-диска на жесткий диск. Сначала нужно вставить в дисковод диск и скопировать файл формата .exe под названием Polet tela. Если на компьютере не установлен Microsoft.Net Framework v 3.0 , то его необходимо установить.
2.3 Руководство пользователя
Для работы с программным продуктом используется простой, интуитивно понятный интерфейс. Последовательность работы с объектами формы определяется доступностью командных кнопок, целостность данных определяется набором используемых в программе проверок. Переход от одного объекта формы к другому осуществляется при нажатии щелчком мыши по соответствующему объекту.
2.3.1 Описание формы загрузки программы
Программа может загружаться из среды Visual Basic 6.0, если она представлена в исходном варианте: в формах с кодами, также можно запустить программу из скомпилированного exe-файла. В первом случае программа будет запускаться корректно только при наличии в исходной папке всех форм программы и базы данных, непосредственно связанной с кодом программы и прямым её назначением.
При запуске программы появляется форма, которая называется Движение тела. В полях этой формы вы должны выставить входные значения: начальная скорость и угол к горизонту.
2.3.2 Описание Главной формы
В ходе работы был разработан следующий интерфейс.
Рис. 2.1 Главная форма.
При создании приложения были использованы объекты, представленные в таблице 2.1.
Таблица 2.1 Объекты главной формы
Используемый объект |
Предназначение |
|
PictureBox |
Поле для вывода графика траектории полета ракеты |
|
Image |
Анимация |
|
TextBox |
Ввод данных: масса ракеты, расход топлива, масса топлива, удельный импульс |
|
ComandButton |
Кнопка для запуска программы |
2.3.3 Описание формы «О программе»
Если выбрать меню «О программе» то появится окно, в котором будет краткая информация об авторе и полное название программы.
Рис. 2.3 Форма «Об авторе».
программа модель движение скорость
2.4 Требование к программному и техническому обеспечению
Для корректной работы программы характеристики ПК должны быть не менее
· процессор 2 ГЦ и выше
· ОЗУ 512Мб и больше
· 3,26 Мб свободного места на жёстком диске
Для функционирования программы на ПК должно быть установлено следующее программное обеспечение
· ОС Windows XP или более новая
· среда выполнения Microsoft.Net Framework 3.0 или более поздняя
3. Программа и методика испытаний
Решим задачу аналитическим способом:
Требуется найти максимальную скорость ракеты, время полета
Зададим параметры:
Масса ракеты: 4730 (кг), масса топлива: 28000 (кг), удельный импульс:4500 (кг), расход топлива: 5 (кг/с)
По формуле Циолковского имеем:
M1 - начальная масса
M2 - конечная масса
I - удельный импульс
V=4500*Ln(32730/4730)=8705(м/с)-максимальная скорость при заданных параметрах
t=28000/5=5600 (c) - время полета ракеты
С помощью программы rocket.exe находим аналогичный вариант, следовательно программа работает корректно.
Заключение
Человечество в своей деятельности постоянно создает и использует модели окружающего мира. Модели позволяют представить в наглядной форме объекты и процессы, недоступные для непосредственного восприятия. Наглядные модели часто используются в процессе обучения.
Модели играют чрезвычайно важную роль в проектировании и создании различных технических устройств, машин и механизмов, зданий, электрических цепей и т. д. Моделирования механического движения находит свое применение в физических и математических науках, военной индустрии.
Модель движения тела переменной массы можно построить двумя способами:
построение алгоритма решения задачи его кодирование на одном из языков программирования;
построение компьютерной модели с использованием одного из приложений (электронных таблиц, СУБД и пр.).
В процессе создания компьютерной модели полезно разработать удобный графический интерфейс, который позволит визуализировать формальную модель, а так же реализовать интерактивный диалог человека с компьютером на этапе исследования модели.
Исследование информационной модели состоит в проведении компьютерного эксперимента, а так же анализе полученных результатов и корректировке исследуемой модели.
В данной курсовой работе была разработана автоматизированная система реализации модели движения тела, выполняющая процедуры всех поставленных раннее задач, что приводят к значительному снижению временных затрат на изучение материала по данной теме.
Список литературы и источников
1. Р. Мкдона. Основы микрокомпьютерных вычислений: Пер. с англ./ Т.Г.Никольской; Под ред. В. Ф. Шальгина. - М.: Высш. Школа., 1989. - 272 с.: ил.
2. Задачи и упражнения по программированию: Практ. Пособие для ПТУ/ Под ред. А. Я. Савельева. Кн. 2. Тяжелая промышленность и транспорт/ В.Е.Алексеев, А.С. Ваулин. - 2-е изд., доп. - М.: Высш. шк., 1989-112 с.: ил.
3. Г. И. Светозарова. ОСНОВЫ ПРИКЛАДНОЙ ИНФОРМАТИКИ. Раздел: Описание языка Турбо-Бейсик. Справочное пособие.
4. http://www.alsak.ru/content/view/223/151/1/2/
Приложение 1
Код программы
Dim mr, mt, rt, vp, im, xi, ms, si, csp, cx, y0, sby, imt, fire As Integer
Dim star(8, 2) As Byte
Dim cdir As String
Private Sub aboutp_Click()
Form1.Show vbModal
End Sub
Private Sub btRun_Click()
restart
imgRocket.Visible = True
imgFire.Visible = True
mr = Val(tbMr.Text)
mt = Val(tbMt.Text)
rt = Val(tbRt.Text)
im = Val(tbIm.Text)
vp = mt / rt
cx = 400
If vp > 400 Then
csp = vp / 400
Else
csp = 1
cx = vp
End If
ms = okrD(im * Log((mr + mt) / mr))
If ms > Picture1.Height Then
sby = 1
Else
sby = 0
End If
tms.Text = ms
Tm1.Enabled = True
btRun.Caption = ""
btRun.Enabled = False
btStop.Caption = "СТОП"
btStop.Enabled = True
cdir = CurDir
imgFire.Visible = True
tbIm.Enabled = False
tbMr.Enabled = False
tbMt.Enabled = False
tbRt.Enabled = False
End Sub
Private Sub btStop_Click()
restart
End Sub
Sub restart()
xi = 0
yi = 0
imt = 0
Picture1.Line (0, 0)-(Picture1.Width, Picture1.Height), vbWhite, BF
lbS.Caption = "0"
lbS.Left = Picture1.Left - 10
lbS.Top = Picture1.Top + Picture1.Height + 5
lbT.Caption = "0"
lbT.Left = lbS.Left
lbT.Top = lbS.Top
Tm1.Enabled = False
btRun.Caption = "ЗАПУСК"
btRun.Enabled = True
tm2.Enabled = False
imgRocket.Top = 172
imgFire.Top = 258
imgFire.Visible = False
imgConst.Top = 260
imgConst.Height = 30
st1.Top = 48
st2.Top = 168
st3.Top = 112
st4.Top = 136
st5.Top = 80
st6.Top = 88
st7.Top = 40
tbIm.Enabled = True
tbMr.Enabled = True
tbMt.Enabled = True
tbRt.Enabled = True
End Sub
Private Sub exitp_Click()
Unload Form1
End Sub
Private Sub Form_Load()
'frmRocket.Caption = CurDir
End Sub
Private Sub Picture1_Paint()
Dim y As Integer
DrawStyle = vbSolid
Line (Picture1.Left, Picture1.Top)-(Picture1.Left, Picture1.Top - 15)
Line (Picture1.Left, Picture1.Top - 15)-(Picture1.Left - 5, Picture1.Top - 5)
Line (Picture1.Left, Picture1.Top - 15)-(Picture1.Left + 5, Picture1.Top - 5)
CurrentX = Picture1.Left + 10
CurrentY = Picture1.Top - 15
Print "u (м/с)"
Line (Picture1.Left + Picture1.Width, Picture1.Top + Picture1.Height - 1)-(Picture1.Left + Picture1.Width + 15 + 20, Picture1.Top + Picture1.Height - 1)
Line (Picture1.Left + Picture1.Width + 5 + 20, Picture1.Top + Picture1.Height - 5)-(Picture1.Left + Picture1.Width + 15 + 20, Picture1.Top + Picture1.Height - 1)
Line (Picture1.Left + Picture1.Width + 5 + 20, Picture1.Top + Picture1.Height + 4)-(Picture1.Left + Picture1.Width + 15 + 20, Picture1.Top + Picture1.Height - 1)
CurrentX = Picture1.Left + Picture1.Width + 20
CurrentY = Picture1.Top + Picture1.Height + 5
Print "t (c)"
lbT.Left = Picture1.Left - 10
lbT.Top = Picture1.Top + Picture1.Height + 5
'CurrentY = lbT.Top
'CurrentX = lbT.Left
'Print "0"
End Sub
Private Sub setval_Click()
tbIm.Text = 4500
tbMr.Text = 4730
tbMt.Text = 28000
tbRt.Text = 5
End Sub
Private Sub start_Click()
btRun_Click
End Sub
Private Sub stop_Click()
btStop_Click
End Sub
Private Sub Tm1_Timer()
Dim yi As Integer
xi = xi + 1
If xi <= cx Then
si = im * Log((mr + mt) / (mr + mt - csp * rt * xi))
imt = mt - okrD(xi * csp * rt)
tbMt.Text = imt
lbT.Caption = xi * csp
lbT.Left = Picture1.Left - ((lbT.Width) / 2) + xi
If sby = 1 Then
yi = okrD(si * Picture1.Height / ms)
Else
yi = okrD(si / 1)
End If
lbS.Caption = CStr(okrD(si / 1))
lbS.Left = Picture1.Left - 5 - lbS.Width
lbS.Top = (Picture1.Top + Picture1.Height) - yi - lbS.Height / 2
Picture1.PSet (xi, Picture1.Height - yi), vbRed
If fire <> 2 Then
imgFire.Picture = LoadPicture(cdir & "\img\fire2.gif")
fire = 2
Else
imgFire.Picture = LoadPicture(cdir & "\img\fire1.gif")
fire = 1
End If
If si > 1 Then
tm2.Interval = 500 - si * 500 / ms
If tm2.Enabled = False Then
tm2.Enabled = True
End If
End If
End If
End Sub
Function setSec(mt, rt)
Dim res As Integer
res = mt / rt
End Function
Function okrD(dr As Double) As Integer
Dim c As Integer
c = Fix(dr)
If dr = c Then
okrD = c
ElseIf (dr - c) > 0.5 Then
okrD = c + 1
Else: okrD = c
End If
End Function
Private Sub tm2_Timer()
st1.Top = st2.Top + 1
st2.Top = st3.Top + 1
st3.Top = st3.Top + 1
st4.Top = st4.Top + 1
st5.Top = st5.Top + 1
st6.Top = st6.Top + 1
st7.Top = st7.Top + 1
If imgConst.Top < 291 Then
imgConst.Top = imgConst.Top + 1
imgConst.Height = imgConst.Height - 1
End If
imgRocket.Top = imgRocket.Top - 1
imgFire.Top = imgFire.Top - 1
End Sub
Размещено на Allbest.ru
Подобные документы
Характеристика движения тела, брошенного под углом к горизонту, с точки зрения криволинейного движения. Пути разработки программы, реализующей модель движения тела. Основные требования к программному обеспечению, сообщения и тестирование системы.
курсовая работа [861,5 K], добавлен 17.03.2011Определение параметров движения при вращательном движении, зависимости скорости, ускорения, времени от угла поворота, установление времени поворота на определенный угол. Применение построенной математической модели к расчету параметров движения тела.
курсовая работа [112,0 K], добавлен 18.03.2010Механические системы и анимационное моделирование. Некоторые задачи моделирования механических систем (на примере движение тела с переменной массой). Создание анимационно-обучающей программы механической системы, текст программы и описание ее установки.
дипломная работа [522,2 K], добавлен 30.08.2010Принципы построения систем с переменной структурой для управления свободным движением линейных объектов с постоянными параметрами. Разработка модели системы с переменной структурой с применением инструментов Model Vision Studium и Simulink пакета MathLab.
дипломная работа [4,3 M], добавлен 26.10.2012Понятие о кинематике. Относительность, траектория и виды движений. Движение тела, брошенного под углом к горизонту. Разработка компьютерной программы для моделирования. Описание интерфейса программы и программного кода. Инструкция пользования интерфейсом.
курсовая работа [1,6 M], добавлен 25.11.2013Принципы учета движения готовой продукции на складе. Проектирование логической и физической модели данных. Выбор среды разработки, операционной системы, требования к аппаратному и программному обеспечению. Разработка программы учета готовой продукции.
дипломная работа [926,6 K], добавлен 09.07.2012Расчётная схема для определения параметров движения при поступательном движении. Определение зависимости от пути скорости, ускорения и времени. Математическая модель расчёта параметров поступательного движения тела на участке разгона и торможения.
курсовая работа [438,1 K], добавлен 22.01.2015Требования к программному продукту, к задачам и функциям, выполняемым программой, к техническому, программному и организационному обеспечению. Стадии и этапы разработки программного продукта. Простота навигации по программе, присутствие строки подсказки.
курсовая работа [236,7 K], добавлен 09.03.2009Проект оболочки моделирования кривошипно-шатунного механизма в среде MS Visual Studio. Разработка его математической модели. Исследование кинематики точек В, С, М. Алгоритм и код программы. Анимация движения механизма и график движения основных точек.
курсовая работа [422,2 K], добавлен 13.03.2016- Исследование движения тела, брошенного под углом к горизонту, с учетом горизонтального сопротивления
Математическая модель задачи для исследования характера движения тела. Решение задачи Коши для системы дифференциальных уравнений первого и второго порядка. Использование метода Эйлера. Схема алгоритма, таблица идентификаторов, программа на языке Pascal.
курсовая работа [137,9 K], добавлен 07.03.2013