1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/algorithm.py Sun Jun 13 00:18:09 2010 +0200
1.3 @@ -0,0 +1,39 @@
1.4 +def isDivergent(f):
1.5 + if f == float("inf") or f == float("-inf"):
1.6 + return True
1.7 + return False
1.8 +
1.9 +class Cell(object):
1.10 + def __init__(self, c, value, iterations):
1.11 + self.c = c
1.12 + self.value = value
1.13 + self.iterations = iterations
1.14 +
1.15 +class Mandelbrot(object):
1.16 + def __init__(self, range, resolution):
1.17 + self.range = range
1.18 + self.resolution = resolution
1.19 + def iterate(self, z, c):
1.20 + return z * z + c
1.21 + def test(self, c, max_iter):
1.22 + z = [0]
1.23 + for i in xrange(max_iter):
1.24 + z.append(self.iterate(z[-1], c))
1.25 + if isDivergent(z[-1].real) or isDivergent(z[-1].imag):
1.26 + break
1.27 + return z
1.28 +
1.29 + def resolve(self, max_iter):
1.30 + cells = {}
1.31 + x_diff = (self.range[1].real - self.range[0].real) / self.resolution[0]
1.32 + y_diff = (self.range[1].imag - self.range[0].imag) / self.resolution[1]
1.33 + c_diff = complex(x_diff, y_diff)
1.34 +
1.35 + for y in xrange(self.resolution[1]):
1.36 + for x in xrange(self.resolution[0]):
1.37 + c = self.range[0] + c_diff * complex(x, y)
1.38 + print c
1.39 + print self.test(c, max_iter)
1.40 +
1.41 +
1.42 +