2 #cells range -2.2-1.4j 1+1.4j res 1000x1000 sha256: 82fe54e221a7ac3283443fc189bb0baf579bba013a7ed3405606bb2dd8c03127
3 #empty cells sha256: 44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a
9 print "duration: %fs" % float(t2-t1)
14 if c.real == float("inf") or c.real == float("-inf"):
16 if c.imag == float("inf") or c.imag == float("-inf"):
24 def __init__(self, c, value, iterations):
27 self.iterations = iterations
29 class Mandelbrot(object):
30 def __init__(self, range, resolution):
32 self.resolution = resolution
33 def iterate(self, z, c):
35 def test(self, c, max_iter):
37 for i in xrange(max_iter):
38 z.append(self.iterate(z[-1], c))
39 if isDivergent(z[-1]):
41 if isPeriodic(z[-10:-1]):
45 def resolve(self, max_iter):
47 x_diff = (self.range[1].real - self.range[0].real) / self.resolution[0]
48 y_diff = (self.range[1].imag - self.range[0].imag) / self.resolution[1]
49 c_diff = complex(x_diff, y_diff)
51 for y in xrange(self.resolution[1]):
52 for x in xrange(self.resolution[0]):
53 c = self.range[0] + c_diff * complex(x, y)
54 cells[c] = self.test(c, max_iter)