The Fractal Program RatioField

This program is a version of the program Ratio in which the field lines, which are the lines orthogonal to the equipotential lines, can be coloured. The program works in the same way as "Ratio" and presupposes experience with that program. For a Julia set associated to a cycle of finite points, the field lines typically look like this:

In these pictures the spaces between respectively 7 and 8 pairs of field lines are coloured in a way that differs from the usual colouring, and we use the name field line for such coloured "interval of field lines". The field lines make up an infinite system: field lines pass through or originate from every one of the infinite set of points that are iterated into the attracting cycle. The field lines issued from such a point will terminate on the Julia set, and there are only a finite number of points at which they can terminate (and these points are non-chaotic). As a field line in our terminology is an interval of field lines, it can, as the pictures show, ramify endlessly. The field lines in the left-hand picture are coloured in the same way as the Fatou domain (that is, on the basis of the iteration number and the distance from the equipotential line corresponding to that number), while the field lines in the right-hand picture are coloured on the basis of the distance from their centre line. Within a field line there are two local distances: the distance from the centre line and the distance from the equipotential line. In addition there are two whole numbers: the number of the field line and the iteration number. The two local distances establish local coordinate systems within the field lines, and this means that it is possible to colour on the basis of mathematical procedures or pictures that are input. And the two whole numbers mean that such procedures or pictures can be made to depend on the field line number and the iteration number. Here are two pictures of bands shaped as sine and cosine curves inlaid such that their halves are put above in turns and such that the colours are mixed with the background (press on the picture and on some of the following to see the picture in its original size):

Here are 36 pictures inlaid in the field lines for an iteration of the usual form z → z2 + ρ:

The program also allows text to be written in the field lines via a text document. It is also possible to mix two layers of field lines and colourings, and to introduce transparency in the top layer.

In these pictures the field lines have maximum thickness so that they fill up the whole Fatou domain:

In the Julia set above (for the usual function z2), the field lines do not run coherently as they are divided in two for each increase in the iteration number. The reason is that the iteration is towards infinity, and figure 2 is dueing to the exponent of the power z2. When the Fatou domain is associated to a super-attracting cycle, the field lines cannot be drawn coherently. However, it is possible to draw a system of bands that follow their courses, but the number of which increases for each increase in the iteration number. If the function is a polynomial (that is, if the denominator is a constant), the factor of increase is the degree of the polynomial. For a general rational function the factor is the difference between the degree of the numerator and the denominator, but the constellation of the partitions is not regular, because fiels lines also originate from the points that are zeros of the denominator, and from the (infinitely many) points that are iterated into one of these zeros. For the function z4/(1 + z), the field lines are separated in three, but field lines also come from the point -1 and the points iterated into -1:

The mode of operation of the program

You enter (as in "Ratio") the coefficients of a rational function, choose critical points, and get the Mandelbrot set - in this program the Mandelbrot set is only for determination of the Julia sets. The two layers have a common shape (and precision number and maximum iteration number), but they are coloured independently of each other. By using Shift you alternate between the two windows of edition. The mixing is determined by a pc called mix - mix 0 and 100 gives respectively the top (primary) layer and the bottom (secondary) layer. The number of field lines and their thickness are chosen respectively by keys F and E. If the field lines do not run precisely coherently, the precision number (key T) must be diminished and the maximum iteration number (keys 2 and 3) increased. For the field lines, two numbers of density have to be chosen: density/across and density/along. In these pictures the thickness is maximum (that is, 1) and in the first only the density along is non-zero, in the second only the density across is non-zero, and in the third both the densities are non-zero:

After pressing key A the colour of the field lines will be mixed with the colour of the Fatou domain such that the effect grows towards the sides. The mixing is determined by an exponent, which can be adjusted by key O. For a small exponent (eg. 0.1) the background will dominate and the field lines will look thinner, for a large exponent (eg. 8) the field lines will dominate and there will be more abrupt passages at the sides.

Key L makes the colour depend on the distance to one side of the field line instead of the distance to the centre. By keying K, the field lines in the bottom layer can be displaced (with respect to the field lines in the top layer): a decimal number < 1 is entered.

In the top layer there are two possibilities of making cutting in the field lines: keys X and C give respectively rhomb-shaped and elliptic cutting outs (of the same width as the iteration bands). Here is an example of rhomb-shaped cutting outs:

After pressing key V, only the field lines are drawn in the top layer, so that the bottom layer is completely visible outside the top field lines and so that the mixing is only for the field lines.

Pictures in the field lines

