Зарегистрирован: 29.07.2009 Сообщения: 136 Откуда: Солнечная система
Добавлено: 29 Июл 2009 [14:34] Заголовок сообщения: Программа для моделирования гравитационных систем
Привет всем!
Предлагаю к использованию небольшую програмку для моделирования различных ситуаций из гравитационной жизни
А так же солнечных систем и прочего.
В программе пока, что не отрабатывается столкновение планет - будет в будущих версиях.
В архиве находится сама программа, краткое описание и файлы настроек, включающие два примера работы.
Первый - (файл world.xml) просто мир, из четырех массивных тел, которые своим взаимным притяжением двигаются по интересным траекториям.
Второй - (Файл sunsys.xml) модель Солнечной системы, до Юпитера. Особо интересно вращение Луны вокруг Земли. По векторам ускорений видно, что Солнце притягивает Луну намного сильнее чем Земля, но Луна вращается вокруг земли по круговой орбите!
Для наглядности размеры планет увеличены в 100 раз, поэтому Луна получилась под поверхностью Земли
Для выбора второго примера используйте файл init.xml, поле world, надо вместо world.xml написать sunsys.xml и все!
Опираясь на описание и примеры, можете смоделировать свою систему, а можете наполнить солнечную всеми планетами, их спутниками астероидами и даже кометами! Главное правильно выставить начальные позиции и скорости.
В файле sunsys.xml есть один злой объект . Называется Bad. Он убран из мира по умолчанию. Но его можно вернуть. Для этого найдите в файле секцию <type>Planet-no</type> и замените на <type>Planet</type>!
На границе системы появится объект массой, почти с Солнце, который по истечении 50 лет (по меркам модели мира ) своей гравитацией разломает систему. Но вы не бойтесь, Земля по прежнему будет вращаться вокруг Солнца, хотя и по немного вытянутой орбите. Луна к Земле окажется чуть ближе
Скачать программу (не бойтесь, не вирус )
(Файл скачать, переименовать в RAR и распаковать. Это неудобство из за проблем на сервере. Проблему исправят, сделаю по человечески)
Синие линии - векторы скоростей
Красные - векторы ускорений.
Разноцветные окружности - по цветам планет, это уже пройденные траектории.
Солнце в центре!
[img]http://galspace.spb.ru/phpBB2/download/file.php?id=260[/img]
Последний раз редактировалось: Прогер (13 Янв 2010 [10:29]), всего редактировалось 4 раз(а)
Прогер, разработка своей собственной программы конечно похвально, но аналогичные программы уже можно найти на различных ресурсах, мне например очень нравиться Celestia.
Celestia - программа, которая симулирует небесные тела нашей солнечной системы в 3D-режиме и реальном времени, позволяя наблюдать, преследовать и контролировать планеты, спутники и космические станции во время их движения в космосе. Программа выполнена на высоком профессиональном уровне и предназначена для людей, изучающих или интересующихся астрономией. Красивейшая реалистичная графика создает полный эффект присутствия в космическом корабле.
Это программа не только для нашей солнечной системы! Её можно, применить для астрономических наблюдений, но это не её главное назначение. Да, Селеста, и красива и имеет большую базу, выделенный сервер, но попробуйте на ней запустить в солнечную систему какое нибудь массивное тело, чтобы посмотреть как это повлияет на траектории движения. Вряд ли у вас это получится. Она "симулирует", а не моделирует.
Аналоги такой программы, действительно есть, но они либо очень дорогие, либо несостоятельные.
Красивая графика - приоритет коммерческих продуктов, для научной разработки - приоритетом является точность вычислений.
В этой программе, точность двоичных чисел - теоретически (по языку) не ограничена. Но чем выше точность, тем медленнее идет расчет, тем менее наглядно в движении. В представленном варианте - оптимальное соотношение наглядность/точность.
Да прога занятная, но хотелось бы графику получше, плюс нормальное управления
За основу можно взять графику Лунар Орбитер, можно упрощеную без текстур например, кстати этот проект то же фриваре.
Прогер, а вы можете написать программу визуального и числового моделирования старта ракеты с земли и вывода на орбиту.?
Грубо говоря нужна программка для расчета траектории полета ракеты...
Такая что бы учитывала как можно больше параметров и сопротивление атмосферы и гравитационные потери и разделения ступений...
Что то типа общеизвестной launche model для Exel только в виде отдельной проги с более простым и удобным интерфейсом.
Понимаете вот например как найти оптимальную траекторию для ракеты. Ракета должна подняться на высоту орбиты и развить орбитальную скорость. Причем чем дольше работает двигатель тем больше гравитационные потери. Чем выше скорость в атмосфере, тем больше аэродинамические потери. Причем зависимость кубическая.
Но есть еще понятие синергетической траектории, то есть направления тяги двигателя должно быть как можно более однонаправленно с вектором скорости ракеты.
То есть например взлетая вверх, мы теряем на неоптимальности траектории, потом надо повернуть на 90 градусов или больше в сторону, но быстрее преодолеваем плотные слои атмосферы и меньше теряем на аэродинамических потерях.
В то же время выгоднее иметь максимальное ускорение, но невыгодно быстро лететь в плотной атмосфере.
Вот все это надо совместить в поиске оптимальной траектории для конкретной ракеты. А например для небольших ракет отношение поперечной площади к массе ракеты гораздо хуже чем у больших, что ведет в большим аэродинимическим потерям...
Есть вариант взлетать медленно пока не покинешь атмосферу, но тут имеем гравитационные потери.
Ручкой на бумажке очень неудобно это все рисовать, хотелось бы иметь прогу в которой можно менять параметры и смотреть что получается....С графиками изменения скорости, тяги, сопротивления, высоты и тому подобного....
Если вам срочно, то проще заюзать эксель
Если наличие программы требуется в принципе, то думаю, неплохой тест будет для математического движка, который я сейчас делаю для астрофизических расчетов. Когда точность вещественных чисел, задается пользователем, типа, вам мало точности 500 знаков после запятой, задайте больше, 15000 или 50000 например
Добавлено: 11 Апр 2013 [15:08] Заголовок сообщения: Мне эта тема интересна
Мне эта тема интересна и модель интересна, тем, что у меня есть несколько своих планов моделирования солнечной системы.
Вообще я программист и мог бы поучаствовать в создании проекта.
Главным образом кроме модели движения, мне важны даты и время. Как бы точный отсчёт от даты и от местоположение на эту дату.
Цель - снятие положения в разные интервалы времени, перерасчёт взаимного влияния и вывод результатов расчёта в файл. В общем визуальная сторона не важна, интересно только, что бы убедится в отсутствии ошибки.
Я вижу какие то настройки запланированы, но их мало. Может быть есть новая версия, которая с тех пор уже намного более продвинута.
В общем то, в отсутствии или невозможности подключится и доделать эту программу, я начну делать сам, свою. Мне для этого надо найти где описаны модели движения планет солнечной системы и я всё сделаю. Я не астроном - я программист со стажем.
Программа использует очень точную систему расчёта траекторий VSOP87, благодаря чему можно легко увидеть определённые солнечные и лунные затмения, и отображать орбиты планет (в том числе и экзопланет), их спутников, астероидов, комет и космических аппаратов.
С открытым кодом, пользуйтесь, помогайте в её развитии!
Селестия совсем не годится для моделирования движения гравитационых объектов. Мне больше нравится, например Halley, прога для расчёта движения комет, там используется относительно точная модель, но всё же не без погрешностей. Топикстартере прога вроде как точная, но написана как то не очень, нету интерфейса нормального, да и модель типа как условная.
Зарегистрирован: 29.07.2009 Сообщения: 136 Откуда: Солнечная система
Добавлено: 16 Июн 2013 [11:53] Заголовок сообщения: Re: Мне эта тема интересна
Alexn писал(а):
Цель - снятие положения в разные интервалы времени, перерасчёт взаимного влияния и вывод результатов расчёта в файл. В общем визуальная сторона не важна,
Добрый день Алекс,
извиняюсь что давно не писал - давно не был на форуме. (к сожалению)
В вашей постановке задача сильно облегчается,
К слову визуализация системы у меня заняла 90% времени.
В вашей постановке можно написать даже на ява скрипте программу, которая будет расчитывать задачу по исходным данным и результаты, даже промежуточные выводить на экран.
Сложность вся в точности вычислений. Потому что точности стандартных компьютерных чисел явно недостаточно для расчета планетарных положений в далекой перспективе.
(Поэтому я и писал мегакалькулятор - это приложение к мегаматематической библитеке)
Но и это реально.
Если Вас интересуют детали написания такой программы могу поделиться опытом.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах