Skip to content. | Skip to navigation

Personal tools

Sections

FractalScapes Interactive Fractal Designer

FractalScapes is an iOS implementation of an touch interactive Lindenmayer system fractal generator. The only iOS L-System generator which lets the user drag and drop graphic rule tiles to create new interesting fractals. Combines highly optimized C code, image filters and motion sensing and custom view transitions.

Interactive & Graphic Fractal Generation

What makes FractalScapes special from a UI viewpoint? If you take a look at the L-System web page on Wikipedia, you will see that L-Systems and most of their implementations consist of a lot of "F+F−F−F+F +". All implementations I have seen give the user a text entry field where they type the "F"s and other alphabetic letters to create the fractal definition. This includes those iOS apps which let the user edit the rules. Most apps give the user a few pre-defined fractals and only let the user change angles or colors.

Tile Drag and Drop Gif
Interactive tile drag
The first iteration of FractalScapes used text fields and the standard letter rules. Fortunately, someone asked the question, "why letters and typing? Why can't I just drag icons around?" Duh! So each L-System standard letter was replaced with a custom icon to represent the drawing operation. These icons where then placed in a palette so the user could use touch gestures to add, remove and re-order the rules. To top it all off, thanks to some major optimization with the "C" in Objective-C, the fractals are able to be redrawn fluidly in real-time as the user rearranges the rule icons. 

Interactive rules rearranging is cool but we realized, with the Apple frameworks and touch, we could do a lot more with minimal effort. How about be able to change line thickness, angles, colors, delta properties and more all with a gesture on the display? Done and done.

Filters?
Snowflake Sky
Snowflakes w/ Filters

Filters! Apple's CoreGraphics libraries has great built-in image filtering. So we created another tab and populated the filters pallet with every available built-in filter. Again using simple drag and drop gestures and rearranging, the user can chain filters real-time and interactively. Drag in a filter to shrink the image. Add a filter to create an array of the image. Add a skew filter et voila, a snowflakes in the sky scene.

The filters add a whole new dimension to the users fractals and are the easiest way to take something plain and make it look cool with absolutely no skill.

For more details about the frameworks used in FractalScapes, see the blog posting.