
On this page I continue to describe the development of my computer program ConjurePicture (ConjPic for short) for the creation of images using Iterated Function Systems (a branch of Fractal Geometry). As well as showing some of the resulting images, I will show some of the itermediate template images that are used to generate those images.
This page is a continuation of page ConjurePicture, which contains the Table of contents.
Go Home.
Chapter 6: Building a mountain
6.1 Why build a mountain?
If at this stage you start with a template for the Sierpinski gasket and use your knowledge of the Collage Theorm to try to build a mountain, you will probably end up with an image that has triangular-shaped gaps in it or jagged protrusions beyond the intended shape for the mountain. Why should this be so much more difficult than building the pine tree or the maple leaf? I will add more here . . .
6.2 How to build a mountain
I have spent hours on different occasions trying to find a systematic way in which to design a generic IFS that will generate a reasonable-looking mountain. Why should that be much more difficult than building a pine tree of at least comic-book quality? The pine tree is easy, as is illustrated elsewhere on my site. I have constructed mountains before; however, they were always on an ad-hoc basis. Today (31 July 01), for the first time, I have discovered a systematic way in which to build a mountain -- one in which repetitive aspects of a mountain are generated naturally from the underlying design of the IFS. Here is an example of a mountain (with reflection in water) generated today.
Figure Mount1.jpg. Snow on green mountain. (Start.)

Figure Mount1.jpg. Snow on green mountain. (End.)
The following is the single IFS template that generates the above picture -- a single image in this case.

Figure Mount1T.jpg. Template for Snow on green mountain.
The key to this new discovery is in making two of the transforms of the IFS into skewed rectangles (trapezoids), one being the pink one in the bottom area on the right, the second being the very skewed parallelogram appearing as lines of dashed black and green at the bottom, just right of centre. This image consists of seven transforms linked by three stem transforms serving as the origin of branches, proceeding to two levels of branching for each stem. The total data to generate the picture is 200 bytes. The data-compression ratio calculated by ConjPic is 1,455.84:1 before applying jpg compression. The bmp file size is 1,023,030 bytes, generated from plotting 291,169 points. One might, therefore infer that the actual data-compression ratio, before applying jpg-compression, is 1,023,030 / 200 = 5,115.15. The jpg image occupies 77,922 bytes (76.0 KB). Another way of considering this is that the total compression ratio, including jpg-compression, is 77,922 / 200 = 389.6.
This new ability to build mountains in a systematic way will make that process easier in future. It also makes it much more amenable to the making of movies, because the mountain can now be modified in a systematic way -- at least under my method of movie-making -- by the variation of the value of a single parameter, to change, for example, a rocky footpath into a mountain in as many steps as one pleases. In retrospect, the picture would have been better had the shimmer effect on the water been more pronounced.
Picture MtSand1.jpg. Sand and mountains at dawn: a picture composed of two iterated function system (ifs) images superimposed. (Start.) Added 7 Aug 01.

Picture MtSand1.jpg. Sand and mountains at dawn: a picture composed of two iterated function system (ifs) images superimposed. (End.)
The caption text in the above picture is not corrrect. The first image (mountains) is generated from an ifs of 6 transforms (36 numbers [144 bytes]), and color information, for a total of 172 bytes. On top of that is superimposed the foreground image, generated from an ifs of 6 transforms (36 numbers), or, about 172 bytes. The data-compression ratio, before jpg compression, is about 1,055:1.
Image template MtSan11T.jpg -- the first (mountain) image of Picture MtSand1.jpg. (Start.)

Image template MtSan11T.jpg -- the first (mountain) image of Picture MtSand1.jpg. (End.)
Image template MtSan112T.jpg -- the second (foreground) image of Picture MtSand1.jpg. (Start.)
Image template MtSan112T.jpg -- the second (foreground) image of Picture MtSand1.jpg. (End.)
After many months of experimenting, on and off, I have finally achieved two systematic ways of building an iterated function system (ifs) in a way which produces non-trivial repetitive structure appropriate to building mountains, hills, and clouds. For example, this mountain could easily be converted into a cloud. There are more sophisticated ways of building clouds, but they go beyond the use of ifs, and employ ifs in three dimensions and ray-trace rendering, in which one bounces a million photons off of everything in sight! I am working in only two dimensions so far. I may experiment with those later, but it involves major additional design and programming. See, for excellent state-of-the art examples, the following links to the masterful work of Ken Musgrave. :
Do not miss seeing what is perhaps Ken Musgrave's favorite picture, as follows (from his site):
Blessed state: http://www.wizardnet.com/musgrave/blessed.jpg.
Continued on page ConPic42.
Go Home. Go to Table of contents.
You can e-mail me at waynerp@sympatico.ca