# -*- coding: utf-8 -*-
"""
Created on Fri Dec  4 16:05:19 2015

@author: ckow
"""
from Komplex import Komplex
import Tkinter as tk

def getIterationCount(c,max_it=20):
    z=Komplex(0,0)    
    for i in range(max_it):
        if z.abs()>2.0:
            return i
        z=z*z + c
    return max_it
    
def getColor(i):
    if i<4:
        return 'magenta'
    elif i<8:
        return 'blue'
    elif i<12:
        return 'green'
    elif i<16: 
        return 'yellow'
    else:
        return 'red'
        
def getColor2(i,max_it):
    v1 = int(float(i)/max_it*255)
    return '#{:02x}{:02x}{:02x}'.format(0,v1,0)

pointsize = 1
size = 500    
root = tk.Tk()
can = tk.Canvas(root, width=pointsize*size, height=pointsize*size)
can.pack()

#can.create_rectangle(5,5,50,50,fill='red',outline='black')

real_min=-2.
real_max=0.5
imag_min=-1.
imag_max=1.

dx = (real_max-real_min)/size
dy = (imag_max-imag_min)/size

max_iter=50

for i in range(size):
    for j in range(size):
        xi = real_min+i*dx
        yi = imag_min+j*dy
#        col = getColor(getIterationCount(Komplex(xi,yi)))
        col = getColor2(getIterationCount(Komplex(xi,yi),max_it=max_iter),max_iter)
        can.create_rectangle(i*pointsize, j*pointsize,
                             i*pointsize+pointsize, j*pointsize+pointsize,
                             fill=col,
                             outline=col,
                             )
        
print getColor2(15,20)
root.update()
root.mainloop()
        