#!/usr/bin/python
# -*- coding: latin-1 -*
#Calcul, pour c=a+bi et z0=0, de la suite zn+1=zn²+c et coloration si bornée
from tkinter import *
#profondeur,min(a),min(b),amplitude,taille
t,minX,minY,cote,pix=200,-1.5,-1,2,600 
fen=Tk()
fen.title('Ensemble de Mandelbrot')
cadre=Canvas(fen,bg='white',height=pix,width=pix,borderwidth=0)
cadre.pack()
pas=cote/pix
for a in range(pix):
    for b in range(pix):
        c=complex(minX+a*pas,minY+b*pas)
        z,s=complex(0,0),0
        while abs(z)<2 and s<t:
            z=z**2+c
            s+=1
        if s==t: cadre.create_rectangle(a,b,a+1,b+1,width=0,fill='black')
        else:
            coul,s='#',(int)(255/t)*s
            if s>15 : coul+=hex(s)[2:]+hex(s)[2:]+hex(s)[2:]
            else : coul+='0'+hex(s)[2:]+'0'+hex(s)[2:]+'0'+hex(s)[2:]
            cadre.create_rectangle(a,b,a+1,b+1,width=0,fill=coul)
carre=cadre.create_rectangle(5,5,pix-5,pix-5,width=1,outline='white')
cadre.create_line((pix-4)/3,5,(pix-4)/3,15,width=1,fill='white')
cadre.create_line(2*(pix-4)/3,5,2*(pix-4)/3,15,width=1,fill='white')
cadre.create_line(5,(pix-4)/3,15,(pix-4)/3,width=1,fill='white')
cadre.create_line(5,2*(pix-4)/3,15,2*(pix-4)/3,width=1,fill='white')
cadre.create_text((pix-4)/3,25,text=str(round(minX+cote/3,4)),fill='white')
cadre.create_text(2*(pix-4)/3,25,text=str(round(minX+2*cote/3,4)),fill='white')
cadre.create_text(35,(pix-4)/3,text=str(round(minY+cote/3,4)),fill='white')
cadre.create_text(35,2*(pix-4)/3,text=str(round(minY+2*cote/3,4)),fill='white')
fen.mainloop()    

#cadre.create_line(0,500,pix,500,width=1,fill="white")#axe des abscisses
#cadre.create_line(250,0,250,1000,width=1,fill="white")   
#cadre.create_line(750,0,750,pix,width=1,fill="white")#axe des ordonnées

