JuliaSet

Download JuliaSet - A Julia Set Explorer. [237 KB]

JuliaSet Source Code


Download JuliaSet Source Code [226 KB]

Screenshot

The Julia Set is created by computing newZ ← Z² + C, where Z is a complex number representing a point in the complex plane, and C is a complex constant. You repeat this operation many times. Either Z becomes a large number, or it stays small. The Julia set is the set of Z's on the border between getting large and staying small. Here, I'm plotting the number of steps it takes for Z to become large.

The images are surprisingly pretty, considering how simple they are to compute.

I converted this to use Grand Central Dispatch, and in my timing tests, it ran 7 times faster on a 16 core Mac.

I tried converting this to use OpenCL, but the library generated an error with my kernel. If you can give me openCL advice, I'll send you that source code.

Version 1.0 - initial release

Version 1.0.1 - use Grand Central Dispatch, (using OS X 10.6 calls)

Version 1.0.2 - use the full green color palette

Version 1.0.3 - After OS X 10.6, NSImageBitmapRepresentation does nothing if you modify the underlying bitmap. Fixed.

Xcode 5.1. Apache license.

Compatibility: Macintosh OS X 10.6 or later. Macintosh Intel.

Other Source Code by David Phillip Oster

Page last modified August 17, 2014