Algorithmic worlds 


Search blog posts20091231 Jim Soliven 20091229 An animation 20091228 New comment engine 20091220 A new type of piling 20091218 Jonathan McCabe 20091213 Fractalish photography 20091212 Aerial tiltshift photography 20091211 Janet Waters 20091210 Digital patina 20091208 Pattern piling with feedback 
BlogA blog about algorithmic art and fractal aesthetic. Click here to subscribe to the RSS feed. December 20th 2009 A new type of pilingI mentioned in the previous post that I wanted to speak a bit more about Jonathan McCabe's Flickr set Relax Implode. Look at the picture below.
First, it is clear that it is constituted of a pattern repeated at various scales. The basic pattern looks roughly like what you obtain from Perlin noise, when you color in black the regions where Perlin noise is negative and in white the regions where it is positive, see the picture below.
What is interesting is how the smaller patterns are arranged. Though they display roughly the same shapes as the large scale pattern, they are such that they fill the regions left uniform by the larger pattern. I though a bit about how to draw something similar with my algorithms, and here is what I came up with. Suppose that the "patterns" are continuous real functions defined on the plane, returning an "index" value between 1 and 1. Suppose that i1 is the value of the index returned by the largest pattern, and i2 is the value of the index returned by the second largest pattern. How can we merge them so that we can draw something like McCabe's picture? Roughly, the idea is that when the large pattern returns a value close to zero, we want the effect of the small pattern to be negligible. One way to achieve this is to pile the pattern 2 on the pattern 1 as follows: i = i1 + i1*i2, where i is the index obtained by piling the two patterns. Once we have piled a few copies pattern of the pattern (apparently McCabe uses only three copies), we can again color black the regions where the index is negative and white the regions where it is positive. The smaller patterns will fill the regions left uniform by the larger patterns. Of course, the simple formula I sketched above doesn't really work as it stands, you have to tweak it by including some factors and powers to get aesthetically pleasant results, and they actually depend on which pattern you're trying to pile. But it really provides a new way of piling patterns. Here is an example.
Unlike what you may think, this image has only two colors. The gray parts come only from the antialiasing of small scale patterns. Arguably, it doesn't look very much like McCabe's pictures: his patterns are more densely packed, and my image use many more scaled patterns. But copying is not the aim here. Thanks to the object oriented programming available since Ultra Fractal 5, I can now easily use this type of piling with any of my pattern generator. That's a lot to explore... 200912181 and 200912191 also use this new piling technique. 

