53 lines
998 B
Python
53 lines
998 B
Python
|
#!/usr/bin/env python2
|
||
|
# by Daniel Rosengren, modified by e-satis
|
||
|
"""
|
||
|
Module doctring
|
||
|
https://stackoverflow.com/a/1429145/6709630
|
||
|
"""
|
||
|
|
||
|
|
||
|
import time
|
||
|
from sys import stdout
|
||
|
|
||
|
BAILOUT = 16
|
||
|
MAX_ITERATIONS = 1000
|
||
|
|
||
|
def mandelbrot(dim_1, dim_2):
|
||
|
"""
|
||
|
function doc string
|
||
|
"""
|
||
|
cr1 = dim_1 - 0.5
|
||
|
ci1 = dim_2
|
||
|
zi1 = 0.0
|
||
|
zr1 = 0.0
|
||
|
|
||
|
for i in xrange(MAX_ITERATIONS) :
|
||
|
temp = zr1 * zi1
|
||
|
zr2 = zr1 * zr1
|
||
|
zi2 = zi1 * zi1
|
||
|
zr1 = zr2 - zi2 + cr1
|
||
|
zi1 = temp + temp + ci1
|
||
|
|
||
|
if zi2 + zr2 > BAILOUT:
|
||
|
return i
|
||
|
|
||
|
return 0
|
||
|
|
||
|
def execute() :
|
||
|
"""
|
||
|
func doc string
|
||
|
"""
|
||
|
print 'Rendering...'
|
||
|
for dim_1 in xrange(-39, 39):
|
||
|
stdout.write('\n')
|
||
|
for dim_2 in xrange(-39, 39):
|
||
|
if mandelbrot(dim_1/40.0, dim_2/40.0) :
|
||
|
stdout.write(' ')
|
||
|
else:
|
||
|
stdout.write('*')
|
||
|
|
||
|
|
||
|
START_TIME = time.time()
|
||
|
execute()
|
||
|
print '\nPython Elapsed %.02f' % (time.time() - START_TIME)
|