I've been seeing some strange behavior in some formulas that I'm working on and finally figured out why.

Here's some pseudo-code of how UF works. This is for the class version of UF; the non-class version works similarly:

for each pixel, repeat
    call Iterate in the Formula plug-in to get a new z
      if the new z causes bailout
         call ResultIndex in the Coloring plug-in
         done with this pixel
      else
         call the Coloring Iterate to process this z value

Note that the final z value is never seen by Iterate in the Coloring plug-in.

If bailout occurs on the first Formula iteration, then the Coloring Iterate is never called. If the formula writer is not aware of this behavior, and if the ResultIndex calculation depends on the sequence of z values, not just the final value, strange behavior may be seen.

I believe that this is the problem behind the strange behavior I saw last September in this forum posting:
https://www.ultrafractal.com/forum/index.php?u=/topic/888/problem-with-multiple-threads

I've been seeing some strange behavior in some formulas that I'm working on and finally figured out why. Here's some pseudo-code of how UF works. This is for the class version of UF; the non-class version works similarly: ```` for each pixel, repeat call Iterate in the Formula plug-in to get a new z if the new z causes bailout call ResultIndex in the Coloring plug-in done with this pixel else call the Coloring Iterate to process this z value ```` Note that the final z value is never seen by Iterate in the Coloring plug-in. If bailout occurs on the first Formula iteration, then the Coloring Iterate is never called. If the formula writer is not aware of this behavior, and if the ResultIndex calculation depends on the sequence of z values, not just the final value, strange behavior may be seen. I believe that this is the problem behind the strange behavior I saw last September in this forum posting: https://www.ultrafractal.com/forum/index.php?u=/topic/888/problem-with-multiple-threads
 
0
reply

You are right that this is how UF works. The idea is that every z value is only presented once to the coloring algorithm.

Since this behavior is 100% deterministic though, I believe this could not be responsible for the erratic red areas in the topic you linked to (which I still need to dive in to).

You are right that this is how UF works. The idea is that every z value is only presented once to the coloring algorithm. Since this behavior is 100% deterministic though, I believe this could not be responsible for the erratic red areas in the topic you linked to (which I still need to dive in to).

Ultra Fractal author

 
0
reply
51
views
1
replies
2
followers
live preview
Enter at least 10 characters.
WARNING: You mentioned %MENTIONS%, but they cannot see this message and will not be notified
Saving...
Saved
All posts under this topic will be deleted ?
Pending draft ... Click to resume editing
Discard draft