Advertisement
here2share

# Tk_Trippy_Radial.py

Aug 27th, 2020
1,279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.20 KB | None | 0 0
  1. # Tk_Trippy_Radial.py
  2.  
  3. from Tkinter import *
  4. from PIL import Image, ImageTk
  5. import random
  6.  
  7. import math
  8.  
  9. ww = 512
  10. hh = 512
  11. ww2 = ww/2
  12. hh2 = hh/2
  13. root = Tk()
  14. root.title("Tk Trippy Radial.py")
  15. root.geometry("%dx%d+0+0"%(ww,hh))
  16. canvas = Canvas(root, width=ww, height=hh)
  17. canvas.grid()
  18.  
  19. img = Image.new("RGB",(ww,hh))
  20.  
  21. ttt = range(256)
  22. ttt = [0]+ttt[:-1]+ttt[::-1]
  23. tL = len(ttt)
  24.  
  25. pix = []
  26. for y in range(hh):
  27.     for x in range(ww):
  28.         pix.append(0)
  29. 0
  30.  
  31. rrr = {}
  32. for y in range(hh):
  33.     for x in range(ww):
  34.         z = int((abs(ww2-x)**2+abs(hh2-y)**2)**0.5)
  35.         if x < ww2:
  36.             t = 0
  37.             if y > hh2:
  38.                 t = 2
  39.         else:
  40.             t = 1
  41.             if y > hh2:
  42.                 t = 3
  43.         try:
  44.             rrr[z] += [(t,x,y)]
  45.         except:
  46.             rrr[z] = [(t,x,y)]
  47. 0
  48. b = 3
  49. k = 5
  50. d = 10
  51. qqq = len(rrr)-1
  52. while 1:
  53.     tL = len(ttt)
  54.     for z in range(qqq):
  55.         v = 512*b/360.0
  56.         rrr[z].sort()
  57.         L = len(rrr[z])
  58.         L2 = L/2
  59.         r2 = rrr[z][L2:]
  60.         rrr[z] = rrr[z][:L2]+r2[::-1]
  61.         for p,x,y in rrr[z]:
  62.             t = (math.degrees(math.atan2(256-x,256-y))+180)*v
  63.             pix[x+y*hh] = ttt[int(t+math.sin(z*k)*d+z)%tL]
  64.     k += 0.02
  65.     d += 1
  66.     print k
  67.     img.putdata(pix)
  68.     imgTk = ImageTk.PhotoImage(img)
  69.     canvas.create_image(1, 1, anchor=NW, image=imgTk)
  70.     root.update()
  71. 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement