In [5]:
import numpy as np

class JuliaSet(object):
    def __init__(self, c, n=100):
        self.c = c
        self.n = n
        self._d = 0.001
        self._complexplane = []
  
    def juliamap(self, z):
        return (z**2) + self.c
    
    def iterate(self, z):
        m = 0    
        while True:
            z = self.juliamap(z)
            m += 1
            if abs(z) > 2:
                return m
            if m >= self.n:
                return 0  
            
    def setcomplexplane(self):
        numSteps = int(4.0/self._d)+1
        self.x = np.linspace(-2,2, numSteps)
        self.y = self.x
        self._complexplane = []
        for x in self.x:
            for y in self.y:
                z = x + y*1j
                self._complexplane.append(z)
   
    def set_spacing(self, d):
        self._d = d
        self.setcomplexplane()
        
    def generate(self):
        self.set = []
        for z in self._complexplane:
            self.set.append(self.iterate(z))
        return self.set

In [6]:
JuliaSet


Out[6]:
__main__.JuliaSet

In [4]:
d = 0.001
numSteps = int(4.0/d)+1
x = np.linspace(-2,2, numSteps)
print x


[-2.    -1.999 -1.998 ...,  1.998  1.999  2.   ]

In [ ]: