Skip to main content

Mandelbrot Set Viewer

Zoom in forever...

Ian Mallett
First of all, this is not another release of my other Mandelbrot Set program ( This program is not all about rendering huge images (although it does do that too), it is about zooming in indefinitely.

Starting with an image of the Mandelbrot Set, draw a rectangle with the mouse, and the program will zoom to fill that rectangle. This can go on indefinitely. If you choose a small enough screensize, (such as 300x200), the wait to see the zoomed image is only a few seconds. You can then zoom in on that image, and so on. Unfortunately, at a certain point, Python's float handling gets too imprecise, and you can actually see rounding errors as pixelated blocks. Though this is somewhat amusing, I may fix it later so that you can zoom in truly forever.

Once you have a nice view, you can take a picture of it, and have the computer render the current window at any resolution. (For example, the screenshot here is a 1200x800 render of a section of the Mandelbrot Set viewed on a 300x200 screen).



Home Page


Mandelbrot Set Viewer 3.0.0 — 26 Apr, 2008

Mandelbrot Set Viewer 1.0.0 — 13 Apr, 2008

Mandelbrot Set Viewer 2.0.0 — 19 Apr, 2008

Mandelbrot Set Viewer 5.00 — 30 Jun, 2013

Mandelbrot Set Viewer 5.02 — 3 Nov, 2014

Mandelbrot Set Viewer 5.01 — 5 Sep, 2014 account Comments

  • rtrwalker 2013-07-12 23:53:51

    Source link does not work

    jp 2013-08-29 05:53:13

    Ian Mallett 2013-08-29 14:36:26

    Fixed. Thanks.

  • p 2014-11-02 02:55:13

    thank you for putting this program together, it is helping me extend my (limited) python understanding to pygame. one question: when running this on python 2.7.6/64bit windows, mandelbrot image loads, but if i try "control+s", i get the following error. do i need to edit anything to adjust for my specific os/system, or is this some other issue? let me know if you need additional information.

    Traceback (most recent call last):
    File "C:\Python27\programs\Mandelbrot Set Viewer 5.01\5.01\", line 256, in <module>
    File "C:\Python27\programs\Mandelbrot Set Viewer 5.01\5.01\", line 249, in main
    if not get_input(): break
    File "C:\Python27\programs\Mandelbrot Set Viewer 5.01\5.01\", line 160, in get_input
    TypeError: invalid color argument

    Ian Mallett 2014-11-03 03:40:02

    This is related to the different ways data is returned from PyOpenGL. There's not really a "Right Thing" here, but the next release, 5.02, should at least help.