Thursday, November 23, 2006

Rejuvenate Guilty Battle

"Art is making something out of nothing and selling it." Frank Zappa

SO, I am clicking around a bit and find this blog- Fractalia which is very interesting in the tiny places I can understand it. Basically I am looking at images anyway when this one catches my eye.

Here is it's explanation: "Sierpinski's Gasket, a simple IFS. X and y increase towards the lower right.
The recursive structure is visible as the whole image is made up of three copies of itself, one for each function.
For example, if the functions are then the fixed-point S is Sierpinski's Gasket, as seen here. In order to facilitate the proofs and guarantee convergence of the algorithms, the
functions are normally constained to be contractive, that is, to bring points closer together. In fact the normal algorithm works under the much weaker condition that the whole system is contractive on average. Useful guarantees of this become difficult to provide when the functions are non-linear. Instead we recommend using a numerically robust implementation, and simply accept that some parameter sets result in better images than others, and some result in degenerate images. The normal algorithm for solving for S is called the chaos game. In pseudocode it is: (x,y)= a random point in the bi-unit squareiterate { i = a random integer from 0 to n�1 inclusive (x,y) = Fi(x,y)plot(x,y) except during the first 20 iterations}
The bi-unit square are those points where x and y are both in [-1,1]. The chaos game works because if (x,y) 2 S then Fi(x,y) 2 S too. Though we start out with a random point, because the functions are on average contractive the distance between the solution set and the point decreases exponentially. After 20 iterations with a typical contraction factor of 0.5 the point will be within 10�6 of the solution, much less than a pixel's width. Every point of the solution set will be generated eventually because an infinite string of random symbols (the choices for i) contains every finite substring of symbols. This is explained in more formally in Section 4.8 of [1].
No sufficient number of iterations is given by the algorithm. Because the chaos game operates by stochastic sampling, the more iterations one makes the closer the 3 result will be to the exact solution. The judgement of how close is close enough remains for the user. In fractal flames, the number of samples is specified with the more abstract parameter quality, or samples per output pixel. That way the image quality (in the sense of lack of noise) remains constant in face of changes to the image resolution and the camera. It is useful to be able to weight the functions so they are not chosen with equal frequency in line 3 of the chaos game. We assign a weight, or relative probability wi to each function Fi. This allows interpolation between function systems with different numbers of functions: the additional functions can be phased in by starting their weights at zero. Differently weighted functions are also necessary to draw symmetric flames as shown in Section 6. Some implementations of the chaos gamemake each function's weight proportional to its contraction factor. When drawing one-bit per pixel images this has the advantage of converging faster than equal weighting because it avoids redrawing pixels. But in our context with mutiple bits per pixel and non-linear functions (where the contraction factor is not constant) this device is best avoided.


Funny- in Quilt-Speak, it's called the Birds-in-the-Air pattern. You want to tell him? Not me!

1 comment :

Mary Beth said...

double dog dare ya!

You know you want to.