Generazione procedurale di sistemi planetari semi-corretti


14

Quindi ci sono molte risorse che puoi trovare tramite Google o usando la ricerca qui su come generare una intera galassia procedurale. Ma non sono riuscito a trovare alcuna buona risorsa su come generare sistemi planetari che seguono questi criteri:

I sistemi non devono essere simulazioni accurate delle orbite ma dovrebbero essere vicini a orbite plausibili. Non mi interessa alcuna simulazione che si preoccupi di come potrebbe apparire il sistema in 200k anni, le orbite potrebbero essere solide. Il problema principale che sto affrontando è come generare casualmente un sistema che potrebbe essere visto come plausibile. Questo diventa particolarmente interessante quando hai un sistema con una stella binaria.

Solo la creazione casuale di orbite non costituisce un sistema plausibile, finirai con orbite ovviamente non funzionanti. Sì, sono a conoscenza del problema dell'N-body :) ma questo non mi aiuta, almeno credo, a risolvere il problema di generare un sistema plausibile procedurale?

Penso che potresti semplicemente generare casualmente pianeti sulla loro orbita e dare loro una massa e quindi usare la matematica N-body per calcolare se sono più o meno validi, se non ricominciare da capo e generare casualmente nuove orbite finché non ottieni qualcosa che corrisponde , ma questo sarebbe molto inefficiente.


Potresti generare prima una massa o forse anche una densità e un diametro (ciò potrebbe accadere casualmente entro certi limiti) e quindi calcolare il raggio di orbita e la velocità necessari in base a una formula. Se esiste già un pianeta in questo raggio di orbita, generalo di nuovo. Ciò dovrebbe ridurre molto le generazioni ridondanti e dovrebbe apparire piuttosto ragionevole, tanto più se inclini un po 'a caso le orbite. Questo non spiegherà l'interazione interplanetaria gravitazionale, tuttavia, ma visto che richiedi una rappresentazione abbastanza semplice potrebbe essere sufficiente.
cozmic

4
Per rispondere a questa domanda, devi essere un astronomo, non uno sviluppatore di giochi. Potrebbe essere più una domanda per astronomy.SE.
Philipp,

Crea un insieme di regole affinché un pianeta sia praticabile. Crea un insieme di regole per rendere possibile un insieme di pianeti. Controlla contro quelle regole. Fatto.
Albero

Questo non risponde esattamente alla tua domanda, ma potresti trovare utile il mio lavoro: quotientring.com Ci sono alcune risposte nel
MackTuesday

Risposte:


11

Per creare un sistema solare plausibile, assicurati che ogni orbita sia all'interno della sfera di influenza del corpo genitore, ma non all'interno della sfera collinare o del limite di roche di un altro corpo.

La sfera di influenza è il raggio massimo attorno a un pianeta dove ci si può aspettare satelliti stabili.

Il limite di roche è il raggio orbitale minimo che un corpo celeste può avere attorno a un altro. Quando si trova su un'orbita inferiore, si rompe e diventa un anello.

La sfera della collina è rilevante quando si desidera impedire la creazione di due satelliti attorno allo stesso corpo che hanno orbite molto vicine. È l'intervallo tra il raggio orbitale minimo e massimo che un pianeta "occupa".

Tutti e tre i valori possono essere calcolati dal raggio di massa e orbitale con le formule negli articoli di Wikipedia collegati.

Quindi vorrei provare il seguente algoritmo:

  1. Crea un numero casuale di corpi celesti con un raggio e una massa orbitali casuali. Raggio e massa dovrebbero essere su scala logaritmica.
  2. A partire dal più massiccio al meno massiccio, calcola la sfera collinare di ogni pianeta. Qualsiasi pianeta meno massiccio nella sfera collinare di un pianeta più massiccio diventa una luna di quel pianeta. Genera in modo casuale il raggio orbitale della luna attorno al genitore con una distribuzione logaritmica tra 0 e la sfera di influenza del genitore.
  3. Esegui il passaggio 2 per tutti i sistemi lunari per risolvere i conflitti di lune tra le sfere. Se una luna può avere un satellite stabile è una questione di dibattito tra la comunità astronomica (nessun esempio è noto nel nostro sistema solare). Quando non vuoi alcuna luna lunare, elimina semplicemente la luna più piccola o mettila su un'orbita casuale diversa.
  4. Controlla il limite di Roche di ogni oggetto attorno al suo genitore. Quando è al di sotto del limite di roche, convertilo in un anello (o semplicemente eliminalo).

