javascript,canvas,pseudocode,fractals,mandelbrot
Complex number have a two part: real, imaginary. So z = a + b*i, where a is real part, and b*i is imaginary. In provided sample for z=z^2+c, where z=z_r+z_i*i NOTE: i*i = -1 So z^2 = (z_r+z_i*i)*(z_r+z_i*i) = z_r*z_r+2*z_r*z_i*i + z_i*i*z_i*i = z_r*z_r+2*z_r*z_i*i - z_i*z_i now add c: z_r*z_r+2*z_r*z_i*i...
Your complex number square is wrong. You are overwriting the old value of a where it is needed again in the computation of b. So save it in a temporary variable. Also, the bailout value of 60 iterations is rather small, 200 would be more appropriate for this scale, for...
The Mandelbrot set is a special set in terms of Julia sets, some documentation writes that the Mandelbrot set is the index set of ALL Julia sets (there is one and only one index set - the Mandelbrot - and there are infinite number of Julia sets.) When you calculate...
c++,fractals,allegro,allegro5,mandelbrot
Your calculation of the complex modulus is incorrect. float Complex::getAbsoluteValue() const { return sqrt(real * real + imaginary + imaginary); } You've since removed this section of your post, but it should say float Complex::getAbsoluteValue() const { return sqrt(real * real + imaginary * imaginary); } ...
Your getIterValue needs to return an object containing the final value of Z as well as the number of iterations n. Your pseudo-code would then translate to nsmooth := iter.n + 1 - Math.log(Math.log(iter.Z.abs())/Math.log(2)) You can translate this to a value between 0 and 1 with nsmooth / maxIterations with...
A good start with debugging is to run the program with simple inputs (e.g. to generate a 8x5 output image), then look at the output. Since PPM is easily human-readable, you'll see that you get only 8 samples. That should be a clue that the first row is okay, and...
java,javascript,fractals,mandelbrot
I heard "escape" should be 4(2^2) Escape radius should be greater then 2 so any value > 2 is good. It can change shape of level sets and shape of numerical aproximation of Mandelbrot set. Square of escape radius should be greater then 4. See also this question HTH...
c++,multithreading,fractals,mandelbrot
You're making this (quite a lot) harder than it needs to be. This is the sort of task to which OpenMP is almost perfectly suited. For this task it gives almost perfect scaling with a bare minimum of effort. I modified your draw_mandelbrot by inserting a pragma before the outer...
This article is just perfect! It's a great insight for everyone who needs a smart way for creatign a continuos palette of colours. http://krazydad.com/tutorials/makecolors.php...