Sunday, January 12, 2014

Logarithmic Map of the Universe



 
A logarithmic map of the whole observable universe. Of course it can only show some of the objects known to exist. But this should give a All objects are assumed to be spherical (or more correctly circular). I've ignored the declination of all objects, only distance, size and direction (right ascension) are taken into account. So an object with a declination far from zero degrees still has a correct distance from the Earth.
 
The map was generated by a Python script and I use svgwrite to output it as a svg-file. The colouring is done in Inkscape.
 
Starting from the centre, we have the Earth. The Atmosphere is assumed to be 100 km thick (usually used as the boundary between space and the atmosphere). Here we can see the how powerful logarithms are, the centre of the Earth is about 6371 km below the surface and the other side is twice as far, but here they are quite close to each other.


Beyond the Earth we have the Moon and the Sun. The orbits of Mars, Venus and Neptune are also marked. The last one marking the border of the Solar System. The Moon and Sun are just little dots at this scale.

Some of the closes and brightest stars and the centre of the Milky Way galaxy are also shown. Outside our galaxy, the Local Void, and the closest galaxies are shown. Beyond that lie some of the galaxy clusters and large voids.

I guess it was inspired by this XKCD. I've also found this artists impression on Wikipedia. But these don't give a real logarithmic view.

Saturday, January 4, 2014

Procedurally generated Earth-like planets

I am working on a new game which will maybe have randomly generated planets. These are some of the results for Earth-like planets I've generated.

I use Perlin noise to generate the map itself. The Arctic areas are then added and a cloud layer is applied on top. All the data come from one grey scale random image. he map is then projected onto a sphere, so that the maps don't look too flat, and a bit of shadow is added to the edges to make it a bit more round looking.

Step 1
Generate image with Perlin noise and set a threshold in the middle of the range of colours. This will be the land and the sea in our map.

Here is some Python code that can be used to generate Perlin noise.

Step 2 
Project the map on a sphere.


Step 3
Add some colour-gradients bases on some thresholds. A lot more could be done here.

Step 4
Add the Arctics and  lastly add an cloud layer.