Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. # center: 10043
  2. import pygame
  3. if '.' in str(1.0):
  4.     import pygame.locals
  5.  
  6. SW,SH = 120,120
  7.  
  8. def julia(s,ca,cb):
  9.     pal = [((min(255,v)),(min(255,v*3/2)),(min(255,v*2))) for v in range(0,256)]
  10.     for y in range(0,SH):
  11.         for x in range(0,SW):
  12.             i=0
  13.             a=((float(x)/SW) * 4.0 - 2.0)
  14.             b=((float(y)/SH) * 4.0 - 2.0)
  15.             while i < 15 and (a*a)+(b*b)<4.0:
  16.                 na=(a*a)-(b*b)+ca
  17.                 nb=(2.0*a*b)+cb
  18.                 a=na
  19.                 b=nb
  20.                 i = i +1
  21.             s.set_at((x,y),pal[i*16])
  22.  
  23. def main():
  24.     pygame.init()
  25.     s = pygame.display.set_mode((SW,SH),0,32)
  26.     _quit = False
  27.     while not _quit:
  28.         for e in pygame.event.get():
  29.             if e.type in (pygame.locals.QUIT,pygame.locals.KEYDOWN):
  30.                 _quit = True
  31.        
  32.         x,y = pygame.mouse.get_pos()
  33.         ca=((float(x)/SW) * 2.0 - 1.0)
  34.         cb=((float(y)/SH) * 2.0 - 1.0)
  35.         ticks = pygame.time.get_ticks()
  36.         julia(s,ca,cb)
  37.         print(pygame.time.get_ticks()-ticks)
  38.         pygame.display.flip()
  39.        
  40.    
  41. if __name__ == '__main__':
  42.     main()
  43.