Математическая модель движения спутника по орбите

Определение параметров кеплерова эллипса, являющегося траекторией невозмущенного движения спутника. Вычисление переменных величин, характеризующих спутник на орбите в момент отключения двигателей. Разработка программы, моделирующей перемещение спутника.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 25.12.2013
Размер файла 667,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

Ульяновский Государственный Университет

Факультет Математики и Информационных технологий

Кафедра Информационной безопасности и теории управления

Прикладная математика и информатика 01.05.01

Математика 01.01.01

КУРСОВАЯ РАБОТА

Математическая модель движения спутника по орбите

Проект выполнил

студент гр. ПМ-о-09/1

Морозов И.В.

Научный руководитель

профессор, д.ф.-м.н.

Андреев А.С.

Ульяновск 2013

Содержание

Введение

Глава 1. Кеплерова орбита спутника

Глава 2. Разработка программы

Заключение

Список литературы

Введение

С древних времен и до наших дней вид звездного неба будоражил воображение людей своей красотой и величием. Исторически одна из первых задач астрономии заключалась в разумном объяснении движении планет, случайным образом изменяющих свое положение относительно звезд. Над поиском ответа на эту задачу ученые безуспешно бились на протяжении почти двух тысячелетий вплоть до Кеплера. Законы Кеплера математически выражают поразительную простоту планетных движений, наблюдаемых гелиоцентрической системе отсчета. Это был поистине фантастический прорыв в понимании Природы. Но и поныне движения небесных тел - малых и больших планет Солнечной системы, их спутников, комет, астероидов, а в наше время - также рукотворных космических кораблей и искусственных спутников - дают наиболее впечатляющие опытные подтверждения законов. Современное общество не представляет свое существование без искусственных спутников, потому что в настоящее время это рабочие элементы глобальных связных телекоммуникационных систем, систем прогнозирования погоды, навигационных систем и организуется новая система обнаружения космических объектов, представляющих угрозу земле от столкновения с ними. Также ИСЗ используют для военных целей - разведки, слежения за состоянием военных сил противника. Со спутников ведется разведка полезных ископаемых. Ну а интернет не смог бы иметь такие масштабы развития без ИСЗ.

Глава 1. Кеплерова орбита спутника

кеплеров эллипс спутник орбита

Если спутник выведен на заданное расстояние r от центра (масс) Земли и его двигатели отключены, то в данной точке пространства он приобрел известную нас скорость v, а также направление движения - угол x между направлением движения спутника и радиус-вектором r. Этих данных достаточно, чтобы определить кеплеров эллипс, по которому спутник будет двигаться вокруг Земли. Здесь мы исходим из положения, что вся масса Земли сосредоточена в ее центре и на спутник не действуют прочие возмущающие массы (Луна, Солнце, планеты).

Используя исходные данные r, v, и x, определим постоянные величины эллипса рис.1.

Большая полуось орбиты

(1)

(G - гравитационная постоянная, M - масса Земли, GM - геоцентрическая гравитационная постоянная),

Эксцентриситет

(2)

Рис. 1. Кеплеров эллипс

О - центр; , - фокусы; a, b - большая и малая полуоси; - фокальный параметр; - расстояние от центра до фокуса; П, А,- точки перицентра и апоцентра; А-П - линия апсид; GM - центрическая постоянная; r - радиус - вектор тела m; - расстояние от m до второго фокуса; v - скорость тела m; - средняя скорость; х - угол между радиусом- вектором и касательной; , , - эксцентрическая, средняя и истинная аномалии.

Малая полуось орбиты :

(3)

Расстояние от центра Земли до центра эллипса:

(4)

Фокальный параметр эллипса:

(5)

Средняя скорость спутника (если бы спутник двигался по кругу с центром в центре эллипса):

(6)

Расстояние от центра Земли до ближайшей точки эллипса - перигея:

(7)

Расстояние от центра Земли до наиболее удаленной точки эллипса - апогея:

(8)

Скорости спутника в перигее:

(9)

