Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
MLbrot: Mandelbrot Set in OCaml
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2010-11-08 (16:07)
From: Goswin von Brederlow <goswin-v-b@w...>
Subject: Re: [Caml-list] MLbrot: Mandelbrot Set in OCaml
Daniel de Rauglaudre <> writes:

> Hi everybody!
> New release of MLbrot: 1.00
> MLbrot is a program allowing to explore the Mandelbrot Set and produce
> nice fractal images. With some extra work, can produce videos. Can be
> helped by other computers, via internet, to speed up images calculations.
> Interfaced with 3 graphic toolkits: Lablgtk2, OpenGL and Olibrt. You
> can choose the one(s) you want at configure time, or let the 'configure'
> shell to select the ones it finds.
> Best interface is with Lablgtk2 (it has menus and progress bars).
> Web site and download at:
> You need OCaml and Camlp5 to compile.
> You need at least one library installed: Lablgtk2, OpenGL or Olibrt.
> Very useful library too: GMP/MPZ to display deep images (zoom > 2^46).
> Documentation not yet done. Just launch it, try out option -help
> and/or ask me.
> Enjoy!

Only looked at the pictures so far but they do look good. I'm missing
some screenshots though. How does the interface look like? I assume you
have some way to select a part of the image to zoom?

It would also be nice to know a bit more about what drawing methods you
support. Do you just compute every pixel or do you support guessing,
boundary trace, tesseracting? Also do you have a coloring mode using
distance estimation? E.g. color all points < 0.5 pixels distance from
the M-Set white.

Can you zoom and refine the image like xaos does?

Do you support the single orbital iteration method? That puts a 3x3
points grid over the image plus 4 control points. Points of the image
are aproximated from the 9 grid points. The 13 points are iterated a few
iterations as long as the 4 reference points are close to approximating
the same points. If the error becomes to great you go back an iteration,
subdivide the grid into 4 parts, approximate the missing point and
repeat for each subgrid. Esspecially on dep zooms this can speed up
calculations by magnitudes since the first few thousand iterations of
each point will be done by calculating only 14 points and approximating.

You say you are using OpenGL, so where are the 3D images?

I've converted some 20 year old code into ocaml a while back that
generates 3D images. Putting the height map into OpenGL and render it
through that would probably improve the quality:

If you are interested I can share the algorithm for the height
calculation (which is all you really need) and example source for this
(just don't have it at hand at the moment or I would just paste it