Density problem
#1
Hello Garth,

as you can see in my sample there is a problem with density. I've experimented but without great success. Please can you say me if there is an algorithmus to find out the best density (f.e. at first experimenting with iterator holon, then with the constructors, the with the iterator again...); or ist there an optimal cumulative density for all holons? I'm looking for a foolproof rule für this Smile

Regards Kaspar


Attached Files Thumbnail(s)
   

.xep   Jackal jacket_00001.xep (Size: 3.99 KB / Downloads: 5)
Reply
#2
Hi Kaspar,
density balance only has a perfect solution when all holons have linear transformations or metamorphs with fairly even distribution in space. All kinds of Julia and Moebius fractals break this rule and will never render evenly, so the best we can do is find the nearest balance, and that depends not only on the constructor sizes but the Julia parameters. One way to understand it is that the Julia fractals iterate in many different paths, and some copies of the constructors get iterated very small before getting iterated large again, with different combinations of probabilities that don't match the sizes of the iterated copies. Some arrangements can render in reasonable time and others are just too slow to bother with no matter what. The first step is still to try setting density/scale combinations to suit the size of the constructors and experiment. In this case the hidden constructors are quite large, and with some experiments in the preview I think holon densities of 1, 3, 8 are an improvement. There is no way to make this fractal render evenly; it's just the way the Julia distorts space.
Reply
#3
Hello Garth,
this sounds not as I like it; the julia seems to be a problem child. You say, I have to "try setting density/scale combinations", but is there a constructor size I should prefer? I think the actual size near 40 (the scale value in the scale/skew/rotation/position form) for the constructors seems for me normal, not too large, or what do you mean with "size"? And you mean the holon densities have to correspondend with the size (scale), it means higher size - higher scale, right? And the values you've recommended: Density 1 for the iterator, 3 for the torus and 8 for the sphere, right? Btw. perhaps the "scale" label should be renamed because it occurs twice (in the metamorph form too), and a novice like me can confuse this when reading about it. Thank you and regards

Kaspar
Reply
#4
Hi Kaspar,
you're right about the Julia. (In fact the purely random method of Julia, as in Julia2z and Julia2y, has bad distribution and that is why we use the T versions with their own iteration methods, but it still has problems with constructors.) The holon scales near 40 are about right for a 'typical' constructor, but this depends on the metamorph scale and also other parameters that vary its shape, thickness etc. And in this case your sphere is much larger, so it needs either bigger scales or bigger density. Yes, I meant 1 for the iterator, 3 for the torus and 8 for the sphere, and these are just rough guesses from a bit of playing and watching the preview.

The holon densities should really be automatically adjusted for constructor sizes, and I want to do this but it would break compatibility badly so it has to wait for a major overhaul that breaks other compatibilities too.
Ideally the metamorph parameter names could change to suit each metamorph, because the meanings actually vary a lot. The whole shape (and color) handling has evolved a lot since the beginning and has become constrained by the design history.

There is another trick I often do for rendering Julias with constructors. I start with my best guess, and when the render is fairly well done but showing some problem areas, I stop it, and increase or decrease the Julia iterator density by a factor of 3, say, and render more, and see if it either increases the average pixel rates or starts filling in the problem areas faster. Increasing the iterator density helps with the smaller iterated details, while decreasing it helps with the first iterations of the constructors. But there may be iterations of constructors that are not helped by either approach. With more than one constructor, sometimes only one of them has problem iterations so I may reduce the other constructor densities by a lot.
Reply
#5
Hello Garth,
Quote:And in this case your sphere is much larger, so it needs either bigger scales or bigger density.
What do you mean with "larger"; it's at last the visible size in the holon window relative to the other holons, not the scale or other values, right? And "so it needs either bigger scales": Bigger scales will result in a much more larger sphere; how can I understand this?

Quote:The holon densities should really be automatically adjusted for constructor sizes, and I want to do this but it would break compatibility badly so it has to wait for a major overhaul that breaks other compatibilities too.
This would be great, I'm curious about it; perhaps at Christmas? Smile

Quote:...and render more, and see if it either increases the average pixel rates or starts filling in the problem areas faster.
As I read in the XD help, "For Chaos renders, the Rate indicator shows the number of new pixels plotted each second. New pixels are those in front of existing pixels." So I would think the average rate is a gauge for development of the pic; it should be equivalent, not contrary equivalent. Decreasing rate would mean it happens just once a little progress; it should be increasing to fill the Problem areas, isn't it?

