Процедурная генерация полукорректных планетных систем

14

Таким образом, есть много ресурсов, которые вы можете найти через Google или с помощью поиска здесь о том, как процедурно создать целую галактику. Но я не смог найти хорошего ресурса о том, как создавать планетные системы, которые соответствуют этим критериям:

Системы не должны быть точным моделированием орбит, но должны быть близки к вероятным орбитам. Меня не волнует какая-либо симуляция, которая заботится о том, как система может выглядеть через 200 тыс. Лет, орбиты могут быть твердыми. Основная проблема, с которой я сталкиваюсь, заключается в том, как случайным образом создать систему, которая может рассматриваться как правдоподобная. Это становится особенно интересным, когда у вас есть система с двойной звездой.

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

Я думаю, что вы могли бы просто случайным образом порождать планеты на их орбите и давать им массу, а затем использовать математику N-тела, чтобы вычислить, являются ли они более или менее действительными, если не начинать сначала, и случайным образом генерировать новые орбиты, пока не получите что-то, что соответствует , но это было бы очень неэффективно.

Burzum
источник
Вы можете сначала сгенерировать массу или, возможно, даже плотность и диаметр (это может произойти случайным образом в определенных пределах), а затем рассчитать необходимый радиус орбиты и скорость на основе некоторой формулы. Если на этом радиусе орбиты уже есть планета, просто сгенерируйте снова. Это должно значительно сократить избыточные поколения и выглядеть достаточно разумно, особенно если вы немного наклоните орбиты случайным образом. Однако это не учитывает межпланетное гравитационное взаимодействие, но, если вы запросите довольно простое представление, этого может быть достаточно.
cozmic
4
Чтобы ответить на этот вопрос, вам нужно быть астрономом, а не разработчиком игры. Это может быть больше вопрос для астрономии.
Филипп
Создайте набор правил, чтобы планета была жизнеспособной. Создайте набор правил, чтобы набор планет был жизнеспособным. Сверьтесь с этими правилами. Выполнено.
Mast
Это не совсем отвечает на ваш вопрос, но вы можете найти мою работу полезной: quotientring.com В наборе
MackTuesday

Ответы:

11

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

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

Предел Роше минимальный радиус орбиты небесного тела один может иметь вокруг другого. Когда он находится на более низкой орбите, он разрывается и становится кольцом.

Холм сфера актуальна , если вы хотите , чтобы предотвратить создание двух спутников вокруг того же тела , которые имеют очень близкие орбиты. Это интервал между минимальным и максимальным радиусом орбиты, который «занимает» планета.

Все три значения можно рассчитать по массе и радиусу орбиты с помощью формул в связанных статьях Википедии.

Поэтому я бы попробовал следующий алгоритм:

  1. Создайте случайное количество небесных тел со случайным радиусом орбиты и массой. Радиус и масса должны быть в логарифмическом масштабе.
  2. Начиная от самого маленького до массивного, вычислите сферу холмов каждой планеты. Любая менее массивная планета в сфере холмов более массивной планеты становится луной этой планеты. Произвольно генерировать орбитальный радиус Луны вокруг родителя с логарифмическим распределением между 0 и сферой влияния родителя.
  3. Выполните шаг 2 для всех лунных систем, чтобы разрешить конфликты лун в сфере холмов. Вопрос о том, может ли луна иметь стабильный спутник, является предметом споров среди астрономического сообщества (в нашей солнечной системе не известно ни одного примера). Если вам не нужны лунные луны, просто удалите меньшую луну или поместите ее на другую случайную орбиту.
  4. Проверьте предел Рош каждого объекта вокруг его родителя. Когда он окажется ниже предела Роша, преобразуйте его в кольцо (или просто удалите).

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

Если вам нужна двойная звездная система, я бы рекомендовал сначала создать вторую звезду в качестве другого спутника вокруг основной звезды. Все, что находится в сфере холмов второй звезды, вращается вокруг второй звезды, а все, что имеет радиус меньше сферы холмов второй звезды, вращается вокруг первой звезды. Рассчитайте барицентр и сделайте так, чтобы обе звезды вращались по орбите. Все, что имеет больший обиток, чем сфера холма, вращается вокруг барицентра двух звезд (орбита P-типа).

Тройные и более крупные n-арные звездные системы стабильны только тогда, когда звезды за 2-ой звездой очень малы по сравнению с другими. Эти дополнительные звезды должны обрабатываться так же, как любая другая планета.

Philipp
источник
Я просто добавлю к этому ответу третий закон движения планет КеплераThe square of the orbital period of a planet is directly proportional to the cube of the semi-major axis of its orbit.
Draco18s больше не доверяет SE
15

Упростите до физики с 2 телами. Физика N-тела в целом хаотична, и вы не можете смоделировать их на устойчивой орбите.

Одиночные звезды

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

Планеты, близкие к звезде, не обязательно являются каменистыми, как в нашей Солнечной системе .

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

Двойные звезды

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

  1. На не полукруглых планетах (планета вращается только вокруг одной звезды в двойной системе), если расстояние планеты до ее первичной точки превышает примерно одну пятую от ближайшего сближения другой звезды, стабильность орбиты не гарантируется. Это означает, что если звезды A и B образуют двойную систему с расстоянием AB , вы можете иметь стабильные планетарные орбиты вокруг либо A, либо B на расстояниях, близких к 0,2 * AB . Для этих систем я бы снова использовал физику двух тел в качестве приближения.

  2. В околоземных системах, пока планета находится в 2-4 раза дальше от бинарной пары, чем они друг от друга, вы снова можете рассматривать это как проблему двух тел, когда планета вращается вокруг центра масс двух. звезды

  3. Вы также можете иметь планеты, вращающиеся вокруг точек Лагранжа L4 и L5 двойной системы . Я только видел обсуждение этого в научной фантастике - я думаю, что только тела размером с астероид, как известно, занимают точки Лагранжа планет в нашей солнечной системе, хотя они могут быть полезны для космических кораблей. Технически, одна из звезд должна быть значительно больше другой, чтобы эти точки были стабильными , но вам решать , насколько вы хотите, чтобы реальная физика помешала вашей игровой настройке.

Джимми
источник
1
Системы трех тел были известны периодические решения , которые могут быть жёстко прописанные и выбраны случайно en.wikipedia.org/wiki/Three-body_problem#Periodic_solutions
Nakilon
1
@Nakilon Вопрос задавался о вероятных планетных звездных системах. Любое из известных решений проблемы 3 тел с пренебрежимо малыми массами практически невозможно найти естественным путем. Они, однако, могут возникнуть в игре с участием достаточно продвинутых иностранцев , которые хотели бы сделать астроинженерные сооружения .
Филипп
0

Это длинный комментарий, дополняющий существующие ответы.

При наличии достаточного количества времени планетная система становится в основном планарной. Вы также можете упростить симуляцию, установив ее плоской с самого начала. Тогда вы можете сделать все остальное с помощью уравнения Бине , по крайней мере, если вы используете упрощение из двух тел, предложенное Джимми. Если вы пренебрегаете общей теорией относительности, решение является аналитическим; если вы этого не сделаете, вам понадобится что-то вроде Рунге-Кутта.

JG
источник