add README
This commit is contained in:
parent
88c75a6302
commit
2276fa1e1f
1 changed files with 74 additions and 0 deletions
74
README.md
Normal file
74
README.md
Normal file
|
@ -0,0 +1,74 @@
|
|||
= Introduction =
|
||||
|
||||
Calculating Mandelbrot using different ways. It tries to imitate the Mandelbrot
|
||||
calculation by Zom-B but be faster in doing so.
|
||||
|
||||
This project started by trying to reproduce this zoom sequence but in higher
|
||||
resolution:
|
||||
|
||||
https://en.wikipedia.org/wiki/File:Mandelbrot_sequence_new.gif
|
||||
|
||||
The generator used for this version is available here:
|
||||
|
||||
https://github.com/josch/mandelbrot_zomb
|
||||
|
||||
= Overview =
|
||||
|
||||
mandel:
|
||||
straight forward "long double" based mandelbrot
|
||||
this is obviously the fastest implementation but has limited precision
|
||||
mandel_mpfr:
|
||||
mandelbrot using the arbitrary precision mpfr library
|
||||
mandel_quad:
|
||||
mandelbrot using gcc libquad
|
||||
mandel_dd:
|
||||
mandelbrot using custom double double math
|
||||
this is the fastest implementation given double double precision
|
||||
mandel_dd_aa:
|
||||
with antialiasing
|
||||
it is more than three times faster than the Zom-B version (see below)
|
||||
|
||||
= How to compile =
|
||||
|
||||
Compile by running `make`.
|
||||
|
||||
= How to execute =
|
||||
|
||||
Each of the tools takes as arguments the width, height, coordinates and
|
||||
magnification. Output is in PPM format on standard output.
|
||||
|
||||
$ ./mandel_dd_aa 1920 1080 0.0 0.0 1.0 > out.ppm
|
||||
|
||||
You can compress the ppm by using:
|
||||
|
||||
$ convert out.ppm -format png out.png
|
||||
|
||||
And even compress it further by doing:
|
||||
|
||||
$ optipng -o4 -i0 out.png
|
||||
$ advpng -z4 out.png
|
||||
|
||||
= How to generate zoom animation =
|
||||
|
||||
The shell script (with a small python helper) run.sh will generate and execute a
|
||||
list of commands to create a zooming sequence of images.
|
||||
|
||||
You can create a video of the resulting sequence using:
|
||||
|
||||
$ avconv -i %05d.png out.mp4
|
||||
|
||||
= Benchmark =
|
||||
|
||||
Benchmark against mandelbrot computation by Zom-B:
|
||||
|
||||
at zoom coordinates:
|
||||
x = -0.743643887037158704752191506114774
|
||||
y = 0.131825904205311970493132056385139
|
||||
|
||||
1 to 1e32 in 100 steps at 320x240 and no AA took
|
||||
mandel_dd 1:28 h
|
||||
mandel_zomb 2:45 h
|
||||
|
||||
1.0e17 at 1920x1080 with 5xAA took
|
||||
mandel_dd_aa 2:38 h
|
||||
mandel_zomb 8:40 h
|
Loading…
Reference in a new issue