Процесуальне генерування напівправильних планетних систем


14

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

Системи не повинні бути точними моделювання орбіт, але повинні бути близькими до правдоподібних орбіт. Мене не хвилює будь-яке моделювання, яке піклується про те, як система може виглядати за 200 тис. Років, орбіти можуть бути твердими. Основна проблема, з якою я стикаюся, полягає в тому, як випадково генерувати систему, яку можна вважати правдоподібною. Це стає особливо цікавим, коли у вас є система з бінарною зіркою.

Просто випадкове створення орбіт не складе правдоподібної системи, у вас виявиться неробочі орбіти. Так, я знаю про проблему з N-тілом :), але це мені не допомагає, принаймні я так думаю, вирішити проблему створення правдоподібної системної процедури?

Я думаю, ви могли просто випадковим чином нерестувати планети на орбіті і дати їм масу, а потім використовувати математику N-тіла, щоб розрахувати, чи є вони більш-менш справедливими, якщо не почати спочатку і випадково генерувати нові орбіти, поки не отримаєте щось, що відповідає , але це було б дуже неефективно.


Ви можете спершу створити масу або, можливо, навіть щільність і діаметр (це може статися випадковим чином у певних межах), а потім обчислити необхідний радіус орбіти та швидкості на основі якоїсь формули. Якщо на цьому радіусі орбіти вже є планета, просто генеруйте знову. Це повинно сильно скоротити надлишкові покоління, і це повинно виглядати досить розумно, тим більше, якщо ви випадково трохи нахилите орбіти. Однак це не враховуватиме міжпланетну гравітаційну взаємодію, але, якщо ви вимагаєте досить базового зображення, це може бути достатньо.
cozmic

4
Для того, щоб відповісти на це питання, вам потрібно бути астрономом, а не розробником ігор. Це може бути більше питання для астрономії.SE.
Філіп

Створіть набір правил для життєздатності планети. Створіть набір правил, щоб набір планет був життєздатним. Перевірте ці правила. Зроблено.
Щогли

Це не точно відповідає вашому запитанню, але ви можете виявити мою роботу корисною: quotientring.com У наборі правил Cosmos-2 є кілька відповідей: alternityrpg.net/resources/1375/original/cosmos-2.pdf
MackTuesday

Відповіді:


11

Для того, щоб створити правдоподібну сонячну систему, переконайтесь, що кожна орбіта знаходиться в сфері впливу материнського тіла, але не в межах сфери пагорба або в межах границі іншого тіла.

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

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

Сфера пагорба є актуальною, коли ви хочете не допустити створення двох супутників навколо одного корпусу, які мають дуже близькі орбіти. Це діапазон між мінімальним і максимальним радіусом орбіти, яку планета "займає".

Усі три значення можна обчислити з масиву та орбітального радіуса за допомогою формул у пов'язаних статтях Вікіпедії.

Тоді я б спробував такий алгоритм:

  1. Створіть випадкову кількість небесних тіл із випадковим орбітальним радіусом і масою. Радіус і маса повинні бути в логарифмічному масштабі.
  2. Починаючи від більшості до найменш масивної, обчисліть сферу пагорбів кожної планети. Будь-яка менш масивна планета у сфері пагорбів більш масивної планети стає місяцем цієї планети. Випадково генерують орбітальний радіус Місяця навколо батька з логарифмічним розподілом між 0 і сферою впливу батьків.
  3. Виконайте крок 2 для всіх систем Місяця, щоб вирішити конфлікти супутників лун. Чи може Місяць мати стабільний супутник - це питання дискусій серед астрономічної спільноти (в нашій Сонячній системі не відомий приклад). Якщо вам не потрібні місячні місяці, просто видаліть менший місяць або поставте його на іншу випадкову орбіту.
  4. Перевірте обмеження Roche кожного об'єкта навколо його батька. Коли вона знаходиться нижче межі roche, перетворіть її на кільце (або просто видаліть).

Це стосується однозіркових систем, але не двійкових зіркових систем . Двійкова система зірок має дві зірки, які обертаються навколо загального барицентру. Планети можуть орбітувати одну із зірок (орбіту типу 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.
Draco18s більше не довіряє SE

15

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

Одиничні зірки

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

Планети, близькі до зірки, не обов'язково скелясті, як це відбувається у нашій Сонячній системі .

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

Бінарні зірки

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

  1. У нециркуляторних планетах (планета орбітує лише одну зірку у двійковій системі), якщо відстань планети до її первинної частини перевищує приблизно одну п’ятість найближчого наближення до іншої зірки, стабільність орбіти не гарантується. Це означає, що якщо зірки A і B утворюють двійкову систему з відстанню AB , ви можете мати стабільні планетарні орбіти навколо A або B на відстані, більші ніж 0,2 * AB . Для цих систем я б знову використовував фізику 2-х тіл як наближення.

  2. У циркулярних системах, поки планета знаходиться в 2–4 рази далі від бінарної пари, оскільки вони знаходяться одна від одної, ви знову можете трактувати це як проблему з двома тілами, коли планета орбітує навколо центру маси двох зірок

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


1
Системи з трьома тілами мають відомі періодичні рішення, які можна жорстко кодувати та вибирати випадковим чином en.wikipedia.org/wiki/Three-body_problem#Periodic_solutions
Nakilon

1
@Nakilon Тим не менш, питання стосувалося правдоподібних планетних систем зірок. Будь-який з відомих рішень проблеми 3 тіла з незначними масами практично неможливо природним шляхом. Однак вони можуть траплятися в грі, де представлені досить розвинені прибульці, які люблять займатися астроінженерією .
Філіпп

0

Це довгий коментар для доповнення існуючих відповідей.

Враховуючи достатньо часу, планетарна система стає переважно планарною. Ви можете також спростити своє моделювання, встановивши його з самого початку плановим. Тоді ви можете виконати решта за допомогою рівняння Біне , принаймні, якщо ви використовуєте 2-корпусне спрощення, запропоноване Джиммі. Якщо знехтувати загальною відносністю, рішення є аналітичним; якщо ви цього не зробите, вам знадобиться щось на кшталт Runge-Kutta.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.