Show HN: Galaxy Visualization
75 points
6 days ago
| 4 comments
| github.com
| HN
100k real ( +100k random ) galaxies from a sector. Visualized with Raylib.
ugh123
6 days ago
[-]
This is a cool project. One thing I was confused on at first tho was the large earth sphere in the center of a what looks like a spherical universe of galaxies. This makes it look more like a cloud of satellites orbiting earth.
reply
avicted
6 days ago
[-]
Unfortunately this is what is possible to render with only celestial coordinates as input data. I'm looking into getting redshift at data right now, so that I could have the camera at the center of the earth and looking out from earth at different galaxies with different distances and brightness.
reply
bbor
6 days ago
[-]
Fascinating, thanks for posting! Some interesting things I noticed:

1. I think we hugged your university site to death, lol.

2. When it finally loaded, I saw this: "Prerequisites: Programming 101" given this work, that's pretty hilarious! You at the very least used a Data Structure or two, which is Programming 201...

3. Am I correct in understanding the implicit approach is "look, the blue ones are all bunched up and the red ones aren't, so galaxies aren't randomly distributed"?

4. Any takeaways in terms of things you'd like to add, similar ideas that occurred to you, or other cool stuff? You seem like a creative soul and I love dreaming up Three.js-driven space simulations like https://platform.leolabs.space/visualization, so I'd enjoy hearing any thoughts you might have :).

reply
avicted
6 days ago
[-]
Hi!

Regarding point 3: You are correct! the galaxies are in fact clustered together in space. These groups are called gravitationally bound clusters.

Best regards,

Victor

reply
akkartik
6 days ago
[-]
For anyone else trying this out on Linux, the build infrastructure can all be replaced with just:

    cp -i src/* includes/* .
    g++ frontend.cpp -lraylib
    ./a.out
reply
avicted
6 days ago
[-]
Hi!

Thank you!

I added a variation of your good solution to the main branch.

https://github.com/Avicted/galaxy_visualization_raylib/blob/...

reply
sega_sai
6 days ago
[-]
Astronomer here. Sorry for criticism, but I think it would be much better if galaxies were shown in 3d. There are a lot of surveys providing redshifts, hence 3d positions. Then one would see the cosmic web, otherwise it looks a bit weird just projected on the sphere.
reply
tejtm
6 days ago
[-]
I agree, if you keep the heavenly filament model you should probably restrict the view point origin to the center to have at least have one plausibly correct interpretation.
reply
bbor
6 days ago
[-]
Well, to play student's advocate here for a second: wouldn't that make it harder to see the immediate difference, given the more complex presentation? IMO this visualization makes it pretty immediately obvious that galaxies aren't random in a way that a massive volumetric map might not.

Would definitely be cooler in 3D, of course, I agree with that. Out of curiousity, do you know of any systems that do that? All I can find is multipurpose industry tools like https://www.openspaceproject.com/images and broken tools like https://spacein3d.com/universe-sandbox/.

reply
alexanderbock
5 days ago
[-]
Hi there, Lead Dev for OpenSpace here. We do have the ability to render galaxy (or any point cloud dataset really) in 3D space as well as stereoscopically. For an example see a video we made for Matt from SpaceTime a while back: https://youtu.be/E8rel2-kLJA?si=yqQZr7Nk9dyMDqZa&t=373 Thst video uses the Tully, and Sloan Digital Sky Surveys and then a catalogue of Quasars.

It would be fairly straightforward to add your random galaxy dataset as an asset as it would only require some light Lua coding and a CSV file with positions + any additional variables

reply
avicted
6 days ago
[-]
Hi!

Thank you for the criticism! My input data only contains celestial coordinates: - Right ascension in arcminutes - Declination in arcminutes

I can perhaps try to get some redshift data and implement the 3D position for each galaxy. Great idea! Thank you!

reply
PeterCorless
6 days ago
[-]
Given that oftentimes you get a range of estimated distances (in megaparsecs, MPc), maybe you can show the galaxy as a line instead of a point. The innermost end of the line would be the closest estimated distance. The furthest out end of the line would be the furthest estimated distance. You can put the median estimated distance as a dot on the line. Either that or you'd have to use the median estimated distance for a singular point.

Andromeda we have pretty-well established at 0.78 MPc, and M32 at 0.77 MPc.

NGC 7768 at 120 MPc.

Whereas the largest galaxy we currently know of, ESO 383-G 076, is at 200.59 ± 14.12 MPc. That gives a variability in distance far larger than the distance to most of our nearby closest galaxies!

reply