Скорость спутника в апогее:

(10)

Период обращения спутника по эллипсу:

(11)

Площадь эллипса:

(12)

Геоцентрическая гравитационная постоянная:

(13)

(- круговая скорость тел на расстоянии r от центра масс Земли).

Таким образом на основе минимальных данных v, r, x определены постоянные параметры эллипса, являющегося траекторией невозмущенного движения спутника.

Далее находим переменные величины, характеризующие спутник на орбите в момент отключения двигателей: истинная аномалия (угол между направлением на перигей и радиус-вектором r) рис.

(14)

Эксцентрическая аномалия :

(15)

Средняя аномалия :

(16)

Равенство (16) - это трансцендентное уравнение Кеплера. Средняя аномалия представляет собой угол поворота большой полуоси за некоторый промежуток времени в предложении, что орбита является круговой. А в связи с тем, что вычисления по (16) должны производиться в радианной мере, то следовательно, это и дуга круга, которую описывает орбитальное тело за данное время. Именно благодаря средней аномалии , всегда пропорциональной времени, находится промежуток времени, необходимый телу при движении от линии апсид до заданной точки эллипса

(17)

Однако надо сказать, что при вычислении орбит планет вначале, исходя из заданного времени, определяется средняя аномалия по равенству (17), а затем уже методом последовательных приближений находится эксцентрическая аномалия по уравнению Кеплера (16). Знание вспомогательной величины дает возможность находить другие необходимые переменные величины на заданный момент времени и таким образом уравнение (16) является важнейшим в решении задач движения тел по орбитам.

По второму закону Кеплера определим площадь, описываемую радиусом-вектором за известный промежуток времени

(18)

Определим и расстояние от спутника до второго фокуса эллипса

(19)

Проверим точность найденных углов и по одной из формул Кеплера.

(20)

или по следующим равенствам

(21)

После того, как установлены основные параметры спутника на момент выключения двигателей, необходимо определить его положение на орбите через какой-либо другой промежуток времени, прошедший от исходного момента. Для этого к известному промежутку (за который спутника проходит по орбите от перигея до точки отключения двигателей) прибавим интересующее нас время :

(22)

По суммарному времени находиться средняя аномалия по (17), а по уравнению Кеплера (16) методом последовательной итерации определяется эксцентрическая аномалия . Именно благодаря трансцендентному уравнению Кеплера (16) можно получать характеристики тела в любой из моментов его движения по эллипсу.

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

Угол между радиусом-вектором и направлением движения спутника

(23)

угол между радиусом-вектором и направлением на перигей - истинная аномалия

(24)

расстояние от центра Земли до спутника

(25)

Вычислим скорость спутника в заданный момент времени по одной из формул Кеплера (позже названной интегралом энергии)

(26)

Наконец по второму закону Кеплера (18) вычислим площадь, описываемую радиус-вектором за суммарный промежуток времени (22).

Однако, если мы намерены вначале задать не промежуток времени , а угол между радиусом-вектором и направлением на перигей и определить параметры спутника, когда он находиться под заданным углом, то вначале по углу определим расстояние от центра масс Земли до спутника

(27)

Также по углу находиться и угол между направлением движения спутника в данной точке пространства и радиусом-вектором

(28)

затем по интегралу энергии (26) находиться скорость спутника в данной точке.

Иногда можно исключить использование вспомогательных углов и из наших формул, хотя в действительности новые формулы выводятся благодаря уравнению Кеплера (9.16).

При очень малой скорости по эллипсу, пересекающему поверхность Земли, спутник упадет на Землю. Если двигатели спутника остановлены при скорости, превышающей , то орбита космического аппарата станет параболической и он преодолеет тяготение Земли и перейдет в сферу гравитационного действия Солнца.

Глава 2. Разработка программы

Код, находящийся в главной форме Form1.cs

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Drawing.Drawing2D;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace Kepler

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

graphic = this.CreateGraphics();

// _DrawGraphics();

}

private Graphics graphic;