Questo riguarda i sistemi a stella singola, ma non i sistemi binari a stella . Un sistema stellare binario ha due stelle che orbitano attorno a un baricentro comune. I pianeti possono orbitare una delle stelle (orbita di tipo S) o il baricentro comune su un'orbita molto ampia (orbita di tipo P).

Se vuoi un sistema binario a stella, consiglierei di generare inizialmente la seconda stella come un altro satellite attorno alla stella primaria. Qualunque cosa nella sfera collinare della seconda stella orbita attorno alla seconda stella e qualsiasi cosa con un raggio più piccolo della sfera collinare della seconda stella orbita attorno alla prima stella. Calcola il baricentro e metti in orbita entrambe le stelle. Qualunque cosa con un obito più grande della sfera collinare orbita attorno al baricentro delle due stelle (orbita di tipo P).

I sistemi stellari trinitari e più grandi sono stabili solo quando le stelle oltre la seconda sono molto piccole rispetto alle altre. Queste stelle aggiuntive dovrebbero essere gestite come qualsiasi altro pianeta.


Aggiungerò solo la terza legge del movimento planetario di Keplero a questa risposta,The square of the orbital period of a planet is directly proportional to the cube of the semi-major axis of its orbit.
Draco18s non si fida più di SE

15

Semplifica la fisica a 2 corpi. La fisica del corpo a N è generalmente caotica e non è possibile simularla in un'orbita stabile.

Stelle singole

Per i sistemi con una sola stella, ignorerei il problema del N-corpo e farei semplicemente un insieme di pianeti distribuiti approssimativamente in una distanza geometricamente crescente dal sole . Forse potresti avere una regola secondo cui se viene generato un Pianeta particolarmente grande, tutti i vicini troppo vicini si destabilizzano e formano una cintura di asteroidi .

I pianeti vicini alla stella non sono necessariamente rocciosi come nel nostro sistema solare .

La massa, la distanza e la velocità orbitale di un pianeta sono interconnesse : quando scegli casualmente i valori, fai in modo che uno di questi (probabilmente la velocità orbitale) dipenda dagli altri due.

Stelle binarie

Non sapevo davvero nulla delle stelle binarie abitabili prima di controllare Wikipedia per questa risposta, quindi leggi su Habitability_of_binary_star_systems dove ho ottenuto alcuni di questi numeri.

  1. Nei pianeti non circumbinary (il pianeta orbita solo una delle stelle nel sistema binario), se la distanza di un pianeta dalla sua primaria supera circa un quinto dell'approccio più vicino dell'altra stella, la stabilità orbitale non è garantita. Ciò significa che se le stelle A e B formano un sistema binario con distanza AB , puoi avere orbite planetarie stabili attorno a A o B a distanze più vicine di 0,2 * AB . Per questi sistemi, userei nuovamente la fisica dei 2 corpi come approssimazione.

  2. Nei sistemi circumbinary, fintanto che il pianeta è 2-4 volte più lontano dalla coppia binaria in quanto sono l'uno dall'altro, puoi ancora trattarlo come un problema a 2 corpi in cui il pianeta orbita attorno al centro di massa dei due stelle

  3. Potresti anche avere pianeti in orbita attorno ai punti Lagrange L4 e L5 del sistema binario . Ne ho visto solo discussioni in contesti di fantascienza: penso che solo corpi di dimensioni asteroidi occupino punti Lagrange di pianeti nel nostro sistema solare, sebbene possano essere utili per i veicoli spaziali. Tecnicamente, una delle stelle deve essere significativamente più grande dell'altra affinché questi punti siano stabili , ma dipende da te quanto vuoi lasciare che la fisica reale interferisca con le tue impostazioni di gioco.


1
I sistemi a tre corpi hanno conosciuto soluzioni periodiche che possono essere hardcoded e scelte casualmente en.wikipedia.org/wiki/Three-body_problem#Periodic_solutions
Nakilon

1
@Nakilon La domanda era, tuttavia, chiedere plausibili sistemi stellari planetari. Qualsiasi delle soluzioni note al problema dei 3 corpi con masse non trascurabili è praticamente impossibile che si verifichi naturalmente. Potrebbero, tuttavia, verificarsi in un gioco con alieni sufficientemente avanzati a cui piace praticare l' astronomia .
Philipp,

0

Questo è un lungo commento per integrare le risposte esistenti.

Dato abbastanza tempo, un sistema planetario diventa per lo più planare. Puoi anche semplificare la simulazione impostandola come planare dall'inizio. Quindi puoi fare il resto con l' equazione di Binet , almeno se stai usando la semplificazione a 2 corpi suggerita da Jimmy. Se trascuri la relatività generale, la soluzione è analitica; in caso contrario, avrai bisogno di qualcosa come Runge-Kutta.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.