[R] Fractals in R and having fun! (and more persp and color)
    Martin Maechler 
    maechler at stat.math.ethz.ch
       
    Thu Sep 18 14:48:26 CEST 2003
    
    
  
>>>>> "Mario" == Mario ??? <ucgamdo at ucl.ac.uk>
>>>>>     on Wed, 17 Sep 2003 12:45:51 +0100 writes:
    Mario> Well, I started playing with fractals in R, and wrote
    Mario> a function to generate de Mandelbrot set, which might
    Mario> be of interest to some people
    Mario> ###################################################################
    Mario> # Mandelbrot set
    Mario> ###################################################################
    Mario> mandelbrot <- function(x = c(-3.0, 1.0),   # x coordinates
    Mario>                        y = c(-1.8, 1.8),   # y coordinates
    Mario>                        b = .05,            # by 'steps'
    Mario>                        iter = 20)          # maximum number of iterations
    Mario>     <..................>
    Mario>     <..................>
    Mario>     <..................>
Well, only a bit more than year ago I had posted my version of
mandelbrot() and a drawing function, see
   http://finzi.psych.upenn.edu/R/Rhelp02a/archive/5898.html
   [ I have a slightly updated version of the R code, that is now
     available as ftp://stat.ethz.ch/U/maechler/R/Mandelbrot.R
   ]
which is an order of magnitude more efficient than yours (22 x
faster for your "b = 0.01", *1), *2)
and with an iterImage() function for drawing its result in
several (simple) color schemes.
I agree that the proper solution would *definitely* use C code!
Your idea of using persp() -- while seen frequently in fractal books,
is new ``for R'' however, and nice!  Thank you.
Regards,
Martin
*1) mainly because I only have the iteration loop
    and do the rest vectorized, but also because I have a check
    for symmetry and make use of it when appropriate
*2) For speed comparison, note that I use 10 x more iterations
    and a much higher resolution by default
*3) When I do the comparison, I see that your function's result
    slightly differs from mine -- not for the Mandelbrot set
    itself, but for the very ``outer points'' (the dark orange
    ones in the image plot). Your result is
    asymmetric and hence can't be quite correct.
    
    
More information about the R-help
mailing list