Uploaded tinypy sources.
git-svn-id: svn://kolibrios.org@1913 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
42
programs/develop/tinypy/examples/julia.py
Normal file
42
programs/develop/tinypy/examples/julia.py
Normal file
@@ -0,0 +1,42 @@
|
||||
# center: 10043
|
||||
import pygame
|
||||
if '.' in str(1.0):
|
||||
import pygame.locals
|
||||
|
||||
SW,SH = 120,120
|
||||
|
||||
def julia(s,ca,cb):
|
||||
pal = [((min(255,v)),(min(255,v*3/2)),(min(255,v*2))) for v in range(0,256)]
|
||||
for y in range(0,SH):
|
||||
for x in range(0,SW):
|
||||
i=0
|
||||
a=((float(x)/SW) * 4.0 - 2.0)
|
||||
b=((float(y)/SH) * 4.0 - 2.0)
|
||||
while i < 15 and (a*a)+(b*b)<4.0:
|
||||
na=(a*a)-(b*b)+ca
|
||||
nb=(2.0*a*b)+cb
|
||||
a=na
|
||||
b=nb
|
||||
i = i +1
|
||||
s.set_at((x,y),pal[i*16])
|
||||
|
||||
def main():
|
||||
pygame.init()
|
||||
s = pygame.display.set_mode((SW,SH),0,32)
|
||||
_quit = False
|
||||
while not _quit:
|
||||
for e in pygame.event.get():
|
||||
if e.type in (pygame.locals.QUIT,pygame.locals.KEYDOWN):
|
||||
_quit = True
|
||||
|
||||
x,y = pygame.mouse.get_pos()
|
||||
ca=((float(x)/SW) * 2.0 - 1.0)
|
||||
cb=((float(y)/SH) * 2.0 - 1.0)
|
||||
ticks = pygame.time.get_ticks()
|
||||
julia(s,ca,cb)
|
||||
print(pygame.time.get_ticks()-ticks)
|
||||
pygame.display.flip()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Reference in New Issue
Block a user