Below is the latest version of the application. Click to zoom.
The panel on the right controls the rate of zoom, the lower middle panel controls the iteration bailout value (set this to higher when zooming to stop smaller fractals appearing ‘blobby’) and the lower left panel controls the palette cycling mode (N.B. this is still a bit glitchy but I hope to improve on this)
I discovered that there were some unexpected pay offs in using ActionScript:
- The zoom function was extremely easy to program using the inbuilt Flash
- Palette cycling. The early version of the fractal browsers that I have used had some kind of palette cycle mode. When implementing this project, I discovered the
paletteMap()function of the
bitmapDataclass and this demonstration. However the documentation of the function isn’t that in-depth, as such this is an early version of the palette cycling mode. I hope to soon fully understand how the palette map function works, and to post an explanation.
- Little touches to the user interface are very easy to create (although possibly much easier using Flex)
As well as some hindrances:
- The lack of real threading in AS 3 makes it hard to code. Basically, because the process of generating the fractal takes quite a long time, it locks up the application whilst this is running. The method I used for working round this was to pause the calculation every so often using the
setInterval()method to wait (which would give the graphics time to re-render)
- No useful built in collection framework in AS 3 and I didn’t reuse an existing collection framework because the object of the exercise was coding it all myself, however I hope to refactor this soon.