Wednesday 22 March 2017

The Haunting Beauty of The Mandelbrot Fractal

We had the very first Algorithmic Art meetup earlier.

Videos of the meetup are on SkillsMatter.


Clitoris Vulgaris

We started with a great talk by Sinead on a twitter bot, @clitoscope, she and her husband have been working on.

A husband-wife project .. new meaning to pair programming!

The project is combines quite a few interesting themes:
  • raising awareness of half the human population's anatomy
  • rasing money for Wellbeing of Women
  • exploring interactions on the internet, including between bots
  • creating unique pieces of art, with different configurations and textures
  • algorithmically choosing a suitable background colour (using the HSV model) that complements the object's texture
  • language processing to automatically select plausible latin names for the half-botanical creations

Using the HSV colour model to pick a complementary colour.

You can read more about the project here. Myself, I love how this project has raised awareness of a medically neglected part of women's bodies .. in a fun and interesting way.

You can find the slides here.



Mandelbrot & Julia Fractals

The next talk was an attempt to explain how the Mandelbrot and Julia fractals are made.


The talk started with a view of some varied renderings of the fractals, patterns which are self-similar at different scales. These particular fractals are very organic in their intricacy, invoking images of lightning, landscapes, eyes, ferns and seahorses.


The core aim of the talk was to demystify the mathematical algorithm that creates them. Starting with the very simple and familiar idea of repeatedly applying a function ("sausage machine") to a number to create a sequence of numbers, the talk progressed to the idea of creating maps to show which regions of number-land behaved differently. Some starting numbers seemed to create sequences that grew and grew, whilst others created sequences that shrank and shrank.

The key point (in history) was applying these ideas, not to normal numbers, but to complex numbers. A gentle introduction to complex numbers was attempted - they're not complex at all .. and they should be called composite numbers really.

The magic starts when we see a wide range of surprising behaviours ... starting with x=0+0i and a chosen c, the sequences we get from repeatedly applying x2+c can:
  • grow slowly larger, orbiting away from the origin
  • rapidly explode. escaping the origin
  • circle about and approach an attractor point
  • circle in an orbit that doesn't shrink
 

That's pretty amazing .. such a range of behaviour from such an innocent looking funvtion x2+c.

Creating a map, to show which regions behave differently - either escape or remain in orbit - is the same idea as applied to the normal number line earlier. For complex numbers, which can be shown in a 2-dimensional plane, we might expect a circlular zone around the origin for numbers which shrink, or at least, don't explode. Maybe not a circle, maybe a square or a diamond? So we're surpised again when we see the shape to be nothing regular at all! That shape is the Mandelbrot fractal!

Here's what's is considered to be the first rendering done in 1978!

 

Here's a more detailed version:


That's pretty amazing. Such a simple formula leading to such antricate shape. And one that's infinitely detailed and varied .. and in many parts, beautiful!

The talk explained how you could apply a colouring scheme, the most common one using colours to indicate how fast the sequences escaped.

Julia fractals are generated with the same simple formula x2+c, but with the starting value for x set as the point on the map and c being set at a constant throughtout. The resulting images are just as beautiful! Here's an example.


Tools for making your own were pointed, inlcuding xaos which calculates the patterns so fast you can zoom in animated realtime, and websites which dont need any software to be installed.

The talk then showcased some ideas for taking these images further, making 3-dimensional landscapes, applying edge-detecting filters and even a brush-stroke simulating filter.

The slides which contain more detail, more pictures and pointers to resources are at the permanent link: https://goo.gl/I6fIIb


Example Python code for making your own Mandelbrot and Julia fractals canbe found at https://github.com/makeyourownmandelbrot/makeyourownmandelbrot. More blog posts on making these fractals can be found at http://makeyourownmandelbrot.blogspot.co.uk.


More Talking!

After the main session there was quite a bit of enthusiastic talking! Eavesdropping or joining in, I found a few themes emerging:
  • The down-side of social media .. attack bots, fake news bots. Tools for visualising the problem, and helping dealing with this.
  • Someone wanted help with visualising the effects of Einstein's relativity theory .. and someone else suggested MIT has an API for this .. and the meetup comments had the links later! A great example of community problem solving!
  • Someone else was interested in applying fractals to their own design world (including typography!) .. so we talked about other kinds of fractals, including those created by L-systems.  We have an upcoming talk on l-systems.
  • The idea of genetic algorithms creating art objects .. I'd love a future talk on this topic!

Charalampos was working away on his laptop during the talk and came up with these amazing images: https://github.com/papaloizouc/fractals_2... I'm hoped we'll have a future short talk on these.


No comments:

Post a Comment