Skip to content

LukasKristensen/Mandelbrot-Python

Repository files navigation

Mandelbrot-Mini-Project

Implementation of the Mandelbrot set for the Numerical Scientific Computing Course (Computer Engineering 8th semester, AAU)

Features


Generated Content

High resolution render

High resoultion render of the mandelbrot set HighResolutionRender/ImageRender.py

img Image computed using:

  • Size: (1e4, 1e4)
  • Iterations: 100

Animated Zoom

Generated sequence of zoom into fractal mandelbrot_animation.py

Demo of zooming into fractal


Animated Iterations

Generated sequence of zoom into fractal mandelbrot_iteration_animation.py

Demo of animating iterations


Interactive Navigator

Navigation through the Mandelbrot Set by using keyboard controls mandelbrot_navigator.py

img


Performance Results

Approach Computation Time (s)
mandelbrot_naive.py 393.58
mandelbrot_vectorized.py 160.92
mandelbrot_numba.py 115.25
mandelbrot_multicore.py 37.89
mandelbrot_dask.py 25.07
mandelbrot_opencl.py* 1.07

*Limited to float64 precision

Complex64 Complex128
np.float16 155.10s 193.18s
np.float32 157.76s 199.54s
np.float64 199.08s 223.37s

Parameters

  • Size: 10.000x10.000
  • Iterations: 100

Specs

  • Intel® Core™ i5-11300H-processor @ 3.10GHz
  • 16 GB DDR4 Ram @ 3200MHz

Setup

Install the necessary packages by running the command within the root project directory:

pip install -r requirements.txt

Group

  • Lukas Bisgaard Kristensen

About

Implementation and optimization of the Mandelbrot set for CE8 Numerical Scientific Computing Course. Features: Video generation of zooming and iterations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages