Помощь в написании студенческих работ
Антистрессовый сервис

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

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

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

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

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Ульяновский Государственный Университет Факультет Математики и Информационных технологий Кафедра Информационной безопасности и теории управления Прикладная математика и информатика 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);

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

private int arcAngleOffset = 1;

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

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.67 384 * 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)));

}

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

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

{

_DrawGraphics ();

}

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

private void Form1_SizeChanged (object sender, EventArgs e)

{

_DrawGraphics ();

}

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

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 ();

}

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

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);

}

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

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/100 000;

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

{

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

public class Ellipse

{

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

/// Высота эллипса

/// Ширина эллипса

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

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

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

{

this.Height = vHeight;

this.Width = vWidth;

this.X = x;

this.Y = y;

}

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

public float X;

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

public float Y;

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

public double Height;

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

public double Width;

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

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с.

Показать весь текст
Заполнить форму текущей работой