Proceduralny generator pola gwiazdowego

15

Czy ktoś wie o jakimkolwiek kodzie do proceduralnego generowania pól gwiazd?

Idealnie chciałbym, aby był oparty na fizyce, aby móc mieć realistyczne planety i księżyce. Najlepiej byłoby w C ++, open source i działający z Ogre3d.

Nie boję się kodować czegoś z gazety uniwersyteckiej, jeśli nic nie jest dostępne.

Sójka
źródło
2
Co rozumiesz przez „pole”? Gromada gwiazd, galaktyka, gromada galaktyk? Tylko gwiazda z niektórymi planetami?
Maik Semder
2
Chciałbym stworzyć skybox do gry. Chciałbym, aby nocne niebo zachowywało się w nieco bardziej realistyczny sposób. Ponieważ gwiazdy się nie zmieniają, możesz wygenerować dla nich statyczny obraz skybox z katalogu gwiazd (lub po prostu losowo). Planety poruszają się powoli, więc można okresowo aktualizować ich pozycje proceduralnie. Księżyc bardzo by się zmienił, więc będziesz generował go proceduralnie częściej. Księżyc wymagałby również przetwarzania obrazu, ponieważ będzie znacznie większy niż tylko piksel.
Jay
1
Zawiera
Jay
2
Wiele z tego, czego potrzebujesz, będzie opierać się na prędkościach podróży, czy jesteś sub-c, czy super luminalny, czy to czysty skybox, czy lecisz przez całe galaktyki? Jaka jest twoja waga?
Patrick Hughes,
1
Nie muszę naśladować efektów relatywistycznych. Nic tak szybko się nie porusza. OsgEphemeris dla symulatorów lotu wygląda na świetny punkt wyjścia
Jay

Odpowiedzi:

11

Uważam, że wytwarzanie pola gwiazdowego (dalekiego zasięgu) oraz planet i księżyców („krótkiego zasięgu”) powinno składać się z dwóch różnych warstw. Jeśli chodzi o pole gwiezdne, okazało się, że jest to przydatne w mojej grze : http://alexcpeterson.com/spacescape . To może zająć się twoim statycznym polem gwiazdowym o dalekim zasięgu. Jest napisany w C ++ i open source.

Co do „krótkiego zasięgu”. Znalazłem źródła dla symulatorów Układu Słonecznego, ale z mojego płytkiego spojrzenia nie wyglądają one bardzo ogólnie, jeśli chcesz stworzyć inny układ słoneczny niż nasz własny. Na końcu umieszczam linki.

W rzeczywistości nie powinno być zbyt trudne zadanie stworzenia ogólnego systemu dla planet. Studiuj na swoim Keplerze, a uzyskasz dobre oszacowanie pozycji planet. http://en.wikipedia.org/wiki/Kepler%27s_laws_of_planetary_motion . Prawdopodobnie po prostu trzymaj się prostych, nie ekscentrycznych orbit, aby zacząć :)

Oto kilka linków do symulatorów układu słonecznego, które znalazłem.

http://astro.berkeley.edu/~dperley/programs/ssms.html

http://code.google.com/p/solar-system-cpp/

MichaelHouse
źródło
Twoje narzędzie wygląda naprawdę pomocne. Dzięki za udostępnienie
Jay
3
Nie moje narzędzie, po prostu go używam :) Całe uznanie dla narzędzia Spacescape należy do Alexa C. Petersona
MichaelHouse