If you want to inlay pictures in the field lines, they have to be put in folders with names "ima1" and "ima2" for the top and the bottom layer respectively. The pictures must be in BMP format and have names that are three-figure numbers (eg. "034"). If there is transparency in a picture, a grey tone picture determining the degree of the transparency must be enclosed and given the name of the picture followed by a suffix z (the two pictures can for instance be called "034" and "034z"). Transparency can be introduced by the program ImageEdit (this program produces a black-and-white picture with the transparency, and this picture must be converted to a grey tone picture). Often one will let the grey tone picture be the original picture converted to grey tone (possibly with increased contrast), so that the bright in the picture becomes more transparent than the dark.

If the proportions of the pictures are to be preserved, the ratios between their individual widths and heights must be approximately the same. In order for the pictures to be placed correctly in relation to each other, by keying F11 and F12 respectively you must enter the number of pictures to be put along the field lines (before the repetition) and the number of field lines they are to be distributed over. The number of field lines (in total) must be a multiple of the last number, and the number of pictures must be the product of the two numbers. The pictures should be numbered in the usual way, that is, from left towards right and from top towards bottom.

A large picture can be distributed over several iteration bands and field lines by dividing it up. This can be done with the program "Divide". The picture (and possibly the matching grey tone picture) is given the name "pict" (and "pictz") and the number of the parts (across and heightwise) are entered. In this case the field lines must of course have maximum thickness. By including "empty" (that is, transparent) pictures, you can put the pictures in a specific pattern. An empty picture of a given size can be produced with the program "Vide". For the picture below, 12 parts of a photo are put in folder "ima2" and four pictures of paintings and four empty pictures (all having the same size) are put folder "ima1":

The names of the pictures need not be consecutive numbers (only their order counts), and there may be pictures in the folders that are not used - write for instance a letter before their names. If the pictures are not to be applied at all, you can give the folders "ima1" and "ima2" other names.

Usually it is confusing with pictures scattered all over the Fatou domain, but as the pattern is repeated endlessly, it is only partly possible to avoid this; namely by restricting the laying in to a fixed interval of iteration numbers. Using keys F8 and F9 you can enter the start iteration number and the length of the interval respectively. If the interval is the same as the number of the pictures across (key F11), the pictures will lie as rings around the points iterated into the attracting cycle. The inlaid text below appears only once in each field line. The start iteration number must be found by experiment: if the pictures are lying too near the points, they are moved back by increasing the start iteration number - begin for instance by setting it to 20.

Text in the field lines

Using a text document you can write in the field lines. However, this technique demands some experience, as it is not easy to find localities suitable for placing text: the text must be divided up and moved by trials and the placing must be limited to specific bands of iteration. The text is drawn in the top layer, and if it is to stand out on the bottom layer, the domain outside the field lines must be made transparent (key V). The text is written in a document in txt format named "text", and it can for instance look like this:

This text (by Lord Byron) can, in a Julia set for the function (1 - z2)/(1 + z4), be made to stand like this:

There must be a folder named "fount" with pictures (in grey tone) of the necessary characters. Such a folder with the type "Courier" is enclosed. The folder "fount" is only read by "RatioField" if there exists a document named "text". The colour of the text is chosen by key G, in the same way as the colour of the boundary (key B).

If another script, for instance handwriting, is wanted, it can be made with this program: Calligraphy. The folder created by the calligraphy program is given the name "fount0", and it must contain the file "position" determining the positions of the characters. This folder is then prepared with the program "Fount", because the pictures must have the same size: a new (empty) folder named "fount" is set up, and then the program "Fount" will fill this folder with the worked up pictures from "fount0".

If the text has many characters across, it must be divided up in columns with the same number of characters (possibly by introduction of spaces), so that each column can be assigned to a band of iteration. The above text is distributed over two bands, each containing 21 characters - some extra spaces are put into a (casual) line of the text, so that is gets the correct number of characters across, namely 42. The characters in the columns can be pressed together. This may be relevant for calligraphic script where the characters are to be drawn in over each other. Using key Y, a number (eg. 0.8) is entered, by which the distance is multiplied. Several lines of text can be drawn in a field line. If the text is a regular poem, you can give the field lines maximum thickness and introduce empty stanzas in order to get space between the repetitions. Using key F11 and F12 respectively, you can choose the number of characters in each column and the number of text lines in each field line (for the text above, these numbers are 21 and 4). To start with, the drawing of the text ought to be limited at a specific iteration number (as described above): by keying F8 and F9 respectively, the start iteration number and the number of columns is chosen. The characters are drawn with equal distance (relative to the width of the iteration band) and if a character looks wrongly placed, you can with "Fount" displace the individual characters in the pictures in "fount". You enter the number of the character (eg. A has number 37) and the number of pixels (positive or negative) the character is to be displaced. The characters of the script ought to have the same width (as in "Courier"), but if this condition is not fulfilled and if the distance between the characters looks too large (caused for instance by the capital W), using key I you can enter a number of pixels to be cut off both the sides of each character.

More than one Fatou domain

If the Julia set has more than one Fatou domain, another domain (in certain cases) is drawn if the critical points are inverted, and you can make a picture with two Fatou domains (and even more, if you choose other critical points) by composing two pictures. The program "ComposeTwo" composes the pictures if they are given the names "1" and "2":

Some programs to create pictures

"Rectangle" and "Sine" produce pictures typically looking like these (in the right-hand picture the black will be transparent):

As these programs use the colour scales, the document "colour" must be in their folder. The colour scale is chosen by scrolling, after pressing Shift in larger steps, and after pressing key D and G respectively the scrolling is aimed at the displacement and the density. The picture is produced by key P, after entering the width and the height. In "Sine" the colour scale can be laid across or, after pressing key M, along (as shown), and actually two pictures are made with two programs running simultaneously, in order that the colours can be mixed with each other and with the background. The mixing is carried out by a grey tone picture in which the intensity grows from the centre line of the curve towards the sides, and the growth is determined by a decimal number called "exponent" - 1 gives linear growth. Before drawing the Julia set you must press key W, because a special drawing procedure is needed that by turns puts one half of a curve above the other.

The program "Globe" can produce pictures of a rotating sphere over which a picture is put, such that the horizontal centre line is put along the equator circle, and such that the top and the bottom borders are contracted to the north and the south pole. The picture ought to be identical along the left-hand and the right-hand vertical border and it ought to be of one colour at the top and at the bottom. The picture (in BMP format) is given the name "pict", and when the program runs the sphere is seen rotating (the background is transparent, but can be made black using key B). At the start you must enter the angle of inclination (towards the observer), the number of movements to perform a revolution (eg. 16) and the diameter (in pixels) of the spheres to be produced (eg. 400). Using key P, the desired number of pictures is produced, named "000", "001", .... The pictures ought to be inlaid in the field lines in the same way as the text above, that is, limited to a specific iteration number.

The program "Map" prepares a picture named "pict" to fulfil the conditions of a picture to be used for "Globe".

For a picture named "pict", the programs "GreyTone" and "Retouch" produce the associated grey tone picture and a picture made transparent outside a circle respectively:

If the function fulfils the condition that the degree of the numerator is at least two larger than the degree of the denominator, ∞ is a super-attracting fixed point. By keying U this is used instead of the cycle determined by the (first) chosen critical point. But at iteration towards ∞ there is a farthest out equipotential line, which is a circle with centre in origo, and as this is usually chosen extremely large in order to get a smooth colouring (namely of radius 10150) and as a large radius will cause that the (approximations to the) field lines (which are constantly separated) will be very narrow, the exponent is initially fixed at 10 (instead of 150) - it can be changed by key H. In this picture, where the function is z3, the exponent is 1.5:

Some examples

If we let the field lines in the two layers have the same number and the same thickness, and if we displace the field lines in the bottom layer a little (key K), we can achive a relief-effect:

If, in a "julia" document from "Ratio" (whose function here is (0.01 - z2)/(z - 0.1z2 + 0.03z2)) we replace the part determining the colouring by the analogue part of the "julia" document for the right picture above, we can get this picture:

Julia set for z/2 + 1/(z - z3/6) - note that z - z3/6 is a rational approximation to sin(z) and note the reflections of the spirals within the black circles:

1/(z + z3):

1/(1 - z2 + z4/24):

Here are some stanzas from "Les Fleurs du mal" by Baudelaire shaped in a Julia set from the usual Mandelbrot:

An advantage of the field line drawing is that you can make decorative pictures even with the most simple functions. Here the function is 1/(1 + z2):

Here the function is the same, but only the field lines are drawn (the background is made of one colour by setting the density to 0):

1/(1 + z3) - the Julia set point is 0 and the Julia set is the same as on the second picture on the page:

1/(z/2 + z3):

1/(4z3) + 2z/3:

The next two pictures are sections of the same Julia set - the function is (1 - z - 2z2)/(z - 0.01z2 + 0.005z3):

(2 + 2z)/(1 - z3/4):

(1 - z3/6)/(1 - z2/2)2 - the function is a rational approximation to tan(z)/cos(z):

(1 - z2)/(z/2 - z2/4 + z3/8) - see the picture in full size:

(1 + z)/(1/2 - 4z3):

Theory and many more pictures on the site (to be translated): Theory 10: Field lines

The Ratio program

Updated: February 2010

This site is a subsection of juliasets.dk