POV-Ray : Newsgroups : povray.binaries.images : 'Accidental' isosurface : Re: 'Accidental' isosurface Server Time
23 Jun 2024 16:16:13 EDT (-0400)
  Re: 'Accidental' isosurface  
From: CShake
Date: 13 Dec 2009 18:47:48
Message: <4b257d24$1@news.povray.org>
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

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.