Costruire (semplici) sistemi stellari [chiuso]


8

Sto attualmente cercando come simulare facilmente alcuni sistemi stellari (ovvero alcune stelle centrali e quindi alcuni pianeti con forse satelliti), al fine di consentire in seguito un gioco di strategia spaziale (quindi con le navi spaziali che si muovono). Tutto ciò dovrebbe basarsi sul tempo (quindi lo stato di ciascun sistema differisce nel tempo)

Sono abbastanza alle prese con la matematica dietro questo argomento, come ad esempio:
- matematica correlata alle ellissi,
- creazione del percorso dal pianeta A alla B tenendo conto del tempo (le rispettive posizioni cambieranno nel tempo) ...

Conosci qualche risorsa per questo? Non mi dispiacerebbe nemmeno comprare libri a riguardo ...

nota a margine: come visualizzare tutte queste cose non è un problema in questo momento, ne farò dei semplici piani (basicamente basandomi sul 2D e una "vista di alto livello" senza dettagli di navi spaziali / pianeti, solo indicatori)


è l'ellisse matematica sul movimento dei satelliti sui pianeti?
brainydexter,

la matematica dell'ellisse è perché pensavo che i pianeti stessero seguendo un'ellisse nel loro percorso attorno alle stelle. È sbagliato ? L'obiettivo finale è quello di rappresentare abbastanza correttamente i corsi dei pianeti in un sistema.
space borg,

Sfortunatamente, non accettiamo più domande sulla "richiesta di risorse".
Gnemlock,

Risposte:


5

Non sono un cervello matematico, ma la mia lettura di SF e Google mi portano a questa pagina sulla meccanica orbitale . Inizia con spiegazioni che posso seguire e le segue con equazioni che non posso. Il tipo di movimento che stavo cercando si chiama Hohmann Transfer Orbit, che è quello che consuma meno carburante.


grazie mille Jason: avevo cercato contenuti simili senza successo. Tuttavia, si tratta solo di fisica spaziale, non di come applicarli in un modo di gioco (come mapparli in un tipo di display strategico 2D). Comunque, è il più vicino che abbia mai visto, grazie mille :)
Space Borg,

Per mapparli su 2D basta rimuovere la dimensione Z, tutta la matematica dovrebbe ancora funzionare come prima. Per quanto riguarda l'applicazione ad un gioco, sono solo formule .. Suppongo con un punto di partenza noto, la formula per il movimento e un valore di tempo di offset che potresti sempre calcolare dove si troverebbe ogni corpo celeste.
James,

2

C'è un altro problema a cui potresti voler riflettere oltre alla fisica della simulazione di un sistema stellare.

La precisione in virgola mobile sarà probabilmente un problema a seconda della quantità di "simulazione". Quando ci pensi, le distanze effettive tra un pianeta rispetto alla distanza di un oggetto in orbita attorno a uno di quei pianeti sono enormi. Cercare di simulare sia un pianeta distante sia un oggetto in orbita nello stesso "ambiente" probabilmente si spezzerebbe sotto i limiti della precisione in virgola mobile.

http://www.floatingorigin.com/mirror/oneil_01.htm


1

Come menziona Jason sopra, dai un'occhiata a questa pagina web - approfondisce la meccanica orbitale ...

http://www.braeunig.us/space/orbmech.htm

Mi chiedo se potresti essere in grado di elaborare un semplice sistema basato su regole per la navigazione. Basta "lanciare" il veicolo su un vettore, quindi ad ogni passaggio del tuo ciclo di eventi, guarda la sua traiettoria attuale in relazione alla destinazione e applica una correzione.

Quando diventa difficile è dove devi prendere in considerazione quelle che potresti chiamare le motivazioni dell'astronave. Ha un rifornimento di carburante finito? È meglio arrivarci più velocemente o usare meno carburante? La velocità con cui ti avvicini al bersaglio è importante? Vale a dire, può semplicemente volare ad alta velocità o deve rallentare per entrare in orbita?


Doh - Ho appena realizzato di aver duplicato il post di Jason Pineo sopra facendo riferimento alla pagina della meccanica orbitale. Sto rimuovendo quella parte della mia risposta e mantenendo solo la parte del "semplice sistema di regole".
Tim Holt,

1

Hai persino bisogno di risolverlo? Le orbite di trasferimento di Hohmann sono LENTO - 1/2 del periodo orbitale del corpo esterno e richiedono anche un corretto allineamento dei pianeti per funzionare.

Vuoi davvero limitare i giocatori a tali movimenti? E se lo stai facendo, stai ovviamente usando una sorta di jump drive per raggiungere gli altri sistemi stellari: perché non puoi usarlo all'interno di un sistema?

Se hai qualche tipo di sistema di spinta continua di potere non banale non hai bisogno di fare calcoli orbitali così fantasiosi. Anziché:

1) Calcola la variazione di velocità necessaria tra i corpi. Questa è sia la velocità orbitale che l'energia necessaria per passare alla nuova orbita.

2) Calcola la distanza tra A e B nelle loro posizioni correnti.

3) Regolare questo per l'ustione necessaria nella parte # 1. Se stai andando verso l'esterno calcola una bruciatura extra all'inizio per il cambio di velocità, se stai andando nella bruciatura extra è alla fine. Sottrai questa distanza dalla distanza tra i pianeti, aggiungi il tempo necessario al tempo totale.

4) Prendi la distanza rimanente, dividi a metà e calcola quanto tempo impiegherà il tuo razzo a farlo. Raddoppia il risultato.

5) Aggiungi i tempi coinvolti, figura dove si troverà il pianeta bersaglio dopo che l'ustione è terminata. Se viene spostato troppo, usa la nuova posizione del pianeta come bersaglio, rifai i calcoli. Questo converge rapidamente.

Sì, questo non dipende dalle specifiche della NASA ma è abbastanza vicino per l'uso del gioco.


-1

creando il percorso dal pianeta A a B tenendo presente il tempo (le rispettive posizioni cambieranno nel tempo)

Interpolazione lineare di ricerca. Ti consente di aggiornare una posizione dal punto A a B lungo una linea retta usando una funzione del tempo.

Questo link potrebbe aiutare.


Credo che la domanda sia: come calcolare il percorso tra il punto A e B quando il punto B si sta muovendo mentre ci si sta muovendo verso di esso (ad esempio: come "guidare" il pianeta bersaglio, quindi quando si arriva non si trova sull'altro lato del stella centrale)
James,

@James: "(le rispettive posizioni cambieranno nel tempo)": -> Non è esattamente chiaro se i punti sono costantemente in movimento o se A e B sono fissi e poi cambieranno in seguito. Se i punti sono fissi, l'interpolazione lineare IMO è la strada da percorrere.
brainydexter,

Scusa amico, non riesco a trovare un modo per leggere quella riga in cui non si afferma che i punti A e B cambieranno nel tempo ...
James,

in effetti era tra 2 pianeti, quindi tra punti in movimento, quindi suppongo che l'interpolazione lineare sia fuori. Eppure grazie per il link :)
space borg,
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.