Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
1 / 1 / 0
Регистрация: 12.09.2011
Сообщений: 17

траектория спутника С++ .

02.05.2012, 15:26. Показов 3868. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вопрос к тем кто помнит физику
пытаюсь написать функцию апроксимированной 2D траэктории спутника вокруг земли(точка 0,0)
так как не хочу возится с полярными координатами то класическую формулу

ma =-G((Mm)/(|r|^3))r

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



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void Calc(double &X, double &Y,double &Xold, double &Yold,double &SpeedX,double &SpeedY)
{     
//масса земли умноженная на гравитационную постоянную
    const long long Kearth =667384000000000; 
 
    Xold =X;
    Yold =Y;
    long long Rx =X/0.031392; //  0.031392 - отношения маштабирования Земли (пиксели/км)
    long long Ry =Y/0.031392;
    long long absR = sqrt(Rx*Rx+Ry*Ry);
    SpeedX+=(-Kearth)/(absR*absR*absR)*Rx*(TIMER/1000);
    SpeedY+=(-Kearth)/(absR*absR*absR)*Ry*(TIMER/1000);
    Rx+=SpeedX;
    Ry+=SpeedY;
    X=Rx*0.031392;
    Y=Ry*0.031392;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.05.2012, 15:26
Ответы с готовыми решениями:

Пространственная траектория движения спутника
Уважаемые программисты, я понимаю, что тема для Вас не нова, но я облазил данный форум и ряд других, но так и не нашёл ответа на мой...

Программирование графики: траектория движения спутника вокруг планеты
Добрый день! Очень нужна помощь с задачей. Visual C++. Есть дифференциальное уравнение движения(фото), нужно построить, как вокруг...

Преимущество спутника
Всем доброго времени суток! Будьте добры! Можете пояснить? Если конечно не сложно. В чем преимущество спутника, имеющего наклонную...

3
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
03.05.2012, 09:42
Arderun, друг
Цитата Сообщение от Arderun Посмотреть сообщение
то класическую формулу
ma =-G((Mm)/(|r|^3))r
- это формула в векторном виде, если ты не приплёл Кеплера то формула описывает круговую траекторию.
Вот и вся физика
https://www.cyberforum.ru/cgi-bin/latex.cgi?G*\frac{M*m}{{r}^{2}} = m*\frac{{v}^{2}}{r}
Cправа в данном равенстве это Центростремительная сила
Вот тут можешь посмотреть мой велосипедик : как летает луна вокруг Земли(анимашка в АПИ)
Моделирование колебаний с затуханием на С++

Добавлено через 4 минуты
Мой совет введи угловую скорость вращения, то что у тебя сейчас меня повергает в уныние, на кой чёрт разлагать скорость на компоненты если есть угловая скорость зная которую и время можно однозначно установить координаты точки
радиус конcтантен w*t = даст угол поворота,
X = R*cos(w*t)
Y = R*sin(w*t)
0
1 / 1 / 0
Регистрация: 12.09.2011
Сообщений: 17
03.05.2012, 16:52  [ТС]
угловая скорость не предусмотренная задачей. саму функцию я дописал. работает нормально, но только выдает всегда круги. по сути выходит круг с радиусом суммы вектора радиуса от спутника до земли и длины пути за дельту времени по направлению вектора скорости и только на скоростях меньше первой космической благополучно шлепается на землю.



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#define EarthR 150  // радиус земли на экране в пикселях. Можно менять связь с размерами в функции сохраниться
#define TIME 10 //дельта времени для расчетов
const double RealKoef= (double)EarthR/6371; // коефициент маштабированния
const double Kearth =398600.448; // км3/сек2. масса земли умноженная на гравитационную постоянную и разделенная на количество секунд в часе
 
 
void Calc(double &X, double &Y,double &SpeedX,double &SpeedY)
{
    double Rx =X/RealKoef; //км. координата Х вектора R
    double Ry =Y/RealKoef; //км. координата Y вектора R
    double absR = pow((X*X+Y*Y),0.5)/RealKoef; //км. модуль вектора R
    SpeedX+=(-Kearth/(absR*absR*absR))*TIME*Rx;  //км/с. прирощение на дельту времени вектора скорости по координате X
    SpeedY+=(-Kearth/(absR*absR*absR))*TIME*Ry;  //км/с. прирощение на дельту времени вектора скорости по координате Y
    Rx+=(SpeedX)*(TIME); //км. сумирование вектора  радиуса с вектором скорости по координате Х
    Ry+=(SpeedY)*(TIME);//км. сумирование вектора  радиуса с вектором скорости по координате Y
    X=Rx*RealKoef;//0.031392;//пиксели. возврат к пиксельным координатам 
    Y=Ry*RealKoef;//пиксели
}
0
03.05.2012, 16:59

Не по теме:

Цитата Сообщение от Arderun Посмотреть сообщение
угловая скорость не предусмотренная задачей.
- любое круговое движение предусматривает угловую скорость нормальное и касательное ускорение и т.д. w = v/R и всё. Городить вот такой огород в такой простой задаче я не стал бы...

Цитата Сообщение от Arderun Посмотреть сообщение
. саму функцию я дописал. работает нормально, но только выдает всегда круги.
- ну работает что то выводит, можно считать что норм

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.05.2012, 16:59
Помогаю со студенческими работами здесь

Координаты спутника по GPS
Здарова, мужики. Есть спутник(АИСТ 2Д), есть координаты его центра масс, полученные с помощью GPS. Вопросы такие: 1. С какой точностью...

Счетчик координат спутника
Доброго времени суток форумчане)) помогите разобраться!!! в приложении симуулинковский файл, который вычисляет координаты спутника. ...

Программа полёта спутника
Помогите составить программу, иллюстрирующую полет спутника по эллиптической орбите в зависимости от параметров орбиты. Для математической...

Построить траекторию спутника на JS
Здравствуйте! У меня есть задание, показать на своем сайте движение спутника по траектории на карте, как это можно реализовать на JS?...

Расстояние от ПЗССС до спутника
Добрый день! Подскажите как вычислить расстояние от антенны ПЗССС, зная координаты расположения антенны на земле, до конкретного ИСЗ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru