random-stuff/mandelbrot.py

22 lines
619 B
Python
Raw Permalink Normal View History

from PIL import Image
import math
H = 512
W = math.floor(H * 1.5)
ITERATIONS = 32
Wdiv3, Hdiv2 = W / 3, H / 2
im = Image.new("RGB", (W, H))
data = im.load()
for px in range(W):
for py in range(H):
x, y = px / Wdiv3 - 2, py / Hdiv2 - 1
c = x + (y*1j)
v = 0j
for it in range(ITERATIONS + 1):
if abs(v) > 5:
break
nondiverging_iterations = it
v = v*v + c
if ITERATIONS != nondiverging_iterations:
data[px, py] = (0, 0, math.floor(255 * min(nondiverging_iterations / ITERATIONS, 1)))
im.save("/tmp/mandelbrot.png")