WHAT IS IT? ----------- This project demonstrates an interesting technique for generating a Mandelbrot fractal design as well as providing a nice example of hill climbing. A number of fractal generation turtles do a random walk across a complex plane, computing one additional iteration of Z^2 + R each time they cross a patch. A count is maintained of the number of iterations computed at each patch before the complex number at that patch reaches a maximum This count is then translated into a color, giving the Mandelbrot set it's distinctive look. An interesting way to view the emerging set is that you are looking straight down on one of the Hawaian Islands. The center is extremely high (infinitely so, in fact), simply because no amount of iterations at these points will cause the associated complex number to reach a pre-determined maximum. The edges of the set are steeply sloped, and the "sea" around the set is very shallow. HOW TO USE IT ------------- Click on SETUP to create NUMBER fractal generation turtles, place them in the middle of the screen (at complex coordinate (0,0), and scale the 101,101 screen to approx -1 to 1 on both the real and complex planes. To start the calculation, start the slider THROW at 0, press the GO button. Note that the system seems to stall, with each turtle "stuck" on a local maximum hill. Changing THROW to 7 will "throw" each turtle a distance of 7 each time they reach the top of a hill, essentially giving them a second chance to climb an even greater hill. The classic Mandelbrot shape will begin to appear fairly quickly. THINGS TO NOTICE ---------------- Notice that the "aura" around the Mandelbrot set begins to appear first, then the details along the edges become more and more crisply defined. Finally, the center fills out and slowly changes to black. Notice how different values for THROW change the speed and precision of the project. Also, try running 'Mandelbrot' with different values for NUMBER. THINGS TO TRY ------------- It's fairly easy to hack at the Starlogo code to change the scale factor- it's set as the global variable 'factor'. You might also think about adjusting the viewport in the plane, to allow for a larger picture (although the smaller sized picture might look better and emerge quicker.) You might also play with the colors to experiment with different visual effects. Notice also what happens when you turn off climbing and/or wiggling. EXTENDING THE MODEL ------------------- Try to produce some of the other complex sets- the Julia set for instance. There are many other 'fractals' commonly known today. Just about any book on them will have several nice pictures you can try to duplicate. STARLOGO FEATURES ----------------- To accomplish the hill climbing I use CURRENTCOUNT and NEXTCOUNT turtle variables, comparing them to one another to establish a gradient to guide turtle movement. The goal of each turtle is to move up the emerging gradient, "booting itself up" to the ever growing center of the set. Note that there is no complex arithmetic in Starlogo, so the basic operations needed to be provided as Starlogo routines at the beginning of the code. These complex arithmetic routines are also used in other fractal calculations and can be tailored to your own explorations.