next up previous
Next: About this document Up: No Title Previous: Appendix 1

Appendix 2

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.

  table75



Giuseppe Zito
Wed Jul 31 18:19:39 MET DST 1996