File: julia.py

package info (click to toggle)
pycode-browser 1%3A1.02%2Bgit20181006-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 6,088 kB
  • sloc: python: 2,779; xml: 152; makefile: 71
file content (40 lines) | stat: -rwxr-xr-x 1,094 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
'''
Region of a complex plane ranging from -1 to +1 in both real
and imaginary axes is rpresented using a 2 dimensional matrix
having X x Y elements.For X and Y equal to 200, the stepsize
in the complex plane is 2.0/200 = 0.01.
The nature of the pattern depends very much on the value of c.
'''

from pylab import *
X = 200
Y = 200
rlim = 1.0
ilim = 1.0
rscale = 2*rlim / X
iscale = 2*ilim / Y
MAXIT = 100
MAXABS = 2.0

c = 0.02 - 0.8j   # The constant in equation z**2 + c

m = zeros([X,Y],dtype=uint8)  # A two dimensional array

def numit(x,y):       # number of iterations to diverge
     z = complex(x,y)
     for k in range(MAXIT):
            if abs(z) <= MAXABS:
	        z = z**2 + c         
            else:
		return k     # diverged after k trials
     return MAXIT            # did not diverge,

for x in range(X):
    for y in range(Y):
	re = rscale * x - rlim  # complex number represented
	im = iscale * y - ilim	# by the (x,y) coordinate
        m[x][y] = numit(re,im)  # get the color for (x,y)

imshow(m)  # Colored plot using the two dimensional matrix
show()