Recurrent Themes for
MDE formulas & colouring methods


This HTML page describes recurrent themes you can find in some MDE formulas or colouring methods. For further explanations or just suggestions, you may contact me at mdessur@hotmail.com.

I would also mention that English is not my first language. So, I would appreciate comments on how to better this text from that point of view. Thanks.


Table of Contents


1. Curves

Curves are a theme I use a lot. These curves come from the Standard Mathematical Tables, 22th edition, CRC Press, p. 387 to 399. As I write this page, it is in its near 40th edition and the pages numbers can be different. I will talk here only about curves in the cartesian coordinates system. For polar curves, this is a further column.

I will not give the equations of these curves. I am not sure that something like

 x = (a+b)*cos(phi) - b*cos(((a+b)/b)*phi)
 y = (a+b)*sin(phi) - b*sin(((a+b)/b)*phi)
(this is the epicycloid) would be meaningful and digestible for non-maths people and this is transparent anyway. Those who would be interested in them (the equations) are in general the same who can read the code.

I will cover in this section only the parameters closely related to them.

They are :

These last two may be absent or have different names. You will find the information about this in the appropriate colouring methods or formulas.
 
Curves This is how to choose a curve among many ones
Choices When French: épicycloïde,  lissajou (default), compagnon, cycloïde, ellipse, évolute, folium, involute, néphroïde, serpentine, Agnesi, tractrice, épicycloïde 2,  lissajou 2, compagnon 2, cycloïde 2, ellipse 2, évolute 2, folium 2, involute 2, néphroïde 2, serpentine 2, Agnesi 2, tractrice 2
When English: epicycloid,  lissajou (default), companion, cycloid, ellipse, evolute, folium, involute, nephroid, serpentine, Agnesi, tractrix, epicycloid 2,  lissajou 2, companion 2, cycloid 2, ellipse 2, evolute 2, folium 2, involute 2, nephroid 2, serpentine 2, Agnesi 2, tractrix 2
Comments Not all the colouring methods have all these curves. In some, version 2 is lacking for its biggest part.
Some of these choices may also seem to give the same visual results. However, this is by changing the value of a and/or b one will start to see a difference.

 
A This is a number that is part of the mathematical formula of the curve. So, its meaning is purely mathematical.
Choices You may choose any number.
Comments The default is 1 (one). Changing this value will have some impact on any curve you might have chosen.

 
B This is a number that is part of the mathematical formula of some curves. So, its meaning is purely mathematical.
Choices You may choose any number.
Comments The default is 1 (one). Changing this value will not have any impact on some curves you might have chosen. In particular, it is not used by the companions, the foliums, the involutes, the nephroids, the Agnesis. So, changing the value of this parameter won't have any effects on these curves.

 
First Function This is a function that is part of the mathematical formula of most of the curves. So, its meaning is purely mathematical.
Choices You may choose any function.
Comments The default is cos. Changing this value will not have any effect on the foliums as they don't use any functions.
In a colouring method where this parameter is not available, it just means that it is there but you cannot change it. 

 
Second Function This is a function that is part of the mathematical formula of most of the curves. So, its meaning is purely mathematical.
Choices You may choose any function.
Comments The default is sin. Changing this value will not have any effect on the foliums, which do not use any function and the companions,  which do not use this function.
In a colouring method where this parameter is not available, it just means that it is there but you cannot change it. 


2. Polar curves

Polar curves are a themes I use a lot. These curves come from the Standard Mathematical Tables, 22th edition, CRC Press, p. 387 to 399. As I write this page, it is in its near 40th edition and the pages numbers can be different. I will talk here only about curves in the polar coordinates system. For cartesian curves, this is a previous column.

I will not give the equations of these curves. I am not sure that something like

 rho = a*sin(theta)*cos^2(theta)
(this is the bifolium) would be meaningful and digestible for non-maths people and this is transparent anyway. Those who would be interested in them (the equations) are in general the same who can read the code.

I will cover in this section only the parameters closely related to them.

They are :

These last two may be absent or have different names. You will find the information about this in the appropriate colouring methods or formulas.
 
Curves This is how to choose a curve among many ones
Choices When French: bifolium (default), limaçon, cissoïde, cochléoïde, conchoïde, lemniscate, lituus, pétales, parabole, spir. Archimède, spir. hyperbolique, spir. logarithmique, strophoïde
When English: bifolium (default), limacon, cissoid, cochleoid, conchoid, lemniscate, lituus, petals, parabola, Archimedes spir., hyperbolic spir. logarithmic spir., strophoid

 
A This is a number that is part of the mathematical formula of the curve. So, its meaning is purely mathematical.
Choices You may choose any number.
Comments The default is 1 (one). Changing this value will have some impact on any curve you might have chosen.

 
B This is a number that is part of the mathematical formula of some curves. So, its meaning is purely mathematical.
Choices You may choose any number.
Comments The default is 1 (one). Changing this value will not have any effect on most of the curves you might have chosen. It is used only by the limacon and the conchoid. So, changing the value of this parameter won't have any effects on the other curves.

 
First Function This is a function that is part of the mathematical formula of some of the curves. So, its meaning is purely mathematical.
Choices You may choose any function.
Comments The default is cos. Changing this value will have some effect only on these curves: bifolium, limacon, cissoid, lemniscate, petals, parabola, strophoid.
In a colouring method where this parameter is not available, it just means that it is there but you cannot change it. 

 
Second Function This is a function that is part of the mathematical formula of some of the curves. So, its meaning is purely mathematical.
Choices You may choose any function.
Comments The default is sin. Changing this value will have some effect only on these curves: bifolium, cissoid, cochleoid, conchoid.
In a colouring method where this parameter is not available, it just means that it is there but you cannot change it. 


3. Fourier

Fourier series are used in at least one formula and one colouring method. It comes from the Standard Mathematical Tables, 22th edition, CRC Press, p. 474 and following. As I write this page, it is in its near 40th edition and the pages numbers can be different.

The Fourier series are a set of formulas that describe odd waves, like square waves, triangular waves, sawtooth waves, etc... These waves are heavily used by music synthetizers. As a reminder, waves are shapes repeating on a periodic base. This is also what happens when used as a formula or a colouring method.

I will not give any equation in this helpfile as I am not sure that it would be meaningful and digestible for non-maths people and this is transparent anyway. Those who would be interested in them are in general the same who can read the code. For these people, I will just say that I use the first four terms of the general equation.

I will cover in this section only the parameters closely related to them.

They are :

Most of the time, you will get periodic patterns. You just have to vary a0, a1, b1, a2, b2, a3, b3, a4, b4 and wavelength to have different ones. Functions are different as some of them don't generate repeating patterns. But the most of them do.
 
A0 This number is part of the mathematical formula.
Choices You may choose any number.
Comments The default is 1 (one). Changing this value will change the repeating pattern.

 
A1, B1, A2, B2, A3, B3, A4, B4 These numbers are parts of the mathematical formula.
Choices You may choose any number.
Comments The default depends of the formula or colouring method. Changing any of these values will change the repeating pattern.

 
Wavelength This number is part of the mathematical formula.
Choices You may choose any number.
Comments The default is 1 (one). Changing the value will change the repeating pattern.

 
First Function This is a function that is part of the mathematical formula.
Choices You may choose any function.
Comments The default is cos.
If a1, a2, a3 and a4 are all equal to 0, it is this equivalent of no first function used.

 
Second Function This is a function that is part of the mathematical formula.
Choices You may choose any function.
Comments The default is sin
If b1, b2, b3 and b4 are all equal to 0, it is this equivalent of no second function used.


4. Chaos

The chaos, as I use it in my code, is inspired from the Chaos algorithm as coded by Roger C. Stevens in his book "Fractal Programming in C", M&T Books, 1989. As applied to Ultrafractal, it can give some spangles effects. It is used mostly in my IFS-related stuff but could be used elsewhere. Here are the principles.

The chaos, as I use it, is a probability. What I mean is the following. Let's suppose I have a set of balls all being of different colours: blue, red, yellow, etc... I pick one at random. If I choose the blue ball, I pass go and take the money; if I choose the red one, I take a chance card, etc. I have as many chances to pick the red ball than the blue one or any other one. But, not always. I can organize to have some of the balls with more chances to be picked. For example, my red ball could have 2-3 times more chances to be picked. This is determined by the formula, the colouring method or the transformation using Chaos.

In the code using Chaos, these are not balls that are used but instead ranges of numbers. If some values based on the real and the imaginary part of Z falls in one of the ranges, this is the action corresponding to this range that will be done.
 

You will recognize it is used because one of the parameters is Chaos:
 
Chaos The purpose of this parameter is to let you modify the chances (probability) a range will be picked.
Choices When English: No (default), real, imag,real+imag, real-imag, real*imag, real/imag, imag/real, real^imag, imag^real, multi
When French: Non (default), réel, imaginaire, réel+imag, réel-imag, réel*imag, réel/imag, imag/réel, réel^imag, imag^réel, multi
Comments These options are all different ways to get a value, each one different, based on the real and/or imaginary part of Z. 
No is just a default way to find a value and Multi is a slight modification of it when present. You never get any spangles with these options. Multi is an option you don't meet everywhere.
All the other options use the real and/or imaginary part of Z mixed with some arithmetic operations to bring the changes. These are the options you must use to have the spangles.

Another parameter you will also meet but not everywhere will be:
 
Apply wrap around? The basic purpose of this parameter is to soften the spangles effect when this one occurs.
Choices Not enabled (default), enabled
Comments When enabled, the spangles effects are normally softened. But, the way Chaos is handled can bring other effects, unpredictable.