home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/env python
- #
- # Mandelbrot ASCII-art using Numeric Python 1.0beta1
- #
- # Rob Hooft, 1996. Distribute freely.
-
- from Numeric import *
-
- def draw(LowX, HighX, LowY, HighY, stepx=80, stepy=24, maxiter=30):
- xx=arange(LowX,HighX,(HighX-LowX)/stepx)
- yy=arange(HighY,LowY,(LowY-HighY)/stepy)*1j
- c=ravel(xx+yy[:,NewAxis])
- z=zeros(c.shape,Complex)
- output=resize(array(['_'],'c'),c.shape)
- for iter in range(maxiter):
- z=z*z+c
- finished=greater(abs(z),2.0)
- c=where(finished,0+0j,c)
- z=where(finished,0+0j,z)
- output=where(finished,chr(66+iter),output)
- return output.tostring()
-
-
- if __name__ == "__main__":
- print draw(-2.1, 0.7, -1.2, 1.2)
-
-
-