Large Scale Structure of the Universe implementation
|
|
karamba66 | Date: Thursday, 25.06.2015, 10:17 | Message # 1 |
Observer
Group: Newbies
Pirate
Messages: 3
Status: Offline
| Hello,
I'm wondering how the large scale galaxy distribution is implemented in SE.
The galaxy structures (filaments, voids, walls ...) are actively researched. There are many papers about that. The most accurate results are achieved if we put billions of particles through the equations of gravity and let the simulation run for couple of billions simulated years (like these guys did http://www.mpa-garching.mpg.de/galform/virgo/millennium/ - the simulation took about a month to complete on a supercomputer).
Well, it is more than clear the SE does not use this method That's why it is very interesting what approach is used (at least in general lines) to generate such a galaxy distribution in real time.
|
|
| |
Salvo | Date: Thursday, 25.06.2015, 11:18 | Message # 2 |
Star Engineer
Group: Local Moderators
Italy
Messages: 1400
Status: Offline
| Quote karamba66 ( ) Well, it is more than clear the SE does not use this method Are you sure?
If you want too see it yourself try to increase galaxies luminosity and reduce exposure
The universe is not required to be in perfect harmony with human ambition.
CPU: Intel Core i7 4770 GPU: ASUS Radeon R9 270 RAM: 8 GBs
(still don't know why everyone is doing this...)
|
|
| |
karamba66 | Date: Thursday, 25.06.2015, 12:02 | Message # 3 |
Observer
Group: Newbies
Pirate
Messages: 3
Status: Offline
| Quote Salvo ( ) Are you sure?
If you want too see it yourself try to increase galaxies luminosity and reduce exposure
That's exactly the reason I asked the question: because SE's the distribution of galaxies looks so great (thank you for providing the screenshot!) and, yes, I'm sure that this distribution is not a result of gravity simulation. If it takes a month on a supercomputer to make the gravity calculations how can one expect to see it in real time on a pc.
That's why the question is so interesting: how SE manages to achieve such convincing large scale distribution and yet do it in real time. Obviously some very smart noise distribution algorithm is used which happens to mimic very well the real structure (voids, filaments etc.). Or maybe some pre-calculated structure pattern is used and it is "stamped" across the universe?
Most likely only Space Engineer can give the answer
|
|
| |
Watsisname | Date: Thursday, 25.06.2015, 12:20 | Message # 4 |
Galaxy Architect
Group: Global Moderators
United States
Messages: 2613
Status: Offline
| Yeah, Space Engine obviously doesn't simulate formation of large scale structure via gravitational collapse. If it did then it would probably melt your CPU. Instead of simulating astrophysical phenomena, it imitates them by some clever procedural methods and calculations.
Here the large scale structure is also made procedurally, by -- I'm guessing -- mapping galaxy density to some form of 3D gradient noise akin to Perlin noise. It might be more complicated than that, I'm not completely sure. Space Engineer could probably clarify.
|
|
| |
SpaceEngineer | Date: Thursday, 25.06.2015, 15:12 | Message # 5 |
Author of Space Engine
Group: Administrators
Russian Federation
Messages: 4800
Status: Offline
| I used the Worley noise with coordinates slightly distorted by Fbm noise to generate galaxy density value. This value is generated for each galaxy and used to discard that galaxy if the value is too small, making voids.
|
|
| |
karamba66 | Date: Thursday, 25.06.2015, 20:21 | Message # 6 |
Observer
Group: Newbies
Pirate
Messages: 3
Status: Offline
| Thank you very much, Space Engineer!
Before posting this question I have been trying to generate random 3D dots which look like Cosmic Web. I experimented with 3D voronoi cells but the distribution always seemed too "angular". That's why I was so curious what algorithm you've been using.
I my tests I noticed that the majority of dots (galaxies) finally get discarded and that's a waste of processing power. It will be nice if the noise functions can be transformed in such a way that they receive uniformly distributed random numbers and produce random coordinates with the Worley+Fbm distribution. That will eliminate the need for discarding. But I don't know if that is possible (I'm not that versed in maths). I imagine something like this: if the generated random coordinates are too close to void center and should be discarded, instead they get pushed along the vector between the cell center and the random point, moving them closer to the walls. But that's just an idea, I should do some experimenting to see if it's really possible and most importantly if the additional computations really save more cycles than simply discarding and generating anew.
Thank you!
|
|
| |