Rev 1913 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1913 | jaeger | 1 | # center: 10043 |
8535 | superturbo | 2 | import pygame, sys |
3 | if not "tinypy" in sys.version: |
||
1913 | jaeger | 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()4.0: |