Mandelbrot Set Generator [fixed]
Posted by Gizmosis350k
Last Updated: April 09, 2012
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Ch04Ex06
{
   class Program
   {
      static void Main(string[] args)
      {
         double realCoord, imagCoord;
         double realTemp, imagTemp, realTemp2, arg;
         int iterations;
         for (imagCoord = 1.2; imagCoord >= -1.2; imagCoord -= 0.05)
         {
            for (realCoord = -0.6; realCoord <= 1.77; realCoord += 0.03)
            {
               iterations = 0;
               realTemp = realCoord;
               imagTemp = imagCoord;
               arg = (realCoord * realCoord) + (imagCoord * imagCoord);
               while ((arg < 4) && (iterations < 40))
               {
                  realTemp2 = (realTemp * realTemp) - (imagTemp * imagTemp)
                        - realCoord;
                  imagTemp = (2 * realTemp * imagTemp) - imagCoord;
                  realTemp = realTemp2;
                  arg = (realTemp * realTemp) + (imagTemp * imagTemp);
                  iterations += 1;
               }
               switch (iterations % 4)
               {
                  case 0:
                     Console.Write(".");
                     break;
                  case 1:
                     Console.Write("o");
                     break;
                  case 2:
                     Console.Write("O");
                     break;
                  case 3:
                     Console.Write("@");
                     break;
               }
            }
            Console.Write("\n");
         }
         Console.ReadKey();
      }
   }
}


I got the source code right after comparing it with the one from the site at wrox.com.

Basically, this demonstrates the for statement in lots fo style. The authors went a little overboard with this one, because things such as Mandelbrot Sets are for persons who are VERY verse in math, and so to be honest i only have a very limited understanding of how this function is capable of achieving such a  complex pattern.
In full colours, this is what it looks like:-
File:Mandel zoom 00 mandelbrot set.jpg


and this is what the program printout looks like: