Welcome to Fractal Forums

Fractal Software => Programming => Topic started by: David Makin on April 05, 2010, 04:27:31 PM




Title: Relationship between bailout and accuracy of analytical DE
Post by: David Makin on April 05, 2010, 04:27:31 PM
Hi all,

Since <see subject> is pretty fundamental to most 3D rendering I decided to investigate the relationship in more detail and wrote the following in UF:

Code:
init:
  z = @start
  complex dz = (0,0)
  float d = 0.0
  float dold = 0.0
  float m = 0.0
  bool bail = true
loop:
  dold = d
  dz = @power*dz*z^(@power-1.0) + 1.0
  z = z^@power + #pixel
  m = |z|
  d = 0.25*log(m)*sqrt(m)/cabs(dz)
  if |(d-dold)/d|<@smallbail
    bail = false
  endif
bailout:
  bail

And then created a normal layer of the standard Mandelbrot and adjusted the smallbail on this layer and then adjusted the bailout on the normal layer until the iteration bands matched as closely as possible.
I found the result very significant, at least for 2D complex fractals - I'm hoping the result extends to 3D+ :)

Basically if your bailout is 10000 i.e. you're testing magnitude squared against 10000 then your DE estimates are accurate to just two decimal figures i.e. if your DE is 0.01 then it's only accurate to +/-0.0001, if you're using a bailout of 1000000 then your DE is accurate to 3 decimal figures etc.
This result was confirmed for all powers I tried on the standard z^p+c Mandelbrot.


Title: Re: Relationship between bailout and accuracy of analytical DE
Post by: reesej2 on April 08, 2010, 02:56:03 AM
Oh, that's interesting. It makes a lot of sense, though. I'd think it would hold for the Mandelbulb and similar, too.