Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- import random
- from PIL import Image
- imgx = 4000
- imgy = 2250
- image = Image.new("RGB", (imgx, imgy))
- maxIt = 100000
- s = math.sqrt(3.0)
- def f(z):
- return 3.0 / (1.0 + s - z) - (1.0 + s) / (2.0 + s)
- ifs = ["f(z)", "f(z) * complex(-9.2, s) / 2.2", "f(z) * complex(-2.0, -s) / 4.2", "f(z) / complex(1.2, s) * 6.2"]
- xa = -0.9
- xb = 0.9
- ya = -0.75
- yb = 0.75
- z = complex(0.0, 0.0)
- for i in range(maxIt):
- z = eval(ifs[random.randint(0, 3)])
- kx = int((z.real - xa) / (xb - xa) * (imgx - 1))
- ky = int((z.imag - ya) / (yb - ya) * (imgy - 1))
- if kx >=0 and kx < imgx and ky >= 0 and ky < imgy:
- image.putpixel((kx, ky), (255, 255, 255))
- image.save("g.png", "PNG")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement