Skip to content
This repository has been archived by the owner on Jun 10, 2018. It is now read-only.

jwm-art-net/MDZ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mdz - Mandelbrot Deep Zoom

http://jwm-art.net/mdz/

mdz is a Mandelbrot-Set image generator which can use multi-precision
maths to zoom in as deep as you have patience for.

mdz is a fork from gkII ( http://www.jwm-art.net/gkII ) which in turn
is a fork of gfract ( http://code.google.com/p/gfract/ ).

mdz has stripped out most of the features from gkII and improves
performance with multi-threaded rendering, and adds the ability to
zoom really deep with multi-precision math.

the code since mdz-0.0.9 is a significant departure from gkII.


Command Line Options
---------------------

The command line options are specifically for those cases where you
want to render an image without interacting with the program at all.
You could view the gui of mdz as simply a tool for exploring the M-Set
and then use the command line options to render a final image once
something sufficiently interesting has been located in the explorer.


Multi-Precision Maths Routines
-------------------------------

Usually software takes advantage of the CPU's floating point 
routines to calculate mathematic functions. However, when 
exploring the infinite complexity of fractals, the CPU is barely 
able to prick a hole in the wall of a soap bubble.

Multiple precision maths routines operating in software come to 
the rescue. You will know when you need them because MDZ starts 
rendering bulky blocks of colour instead of pixels.

By default the multi-precision maths routines in MDZ are turned 
off. They are activated by selecting the "Multiple Precision Math" 
checkbox in the attributes dialog.

To start with, the precision is set to 80 bits. You will need to 
increase this setting as you zoom in to prevent the clunky blocks 
appearing again.

The multi-precision maths routines have an option for "Correct 
Rounding" which when selected enables the more precise but slower 
multi-precision maths routines based on MPFR. Without "Correct 
Rounding" selected, the GMP multi-precision maths routines are 
used which are slightly faster than MPFR.

Using GMP (multi-precision without correct rounding) the precision 
setting is a minimum number of bits. The actual number of bits of 
precision in use are displayed alongside the legend "Non-rounding 
precision". The "Non-rounding precision" is how many bits of 
precision are used by the maths routines for storing the result 
and for calculating the result. On my 64 bit system the 
non-rounding precision is always a multiple of 64.

Using MPFR, the precision setting is exactly how many bits of 
precision to use for storing the result. MPFR may realize it needs 
to calculate using more precision so that the result is correct.

The coordinates system of MDZ always uses MPFR for calculations, 
but the amount of precision in use by the coordinates system is 
always the number of bits as specified by the "Non-rounding 
precision" which is nearly always greater than the precision 
setting.

As the multi-precision maths routines are much slower than 
hardware floating point calculations it is recommended to reduce 
the image size to 240 x 180 while exploring until you find an 
image you want to render at a larger size.


Multi-threading
----------------

The default number of rendering threads is 2 for conservative reasons.
mdz used to use 64 threads by default but was reduced to 2 so that the
system running mdz remains responsive.

However, it seems that mdz will run significantly faster if you increase
the number of rendering threads (either from the command line or from the
attributes dialog) at the cost of making the system running mdz
unresponsive.


Colours + Palettes
-------------------

mdz can read fractint .map colour palette files and can save them too. It
is also possible to read the palette section from within an MDZ settings
file without loading the settings (and vice-versa).


Colour Cycling and Anti-Aliasing
---------------------------------

without anti-aliasing, there are no problems with colour cycling. with
anti-aliasing, don't be surprised if the palette display does not update
in time with the cycling. general rule of thumb: don't push it ;-)

About

mdz - Mandelbrot Deep Zoom - a Mandelbrot Set Image Renderer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages