Таким образом, есть много ресурсов, которые вы можете найти через Google или с помощью поиска здесь о том, как процедурно создать целую галактику. Но я не смог найти хорошего ресурса о том, как создавать планетные системы, которые соответствуют этим критериям:
Системы не должны быть точным моделированием орбит, но должны быть близки к вероятным орбитам. Меня не волнует какая-либо симуляция, которая заботится о том, как система может выглядеть через 200 тыс. Лет, орбиты могут быть твердыми. Основная проблема, с которой я сталкиваюсь, заключается в том, как случайным образом создать систему, которая может рассматриваться как правдоподобная. Это становится особенно интересным, когда у вас есть система с двойной звездой.
Простое случайное создание орбит не составит правдоподобной системы, в результате вы получите явно не работающие орбиты. Да, я знаю о проблеме N-тела :), но это не помогает мне, по крайней мере, мне так кажется, решить проблему создания правдоподобной процедурной системы?
Я думаю, что вы могли бы просто случайным образом порождать планеты на их орбите и давать им массу, а затем использовать математику N-тела, чтобы вычислить, являются ли они более или менее действительными, если не начинать сначала, и случайным образом генерировать новые орбиты, пока не получите что-то, что соответствует , но это было бы очень неэффективно.
источник
Ответы:
Чтобы создать правдоподобную солнечную систему, убедитесь, что каждая орбита находится в сфере влияния родительского тела, но не в пределах сферы холма или предела Рош другого тела.
Сфера влияния максимальный радиус вокруг планеты , где можно ожидать стабильные спутники.
Предел Роше минимальный радиус орбиты небесного тела один может иметь вокруг другого. Когда он находится на более низкой орбите, он разрывается и становится кольцом.
Холм сфера актуальна , если вы хотите , чтобы предотвратить создание двух спутников вокруг того же тела , которые имеют очень близкие орбиты. Это интервал между минимальным и максимальным радиусом орбиты, который «занимает» планета.
Все три значения можно рассчитать по массе и радиусу орбиты с помощью формул в связанных статьях Википедии.
Поэтому я бы попробовал следующий алгоритм:
Это относится к однозвездным системам, но не к двойным звездным системам . Двойная звездная система имеет две звезды, которые вращаются вокруг общего барицентра. Планеты могут вращаться либо по одной из звезд (орбита S-типа), либо по общему барицентру на очень широкой орбите (орбита P-типа).
Если вам нужна двойная звездная система, я бы рекомендовал сначала создать вторую звезду в качестве другого спутника вокруг основной звезды. Все, что находится в сфере холмов второй звезды, вращается вокруг второй звезды, а все, что имеет радиус меньше сферы холмов второй звезды, вращается вокруг первой звезды. Рассчитайте барицентр и сделайте так, чтобы обе звезды вращались по орбите. Все, что имеет больший обиток, чем сфера холма, вращается вокруг барицентра двух звезд (орбита P-типа).
Тройные и более крупные n-арные звездные системы стабильны только тогда, когда звезды за 2-ой звездой очень малы по сравнению с другими. Эти дополнительные звезды должны обрабатываться так же, как любая другая планета.
источник
The square of the orbital period of a planet is directly proportional to the cube of the semi-major axis of its orbit.
Упростите до физики с 2 телами. Физика N-тела в целом хаотична, и вы не можете смоделировать их на устойчивой орбите.
Одиночные звезды
Для систем с одной звездой я бы проигнорировал проблему N-тела и просто сделал бы набор планет, грубо распределенных на геометрически увеличивающемся расстоянии от Солнца . Возможно, у вас могло бы быть правило, что, если генерируется особенно большая Планета, любые соседи, которые находятся слишком близко, дестабилизируются и образуют пояс астероидов .
Планеты, близкие к звезде, не обязательно являются каменистыми, как в нашей Солнечной системе .
Масса, расстояние и орбитальная скорость планеты взаимосвязаны - когда вы случайным образом выбираете значения, сделайте одно из них (возможно, орбитальную скорость) зависимым от двух других.
Двойные звезды
Я действительно ничего не знал о обитаемых двойных звездах до того, как проверил Википедию на этот ответ, так что читайте о Habitability_of_binary_star_systems, где я получил некоторые из этих чисел.
На не полукруглых планетах (планета вращается только вокруг одной звезды в двойной системе), если расстояние планеты до ее первичной точки превышает примерно одну пятую от ближайшего сближения другой звезды, стабильность орбиты не гарантируется. Это означает, что если звезды A и B образуют двойную систему с расстоянием AB , вы можете иметь стабильные планетарные орбиты вокруг либо A, либо B на расстояниях, близких к 0,2 * AB . Для этих систем я бы снова использовал физику двух тел в качестве приближения.
В околоземных системах, пока планета находится в 2-4 раза дальше от бинарной пары, чем они друг от друга, вы снова можете рассматривать это как проблему двух тел, когда планета вращается вокруг центра масс двух. звезды
Вы также можете иметь планеты, вращающиеся вокруг точек Лагранжа L4 и L5 двойной системы . Я только видел обсуждение этого в научной фантастике - я думаю, что только тела размером с астероид, как известно, занимают точки Лагранжа планет в нашей солнечной системе, хотя они могут быть полезны для космических кораблей. Технически, одна из звезд должна быть значительно больше другой, чтобы эти точки были стабильными , но вам решать , насколько вы хотите, чтобы реальная физика помешала вашей игровой настройке.
источник
Это длинный комментарий, дополняющий существующие ответы.
При наличии достаточного количества времени планетная система становится в основном планарной. Вы также можете упростить симуляцию, установив ее плоской с самого начала. Тогда вы можете сделать все остальное с помощью уравнения Бине , по крайней мере, если вы используете упрощение из двух тел, предложенное Джимми. Если вы пренебрегаете общей теорией относительности, решение является аналитическим; если вы этого не сделаете, вам понадобится что-то вроде Рунге-Кутта.
источник