Welcome to Fractal Forums

Fractal Math, Chaos Theory & Research => Theory => Topic started by: fractalrebel on February 12, 2011, 10:06:24 PM




Title: 3D distance estimates without using a derivative or Delta DE
Post by: fractalrebel on February 12, 2011, 10:06:24 PM
I have a distance estimate method that doesn't use a delta to estimate the derivative. In fact, it doesn't use a derivative of any kind. Here are the equations:

pot = exp(-siter*log(2)
grad = exp(-(siter-iter)*log(2))
distance = dfactor*sinh(pot)/(2*exp(pot)*grad)

siter is a smoothed iteration. It can be obtained from a number of approaches.

If the Vepstas smoothing method is used
siter = iter + log(log(sqrt(|zri|+|zjk|)))/log(2)

The potential (pot) comes from some of Vepstas' treatments
The gradient (grad) is normally where the derivative would appear, and is approximated with a special derivative of the potential (also fromm Vepstas' writings). The distance equation comes from the book Hypercomplex Iterations.

Here is a redo of an image I posted here a while ago using the the distance estimate method above:



Title: Re: 3D distance estimates without using a derivative or Delta DE
Post by: David Makin on February 13, 2011, 01:38:16 PM
pot = exp(-siter*log(2)
grad = exp(-(siter-iter)*log(2))
distance = dfactor*sinh(pot)/(2*exp(pot)*grad)

Hi Ron, I think I'm correct in that the formula you quoted gives DE for a divergence of degree 2, I know how to change "siter" for other values but what, if anything, needs changing for other divergence values in the above (and how) ?
Also does this work generically e.g. for the Mandelbox and KIFS and all the hybrids ?


Title: Re: 3D distance estimates without using a derivative or Delta DE
Post by: fractalrebel on February 13, 2011, 06:19:30 PM
Hi Dave,

It works for all types and is especially good for mandelbox, conformal mandelbrot and the hybrids.

Other forms for siter include:

more general
Vepstas/Harkonen:
                pow = log(|zri - oldzri| + |zjk-oldzjk|)/log(|oldzri - oldzri2| + |oldzjk-oldzjk2|)
                siter = i + (log(log(bailout^2)) - log(log(1/(|zri - oldzri| + |zjk-oldzjk|))))/log(pow)

most general
General smoothing:
                modhold = sqrt(|oldzri-zri|+|oldzjk-zjk|)
                modh = sqrt(|zri|+|zjk|)
                siter = siter + exp(-modh-0.5/modhold)

The Vepstas/Harkonen method is applied after bailout. General Smoothing must be aplied each iteration cycle.



Title: Re: 3D distance estimates without using a derivative or Delta DE
Post by: fractalrebel on February 13, 2011, 06:26:59 PM
I forgot to mention that for mandelbox and the hybrids I used Buddhi's method to calculate what he calls distance, and then use that value in place of sqrt(|zri|+|zjk|)


Title: Re: 3D distance estimates without using a derivative or Delta DE
Post by: fractalrebel on February 13, 2011, 07:56:31 PM
Dave,

I must have missed it somewhere along the way, and search of this site didn't provide much. What is KIFS?


Title: Re: 3D distance estimates without using a derivative or Delta DE
Post by: Buddhi on February 13, 2011, 08:08:16 PM
Kaleidoscopic Iterated Function System - http://www.fractalforums.com/3d-fractal-generation/kaleidoscopic-(escape-time-ifs)/


Title: Re: 3D distance estimates without using a derivative or Delta DE
Post by: fractalrebel on February 13, 2011, 11:38:18 PM
I was hospitalized for most of the time from March through June of 2010, so I missed a lot. In looking at the KIFS  code I see some statements like
rotate1(x,y,z)
which really confuses me, as x, y and z are regular variables and there is no mention of angles. Can anyone help me here? I would like to try my hand at some of Knightly's code and I can't without knowing what the functions are.
Please, someone help.


Title: Re: 3D distance estimates without using a derivative or Delta DE
Post by: fractalrebel on February 14, 2011, 12:19:19 AM
I found the rotate code  :embarrass: