Finally, I came to use maps for planet modeling. Using a popular tree.js library I intend to show all new planet maps on the sphere model, along with the flat tile map. Textures for spherical models are made from image maps in the equirectangular projection. Texture files are located in the appropriate planet directories (/planets/<planetNo>/equirectangular.png and /planets/<planetNo>/equirectangular-big.png).
In the tutorials section I added a new tutorial on making maps in the equirectangular projection.
The changes mainly relate to the generation of the relief.
- The way of local relief generation in rhombuses is changed. This significantly reduces the likelihood of undesirable crevices and ridges.
- Vertical relief scaling; relief features are of different size depending on the height of the terrain. The parameters of the fractal are still constant everywhere.
- Eartherization process now done separately for each landmass, and not for the whole planet. (Eartherization is making the statistical distribution of planet heights close to that on Earth)
- The maximum height on each landmass is defined by the function of the landmass size. Currently it is the square root of the landmass size.
- New color map style.
- Fixed bug with rivers because of which strange lakes near the rivers were made.
- Fixed bug in sea coastline making which manifested itself in cutting off coasts.
- Noise functions for global mesh
- Ancient Alien Civilization (AAC) algorithm realization
Haskell PostGIS DB driver is now open source.
On the planet Vitruvian Man there is only one mainland and it was made with the Ancient Alien Civilization method. In contrast to the planet Mandelbrot there is smaller grid step for the noise function and sea level slightly elevated.
The input polygon for the continent is the contour of the part of the widely known image.
As you may have already noticed among the planet examples a planet appeared in which the form of continents resemble letters. This is the result of application of the algorithm which I called the Ancient Alien Civilization method, as it is similar to the result of terraforming the planet by a developed ancient civilization. Of course, the form of the continents can be any with taking into account the minimum step of the planet basic heights grid.
The method is based on the good old noise functions, but supplemented by what can be called the imposition of a stencil. When we calculate the value of a noise function at a point, we also check the value of a specific function at this point (the stencil), which can have a value of either 0 or 1. If it has value 1 we store the value of the noise function, and if it is 0 we assign to the result a value of 0.
Thus, the stencil function defines the shape of the continents. In the example of Mandelbrot planet it is zero everywhere except the location of the letters. Such kind of map details have a relatively large scale, in the size of the continents. To get smaller details of the map (for example, craters) we must apply them already on local grid of rombs. But this is still in development.
The last picture is the unfolded view of the Mandelbrot planet continents.