Landscape of the week 2

Landscape of the week 2 - technical description

About two years ago i started an experiment to have landscape scenes randomly created with external linkPOV-Ray.

The system was focused on the landscape geometry and the main problem which led me to stop this project in the end was that they rendered too slow to be generated on a weekly basis.

I meanwhile have improved the techniques and can also make use of several interesting tools developed by others, particularly external linkJaime's LightSys and external linkGilles Tran's Makeclouds. So i decided to revive this project.

One difficulty was to find good ranges for the different parameters. As described in the original landscape of the week technical description the system of automatically set up scenes is based on various parameters in the scenes that are chosen randomly. For example the sun position is based on two random parameters, the azimuth and altitude. The difficulty is to choose parameter ranges that lead to an interesting variety of scenes but at the same time avoid completely uninteresting ones. With the about 60 parameters in the current system it is next to impossible to do this perfectly so i decided to use a concept known from optimization techniques - evolution strategies.

The idea behind evolution strategies is to find the optimal combination of parameters of a complex system through an evolution like process. Since i don't want to find one best scene but create a sequence of good looking but different images the system is designed to converge very slowly.

The evolution like development of the parameters works the following way:

  1. An initial population of 4 parameter sets is generated randomly.
  2. From these 4 parents 20 children are generated by recombination of parameters.
  3. The children are than randomly varied (mutated). The mutation step sizes are stored with the parameters and are part of the definition of the individuals.
  4. All 20 scenes then get rendered in small size and are shown on the main page. Visitor votes are used to rank the children and the best 4 of them become the parents for the next generation.
  5. Repeat from step 2 on.

More information on this technique can be found on:

The use of evolution strategies for this purpose is of course highly experimental, i am not sure how the quality of the scenes will evolve in the future. It might be necessary to restart the whole thing with different simulation parameters.

To be able to render the 20 test scenes of every generation i decided to render them without the plants at a fairly low quality (512x384, no aa). A copy of the source code of these scenes is written to a separate file while the scene is generated and this code is made available with the images so you can render a larger version of any image.

I am planning to render the highest rated image of every generation in better quality including some automatically placed plants. A few test renders of such scenes i made while developing the project can be found below:

lotw test 1 lotw test 2 lotw test 3
lotw test 4 lotw test 5