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: |