This week I continued working on puzzling out the dimension-calculation. I realized that whenever there is a permanent, inactive line in the pattern, the dimension has to be at least 1 because that line is 1-dimensional. But the question is, when these inactive lines get replicated ad infinitum, when does the dimension of the set of them grow to be >1? The approach we're looking at right now is to assume it is no greater than 1 when the dimension of the active part (given by the solution to the Moran equation) is <1, and no greater than the dimension of the active part otherwise; this lets me put in a simple guard making sure that whenever there are inactive segments the dimension is at least one. It's a little counter-intuitive because of situations like this:
One would think the dimension of this shape would be something >1, but since the Moran equation yields 0.97 which is <1, my algorithm in its current form settles for just plain 1.
The FractaSketch program that was the original inspiration for this applet does this as well.
___
I fixed a bug with the grid resizing feature; the version on the site would make the current shape invisible after resizing, and the code I was working with disabled grid-resizing altogether after starting to build a shape. Now users can change the grid size at any time without losing their work.
___
I also made a change in how the different orientations get treated through replication steps. It's hard to explain concisely but for an example: before, a yellow (y-axis reflection) segment reproduced by any other segment would be a yellow segment still, but now it gets composed with the segment reproducing it so when a purple (x-axis reflection) reproduces a yellow, it turns it into a blue (pi-rotation), and when a blue reproduces a yellow it turns it into a purple and so on. For illustration, take this seed and its second iteration (which looks the same in both versions):
Before, the third iteration looked like this:
After, the third iteration looks like this:
and after a while it looks like this:
which is irrelevant but pretty neat. I don't think either is more theoretically sound than the other, but the new way is how I would expect the program to behave (it's also how the FractaSketch program behaves).
Also this week I've started a new project - an applet to measure fractal dimension on networks.
No comments:
Post a Comment