Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy
- def mandel(n, m, itermax, xmin, xmax, ymin, ymax):
- ix, iy = mgrid[0:n, 0:m]
- x = linspace(xmin, xmax, n)[ix]
- y = linspace(ymin, ymax, m)[iy]
- c = x+complex(0,1)*y
- del x, y
- img = zeros(c.shape, dtype=int)
- ix.shape = n*m
- iy.shape = n*m
- c.shape = n*m
- z = copy(c)
- for i in xrange(itermax):
- if not len(z): break
- multiply(z, z, z)
- add(z, c, z)
- rem = abs(z)>2.0
- img[ix[rem], iy[rem]] = i+1
- rem = -rem
- z = z[rem]
- ix, iy = ix[rem], iy[rem]
- c = c[rem]
- return img
- if __name__=='__main__':
- from pylab import *
- import time
- start = time.time()
- I = mandel(800, 800, 100, -2, .5, -1.25, 1.25)
- print 'Time taken:', time.time()-start
- I[I==0] = 101
- img = imshow(I.T, origin='lower left')
- img.write_png('mandel.png', noscale=True)
- show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement