Enough whining about summer program applications, here’s a legacy fractal applet I dug up while writing Project Euler code…
Excel Excel presents: CHAOSBROT
Yes, I know, horrible UI, bad code, can’t import/export, no numerical entry for windows, etc, etc, etc… But it renders and lets you anti-alias with a downsampling rate of F^2 where F = anti-aliasing factor.
CONTROLS: (Chaosbrot on left, Julia on right)
Left mouse button = zoom in by 2x
Right mouse button = zoom out by 2x
Middle click on mandelbrotCHAOSBROT set = render “Julia” set with seed value at that point
Middle click on “Julia” set = center julia set on that point
Generally don’t worry about “precision” or whatever, but if lines become too faint then reduce your precision by about 50% and press enter. Changing values have no effect unless you press enter.
Keep in mind that the upper bound for running time is O(F^2 * R), where R is the “Precision” variable (in other words, “largest iteration allowed before braking”). And there’s no “break” function since I was too lazy to add one, but DO NOT PUT VALUES OF “F” GREATER THAN 20! I generally use F=1 when zooming in and F=5/8 when rendering, 8 if the zoom is shallow and 5 if it’s relatively deep. You will be running so slowly with F > 20 that you might as well go take a 4-hour nap and it still won’t be done. (F = 99 on a 65536x zoom takes about a day to run)
(See newer blog post for up-to-date link)
HOW TO USE:
Extract .class file and .html file into same folder, open .html with any Java-enabled browser (Install Java SE from Sun to run the Applet if you can’t). It’s only 7 KB! Talk about a compact package :D. (Source code won’t be released since I’m against releasing terrible code onto the internet)
WHAT CHAOSBROT IS:
Normally the mandelbrot set renders using this general relation (not actual code), given w = a+bi:
a_(n+1) = a_n^2 + b_n^2
b_(n+1) = 2 * a_n * b_n
Chaosbrot is rendered by removing the multiplicative constant of 2 from the algorithm. That’s the only modification made.