Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mmaelicke/mandelbrot
mandelbrot set in different languages
https://github.com/mmaelicke/mandelbrot
Last synced: about 2 months ago
JSON representation
mandelbrot set in different languages
- Host: GitHub
- URL: https://github.com/mmaelicke/mandelbrot
- Owner: mmaelicke
- Created: 2018-11-18T13:57:29.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2018-11-26T13:19:26.000Z (about 6 years ago)
- Last Synced: 2024-10-15T18:50:55.699Z (3 months ago)
- Language: Rust
- Size: 19.5 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
Awesome Lists containing this project
README
Language comparison
===================At the example of the Mandelbrot set
------------------------------------This is a comparison of an algorithm implementation into different languages
that are commonly used in science (and I am able to use), or should be.The algorithm is the well known Mandelbrot set, which visualizes a fractal on
the complex plane by coloring each pixel according to the amount of
iterations needed to prove that the complex representation is not part of the
Mandelbrot set. For any black pixel, the membership could not be disproved
within the given limit of iterations. The iterations are limited by the value
range of the used bitdepth for the result image. For an 8 Bit PNG the
iterations will be limited to 255.The iteration is defined as:
.. math::
z_{n+1} = z_n^2 + c,
with :math:`z, c \in \mathbb{C}`
Most of the Rust example is taken from:
*"Programming Rust by Jim Blandy and Jason Orendorff (o'Reilly). Copyright
2018 Jim Blandy and Jason Orendorff, 978-491-92728-1"*
and is also available on `GitHub `_.Notes
-----* The implementations in different languages were written to be comparable.
Thus, unusual function or variable name norms might have been used.TODOs
-----* Implement FORTRAN, C, Octave
* There is a horrible loop in mandelbrot.R marked by a TODO comment. This can
surely be done better.
* Make the application more verbose
* add 16 or 32 bit option for coloring (this will heavily increase the
calculation time)
* Make everything multicore