|
![](/i/fill.gif) |
waggy wrote:
> CShake wrote:
> [...]
>> return (float)i + 1 - (log(log(r)/log(bailout)))/log(n);
> [...]
>
> You're return value may be a bit off. The function log(r)/log(bailout) is the
> base bailout logarithm of r,* which may not be what you intended. The usual
> formulation of this part is the (base n log of the natural log of the bailout)
> minus (the base n log of natural log of the radius), where n is the power of the
> mandelbulb. This can then be simplified a little.
>
> return (float)i + 1 - ( log(log(bailout))-log(log(r)) )/log(n)
> //then
> return (float)i + 1 - log(log(bailout)/log(r)) / log(n)
I spent a bit of time on that problem too, and ended up with my equation
based on the Escape Time Algorithm as presented at:
http://en.wikipedia.org/wiki/Mandelbrot_set#Continuous_.28smooth.29_coloring
Unless I'm reading it wrong, that formula is effectively ( i - log[base
N](log[base bailout](r))), which is what I'm using. I assumed that in
the formula on wiki that the inner log (hardcoded as base 2) is actually
base 'bailout', where most formulations of the mandelbrot equation use 2
as the bailout value. The Zn value is stated as the value after n
iterations, which in this case is r. Either I interpreted that equation
wrong, or I'm erroneous in applying the '2d' equation in '3d'.
However, I don't think that's the problem in my equations, since I still
get the same basic shape if I return 'i' instead of the 'smooth'
coloring. Also, I wouldn't expect it to completely remove some of the
features if I got this part of it wrong.
Chris
(I'm also between class and finals, this is how I'm procrastinating
instead of studying and grading a pile of lab reports... )
Post a reply to this message
|
![](/i/fill.gif) |