The segments of C code reported here represent the "algorithms" used to generate the images 3-7
/* fig 3a */
static int nsel[2] = { 5,30};
static int isel [2] [50] = {
{ 14, 5, 2, 16, 21},
{ 14, 11, 9, 8, 3, 14, 9, 8, 8, 8,
18, 7, 18, 6, 22, 13, 22, 18, 6, 10,
1, 12, 20, 4, 1, 10, 9, 22, 22, 16
}};
static float c [2] [50] = {
{ 0.2518281,-0.3296531, 0.5021137, 0.8013867,
0.9232459},
{ 0.4548206, 0.6028448, 0.2868689,-0.5640269,
0.3280247, 0.8860395, 0.5030885,-0.5097839,
-0.8538470, 0.5237761,-0.9086919,-0.4687982,
0.7613782,-0.2227489, 0.9734645,-0.9133334,
-0.3199611,-0.9586719, 0.3643311,-0.9964381,
-0.6912493, 0.9343832, 0.4551306, 0.4753968,
0.0754888,-0.7368609, 0.9721158, 0.9445785,
-0.5743186, 0.8625289}};
/* fig. 3b */
static int nsel[2] = { 5,14};
static int isel [2] [50] = {
{ 15, 3, 14, 17, 15},
{ 13, 4, 15, 5, 14, 1, 7, 19, 10, 10,
18, 20, 13, 21}};
static float c [2] [50] = {
{ -0.4336635,-0.4921135,-0.6600285, 0.0505930,
0.9502947},
{ -0.1092912,-0.4090646,-0.7292794, 0.0125130,
0.5582703,-0.5491089,-0.8527027, 0.5472497,
-0.7293310, 0.4517895, 0.6758291, 0.8382670,
0.0328789, 0.9478120}};
/* fig. 3c */
static int nsel[2] = { 5,30};
static int isel [2] [50] = {
{ 14, 5, 2, 16, 21},
{ 13, 4, 15, 5, 14, 1, 9, 8, 8, 8,
18, 7, 18, 6, 22, 13, 22, 18, 6, 10,
1, 12, 20, 4, 1, 10, 9, 22, 22, 16
}};
static float c [2] [50] = {
{ 0.2518281,-0.3296531, 0.5021137, 0.8013867,
0.9232459},
{ -0.1092912,-0.4090646,-0.7292794, 0.0125130,
0.5582703,-0.5491089, 0.5030885,-0.5097839,
-0.8538470, 0.5237761,-0.9086919,-0.4687982,
0.7613782,-0.2227489, 0.9734645,-0.9133334,
-0.3199611,-0.9586719, 0.3643311,-0.9964381,
-0.6912493, 0.9343832, 0.4551306, 0.4753968,
0.0754888,-0.7368609, 0.9721158, 0.9445785,
-0.5743186, 0.8625289}};
/* fig. 3d */
static int nsel[2] = { 5,14};
static int isel [2] [50] = {
{ 15, 3, 14, 17, 15},
{ 14, 11, 9, 8, 3, 14, 7, 19, 10, 10,
18, 20, 13, 21}};
static float c [2] [50] = {
{ -0.4336635,-0.4921135,-0.6600285, 0.0505930,
0.9502947},
{ 0.4548206, 0.6028448, 0.2868689,-0.5640269,
0.3280247,-0.5491089,-0.8527027, 0.5472497,
-0.7293310, 0.4517895, 0.6758291, 0.8382670,
0.0328789, 0.9478120}};
/* fig. 4 and 5*/
static int nsel[2] = {18,15};
static int isel [2] [50] = {
{ 13, 20, 2, 15, 16, 14, 2, 18, 16, 2,
5, 8, 3, 6, 1, 13, 13, 17},
{ 15, 20, 7, 2, 14, 2, 10, 3, 7, 10,
5, 6, 3, 2, 3}};
static float c [2] [50] = {
{ -0.8551339,-0.5390384,-0.4810505, 0.7039413,
-0.2579988,-0.7775242,-0.7505741,-0.1598914,
0.5302125,-0.8407620, 0.8699683, 0.8383524,
-0.9704864, 0.2266595, 0.5777737, 0.8249176,
-0.9023076, 0.5411590},
{ -0.7801656, 0.7740914,-0.6117773, 0.6538438,
0.2171335,-0.2596838,-0.6605890,-0.7470850,
-0.1934021, 0.4720140, 0.8456409, 0.5767174,
0.5199037,-0.4411922,-0.4867722}};
/* fig. 6 */
static int nsel[2] = {10, 2};
static int isel [2] [50] = {
{ 6, 1, 7, 6, 3, 11, 3, 10, 4, 3
},
{ 3, 3}};
static float c [2] [50] = {
{ -0.1995222, 0.9111496,-0.2995270,-0.7660042,
0.9571426, 0.5107131, 0.8559370,-0.3312401,
-0.5232031, 0.0728506},
{ 0.4323363,-0.9739391}};
/* fig. 7 */
static int nsel[2] = { 4,31};
static int isel [2] [50] = {
{ 14, 22, 10, 3},
{ 14, 1, 15, 18, 4, 3, 6, 21, 10, 22,
21, 10, 22, 16, 5, 13, 15, 11, 8, 4,
4, 19, 2, 2, 3, 14, 16, 19, 5, 22,
7}};
static float c [2] [50] = {
{ -0.6881095,-0.9253958,-0.5319892, 0.9440062
},
{ 0.3268201,-0.5252095,-0.9762620,-0.6953720,
0.9512548, 0.1298639,-0.5129814,-0.1269463,
-0.6815656, 0.9571157, 0.4796356,-0.8657004,
0.1521451,-0.3742709,-0.8020369, 0.2902081,
-0.1061834,-0.9589012, 0.8353311, 0.2299938,
0.4798788, 0.2159171, 0.2968515,-0.1611537,
-0.0059035,-0.9837348, 0.7892807, 0.1815213,
0.1949213, 0.7827204,-0.7141523}};
Figure captions
Figure 1. The initial set of 196 images produced by the program.
Figure 2. After many generations of selection by the user and breeding, these are the images left.
Figure 3. Example of breeding. Figure 3a and 3b are the two images which are breed. Figure 3c and 3d are the result of the breeding. The image 3d has only one color so is featureless.
Figure 4. Example of image produced by the program in Appendix 1.
Figure 5. Zoom on a small region near the center of figure 4. The color map has also been changed.
Figure 6. Another example of image produced by the program in Appendix 1.Also in this image we did a zoom and changed the color map.
Figure 7. Spiral produced by the same program.This is a zoom near the center of the image produced by using the numbers reported in appendix 2.