The Uninteresting Chronicles of a High School Student

January 5, 2010

The CHAOSBROT Fractal

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)

DOWNLOAD LINK:

(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.

Advertisements

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: