#!/usr/bin/env python import Tkinter from math import sin, cos import Image, ImageDraw, ImageTk, ImageEnhance # moduli libreria PIL #--------------------------------------------------------------------- # Su Linux installare python-imaging e python-imaging-tk # Uno STEP troppo alto in relazione a ITER genera un'immagine scura # A parita' di condizioni un'immagine piu' piccola e'piu'scura, # per ingrandire l'immagine aumentare proporzionalmente SCALE. #--------------------------------------------------------------------- WID, HEI = 1280, 720 # dimensioni aria grafica PIL iniziale A, B, C, D = 1.4, 1.56, 1.4, -6.56 SCALE, STEP, ITER = 74.0, 3, 4000000 img = Image.new("RGB", (WID, HEI), "white") drw = ImageDraw.Draw(img) x0 = y0 = 0.0 for i in xrange(ITER): Axx0 = A*x0 Bxy0 = B*y0 x1 = D*sin(Axx0) - sin(Bxy0) y1 = C*cos(Axx0) + cos(Bxy0) x0, y0 = x1, y1 x = (WID>>1) + round(x1*SCALE) y = (HEI>>1) - round(y1*SCALE) try: c = img.getpixel((x, y))[0] - STEP if c < 0: c = 0 drw.point((x, y), fill=(c, c, c)) except IndexError: pass img = img.resize((640, 360), Image.ANTIALIAS) img = ImageEnhance.Sharpness(img).enhance(0.9) img.show() #---------------------------------------------------------------------