private Geomtries.Ellipse Ellipse = new Geomtries.Ellipse(0,0,1,1);

private Geomtries.Ellipse Earth = new Geomtries.Ellipse(10,10,1,1);

Geomtries.Ellipse Satelite = new Geomtries.Ellipse(10, 10, -10, 10);

/// <summary>

/// Угол наклона радиус вектора

/// </summary>

private int arcAngleOffset = 1;

/// <summary>

/// Глобальный таймер - на каждом отсчёте фиксируется точка и линии от фокусов до неё

/// </summary>

private Timer GlobalTimer = new Timer();

private double m_speed;

private double speed

{

get

{

// double exs = Math.Sqrt(1 - (((Ellipse.Height / 2) * (Ellipse.Height / 2)) / ((Ellipse.Width / 2) * (Ellipse.Width / 2))));

double r1 = Distance(Satelite.X,Earth.X,Satelite.Y,Earth.Y);

// double r2 = (Ellipse.Width / 2) / (1 - exs*Math.Cos(arcAngleOffset));

m_speed = Math.Sqrt(6.67384 * 5.9736 * Math.Pow(10, 13)*

((2/r1) - (1/(Ellipse.Width/2))));

return m_speed;

}

set { m_speed = value; }

}

private double Distance(double x1, double x2, double y1, double y2)

{

return Math.Sqrt(Math.Abs((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1)));

}

/// <summary>

/// Нарисовать при прорисовки формы

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

public void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)

{

_DrawGraphics();

}

/// <summary>

/// Нарисовать при изменении размера формы

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void Form1_SizeChanged(object sender, EventArgs e)

{

_DrawGraphics();

}

/// <summary>

/// Основная функция прорисовка осей, земли и орбиты

/// </summary>

private void _DrawGraphics()

{

graphic = this.CreateGraphics();

// Задаём новые значение ширины и высоты

Ellipse.Height = this.Size.Height-40; Ellipse.Width = this.Size.Width-20;

Earth.Height = 50; Earth.Width = 50;

Earth.X = (float)Ellipse.Focus - 20;

Earth.Y = (this.Size.Height / 2) - 20 - (int)Earth.Height / 2;

#region Работа с label'ами

lEllipseWidth.Text = "Ellipse width=" + Ellipse.Width;

lEllipseHeight.Text = "Ellipse height=" + Ellipse.Height;

lFocus.Text = "Focus=" + Ellipse.Focus;

lFormHeight.Text = "Form Height=" + this.Size.Height;

lFormWidth.Text = "Form Width=" + this.Size.Width;

#endregion

// graphic.Clear(System.Drawing.Color.WhiteSmoke);

// Ось OX

graphic.DrawLine(new Pen(Color.White, 1), 1, (this.Size.Height / 2) - 20, this.Size.Width, (this.Size.Height / 2) - 20);

// Эллипс

graphic.DrawEllipse(new Pen(Color.White, 1), Ellipse.X, Ellipse.Y, (float)Ellipse.Width, (float)Ellipse.Height);

// Земля

graphic.DrawEllipse(new Pen(Color.Aqua, 2), Earth.X, Earth.Y, (float)Earth.Width, (float)Earth.Height);

graphic.Save();

}

private void bStart_Click(object sender, EventArgs e)

{

Satelite.Y = (this.Size.Height / 2) - 20 - (float)Satelite.Height / 2;

arcAngleOffset = 1;

this.lbSatX.Text = "Satelite X=" + Satelite.X.ToString();

this.lbSatY.Text = "Satelite Y=" + Satelite.Y.ToString();

graphic.Clear(Color.Black);

// this.BackgroundImage = global::Kepler.Properties.Resources. n501787527cfe4;

_DrawGraphics();

// Рисуем спутник

graphic.DrawEllipse(new Pen(Color.Gray, 2), Satelite.X, Satelite.Y, (float)Satelite.Width, (float)Satelite.Height);

Timer timer = new Timer();

GlobalTimer.Interval = 275;

timer.Interval = 100;

GlobalTimer.Tick += GlobalTimer_Tick;

timer.Tick += timer_Tick;

GlobalTimer.Start();

timer.Start();

}

/// <summary>

/// Фиксация точек через определённый промежуток времени таймера GlobalTimer

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void GlobalTimer_Tick(object sender, EventArgs e)

{

// Рисуем точки следа спутника

graphic.DrawEllipse(new Pen(Color.Gray, 2), Satelite.X, Satelite.Y, (float)Satelite.Width, (float)Satelite.Height);

// Линия от земли до спутника

graphic.DrawLine(new Pen(Color.Indigo, 1), Earth.X + 20, Earth.Y + 25, Satelite.X, Satelite.Y);

// Линия от второго фокуса до спутника

graphic.DrawLine(new Pen(Color.Salmon, 1), (float)(Ellipse.Width - Ellipse.Focus), Earth.Y + 25, Satelite.X, Satelite.Y);

}

/// <summary>

/// Отрисовка движения спутника по таймеру

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void timer_Tick(object sender, EventArgs e)

{

#region Работа с лейблами

this.lbSatX.Text = "Satelite X=" + Satelite.X.ToString();

this.lbSatY.Text = "Satelite Y=" + Satelite.Y.ToString();

this.lbSpeed.Text = "Speed=" + speed.ToString();

#endregion

// Выключаем таймер, когда спутник пройдёт весь путь по орбите

if (arcAngleOffset == 361)

{

GlobalTimer.Stop();

((Timer)sender).Stop();

return;

}

GraphicsPath path = new GraphicsPath();

// Создаём дугу эллипса, по которой идёт спутник

path.AddArc(1, 1, (float)Ellipse.Width, (float)Ellipse.Height, 1, arcAngleOffset);

// На конечной точке дуги будет сам спутник

Satelite.Y = path.PathPoints[path.PointCount - 1].Y - (float)Satelite.Height / 2;

Satelite.X = path.PathPoints[path.PointCount - 1].X - (float)Satelite.Width / 2;

// Рисуем след движения спутника

graphic.DrawPath(new Pen(Color.Red, 2), path);

((Timer)sender).Interval = (int)speed/100000;

arcAngleOffset++;

}

private void Form1_Activated(object sender, EventArgs e)

{

_DrawGraphics();

}

}

}

Код класса, представляющего геометрические фигуры. Geometries.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Kepler

{

class Geomtries

{

/// <summary>

/// Класс, хранящий значения отрисовывающегося эллипса

/// </summary>

public class Ellipse

{

/// <summary>

/// Конструктор класса

/// </summary>

/// <param name="vHeight">Высота эллипса</param>

/// <param name="vWidth">Ширина эллипса</param>

/// <param name="x">Координата верхней левой точки по оси X ограничивающего прямоугольника</param>

/// <param name="y">Координата верхней левой точки по оси Y ограничивающего прямоугольника</param>

public Ellipse(double vHeight, double vWidth, float x, float y)

{

this.Height = vHeight;

this.Width = vWidth;

this.X = x;

this.Y = y;

}

/// <summary>

/// Координата верхней левой точки по оси X ограничивающего прямоугольника

/// </summary>

public float X;

/// <summary>

/// Координата верхней левой точки по оси Y ограничивающего прямоугольника

/// </summary>

public float Y;

/// <summary>

/// Высота эллипса (Ось OY)

/// </summary>

public double Height;

/// <summary>

/// Ширина эллипса (Ось OX)

/// </summary>

public double Width;

/// <summary>

/// Фокус эллипса

/// </summary>

public double Focus

{get

{

if(Math.Sqrt(Math.Abs(Width * Width - Height * Height))==0)

return Width/2;

return Math.Sqrt(Math.Abs(Width * Width - Height * Height));

}

}

}}}

Заключение