At last, thank you so much especially for your rendering trick; I think this should be helpful. Best regards
Kaspar
Reply
#6
(09-25-2014, 01:39 AM)Kaspar Wrote: Hello Garth,
Quote:And in this case your sphere is much larger, so it needs either bigger scales or bigger density.
What do you mean with "larger"; it's at last the visible size in the holon window relative to the other holons, not the scale or other values, right? And "so it needs either bigger scales": Bigger scales will result in a much more larger sphere; how can I understand this?
Yes, I mean the visible size. For constructors, the 3 holon scales only affect the size if the metamorph Rescale option is checked. But they do affect the automatic density, just as for iterators. So I like to adjust them to sort of match the constructor size, and do minor adjustments with Density, rather than huge variations in Density. (There are two reasons for this: Density doesn't have unlimited range, and it makes the holon window easier to understand and use if the holon boxes aren't all equally large.) Of course if you use Rescale to change the dimensions of the constructor then you have to use the 3 scales for that and use Density to do all the density adjustment.

Quote:
Quote:The holon densities should really be automatically adjusted for constructor sizes, and I want to do this but it would break compatibility badly so it has to wait for a major overhaul that breaks other compatibilities too.
This would be great, I'm curious about it; perhaps at Christmas? Smile
I expect only a minor update in this timeframe, as I've been working on something else, so the big changes will take longer.

Quote:
Quote:...and render more, and see if it either increases the average pixel rates or starts filling in the problem areas faster.
As I read in the XD help, "For Chaos renders, the Rate indicator shows the number of new pixels plotted each second. New pixels are those in front of existing pixels." So I would think the average rate is a gauge for development of the pic; it should be equivalent, not contrary equivalent. Decreasing rate would mean it happens just once a little progress; it should be increasing to fill the Problem areas, isn't it?
For Julia and other Fractal metamorphs ending in 'T', there is iteration within the metamorph that is not random, so the rate does not fall evenly but can go all over the place as the metamorph works through one pass of the combinations. So what I mean by average is that you have to watch it for maybe ten seconds or more, and decide if it's more or less than before. More is better, although it might not be helping the problem areas much.

This is why the picture window status bar shows extra numbers for these Tree metamorphs. When you have no constructors or only small constructors with no Max Iterations limit, it takes longer and longer to work through each 'Pass'. But when there are larger constructors, especially with small Max Iterations to keep the fractal structure cleaner, the Pass increases by more than 1 every second. In this case you don't need to watch more than a few seconds because the rate is already averaging multiple passes and is consistent enough. Also it can take a while to see visible improvement in the problem areas.

With Julias (even more than other types) it really is a matter of experimenting to find what is worth rendering and what is not. Sometimes I start rendering something with potential, but after a while I decide it will never work, and throw it away.
Reply
#7
Hello Garth,
(09-25-2014, 08:19 AM)Garth Thornton Wrote: Yes, I mean the visible size. For constructors, the 3 holon scales only affect the size if the metamorph Rescale option is checked. But they do affect the automatic density, just as for iterators. So I like to adjust them to sort of match the constructor size, and do minor adjustments with Density, rather than huge variations in Density. (There are two reasons for this: Density doesn't have unlimited range, and it makes the holon window easier to understand and use if the holon boxes aren't all equally large.)

If I understand you aright, you prefer to leave the rescale checkbox unchecked, then you give the constructor (f.e. sphere) with "scale" in the metamorph form the wished size in the preview window, after this you bring the sphere holon with "scale" in the holon form in a nearly equivalent size; an all this because the eqivalent holon size results in an optimized density for this holon. This would not happen if "rescale" is checked. Is this right?

Regards Kaspar
Reply
#8
That's mostly right. What Rescale does is apply the holon scales after the metamorph instead of before. (For constructors, rescaling before does nothing, which is why you can change the holon scales without affecting the size.) So you must use Rescale if you want to give the constructor different sizes in each direction. You can actually use it any time for constructors. (A few constructors have a fixed size and use their Scale parameter for height or something else, so you need to Rescale those to change size anyway.) But the holon scales are used to calculate density, and the metamorph scale is not. The closer the holon scales are to matching the visual size of the constructor, the less density adjustment is needed.
Reply
#9
Hello Garth,
thank you for explaining this (for me) complicated problem; I think I've learned somewhat for better using XD. And for the next upgrade: May the Force be with you! Smile
Regards Kaspar
Reply


Forum Jump: