Skip to content

Create a gif of Mandelbrot set being zoomed in a specific given point

Notifications You must be signed in to change notification settings

EnriqueMoran/mandelbrot-set-gif-generator

Repository files navigation

mandelbrot-gif-generator

Creates a gif of Mandelbrot set being zoomed to a specific given point. PIL, opencv and numpy libraries are needed.

alt tag

GUI Usage

This app consists of the following parameters:

X: x coordinate of zooming point. Y: y coordinate of zooming point. Initial zoom: if value is 1, it shows the whole Mandelbrot set. Rotation: amount in degrees to rotate clockwise. N. frames: Number of frames of gif file generated, zoom will be reduced by 0.1 per frame. Iterations: Number of iterations to determine whether a point is in Mandelbrot set, the higher this value is, the more time the app will need to generate the file. Size: Size of the image (size x size px).

How it works

A sixe x size pixels image is generated and divided into four quadrants. Four subprocesses will calculate if each point of its quadrant is in Mandelbrot set. The final result will be displayed on screen and saved as a gif file.

Version

Version 0.1: Mandelbrot set is generated on a png image. There are some errors at the bottom of image.

Version 0.2: Input image no longer needed.

Version 0.3: Can create gif, zoom and coordinate bugs fixed.

Version 0.35: Gif creation improved, methods usage is now easier.

Version 0.36: Mandelbrot set generation fixed.

Version 1.0: GUI and EXE version added!

Version 2.0: Major changes. Library and GUI code merged, parallelized calculus, optimized performance.

Version 2.1: Many bugs fixed. Rotation added. X, Y, Zoom, and Rotation now support two values separated by space-hyphen-space. N. Frames can be left blank when two zoom values are given.

Bugs

  • Inputs not validated.
  • Crash when closing the window.

Example images

alt tag

alt tag

alt tag

alt tag

alt tag