Search blog posts
2010-01-17 Enumerating crosswords
2010-01-16 Series and animations
2010-01-09 Drop art
2010-01-08 Five self-portraits
2010-01-02 Levente Peterffy
2009-12-31 Jim Soliven
2009-12-29 An animation
2009-12-28 New comment engine
2009-12-20 A new type of piling
December 20th 2009
A new type of piling
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... 20091218-1 and 20091219-1 also use this new piling technique.