Таким образом, было показано, что используя законы Кеплера, его формулы и методику, можно сравнительно просто получать интересующие нас параметры невозмущенного движения спутника в любой из моментов времени. При этом были упрощены вычисления, используя известный при запуске угол x, поэтому нет необходимости первоначальной установки спутника перпендикулярно радиусу. Были получены все интересующие параметры не привлекая при этом ни закон всемирного тяготения Ньютона, ни такие динамические понятия как масса, энергия, сила, момент количества движения и.т.п.

Список литературы

1. Маркеев А.П. Теоретическая механика. - М.: Наука, 1990. 414с.:ил.

2. Бутиков Е.И. Закономерности Кеплеровых движений. - СПб.: Физический факультет СПбГУ, 2007. 60с.

3. Левантовский В.И. Механика космического полета в элементарном изложении. М.: Наука, 1974

4. Рябов Ю.А. Движение небесных тел. М.: Наука, 1977

5. Бутиков Е.И. Движение космических тел в компьютерных моделях - СПб.: Физический факультет СПбГУ, 2007. 43с.

6. Бордовицына Т.В., Авдюшев В.А. Теория движения искусственных спутников Земли - Т: Издательство Томского университета, 2007. 174с.

Размещено на Allbest.ru


Подобные документы

  • Алгоритмизация и программирование управления моментом старта и вектором скорости ракеты; перехват спутника, летящего по круговой орбите. Вычисление команды на перемещение объекта Raketa и координат объекта Sputnik; реализация контакта между объектами.

    курсовая работа [17,2 K], добавлен 14.02.2014

  • Роль экспертных систем в бухгалтерском учете и банковском деле. Применение механизма автоматического рассуждения и эвристического поиска решения. Идентификация и ликвидация неполадок в локомотивах, анализ передачи телеметрических данных со спутника.

    курсовая работа [1,5 M], добавлен 09.02.2011

  • Определение вращательного движения твердого тела в среде системы MathCAD. Математическая модель объекта или процесса. Алгоритм решения задачи. Составление текста программы в среде Delphi. Таблица идентификаторов. Разработка программного приложения.

    курсовая работа [547,4 K], добавлен 25.03.2015

  • Расчётная схема для определения параметров движения при поступательном движении. Определение зависимости от пути скорости, ускорения и времени. Математическая модель расчёта параметров поступательного движения тела на участке разгона и торможения.

    курсовая работа [438,1 K], добавлен 22.01.2015

  • Создание набора классов, реализующих функции генерации метаданых для заданного файла данных спутника MTSAT-1R. Существующие методы решения. Реализация алгоритма получения необходимых полей с нужными данными. Разработка структуры базы данных инвентаря.

    курсовая работа [38,6 K], добавлен 17.07.2009

  • Моделирование траектории движения космического аппарата, запускаемого с борта космической станции, относительно Земли. Запуск осуществляется в направлении, противоположном движению станции, по касательной к её орбите. Текст программы в среде Matlab.

    контрольная работа [138,8 K], добавлен 31.05.2010

  • Физическая и математическая модели уравнения движения материальной точки. Блок-схема алгоритма основной программы для решения задачи Коши и получения результатов с фиксированным количеством отрезков разбиения. Разработка программы для ЭВМ, ее листинг.

    курсовая работа [212,3 K], добавлен 24.11.2014

  • Разработка автоматизированной системы реализации модели движения тела переменной массы на примере движения одноступенчатой ракеты, расчет времени и скорости полета. Описание формы загрузки программы. Требование к программному и техническому обеспечению.

    курсовая работа [255,0 K], добавлен 18.03.2012

  • Математическая модель исследования топологии поверхностей электронно-проекционным муаровым методом. Основной алгоритм программы, модулирующий муаровый эффект. Последовательность действий, обработка изображения. Интерфейс модуля model, рабочий растр.

    курсовая работа [1,3 M], добавлен 28.01.2014

  • Определение параметров движения при вращательном движении, зависимости скорости, ускорения, времени от угла поворота, установление времени поворота на определенный угол. Применение построенной математической модели к расчету параметров движения тела.

    курсовая работа [112,0 K], добавлен 18.03.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.