#For more info, read https://en.wikipedia.org/wiki/Mandelbrot_set
#SLOW - Wait for it to complete ...

from tkinter import *
black_pixels = 0

def sqarecompnum(r,i):
	real_temp = r
	imag_temp = i
	r = (real_temp ** 2) - (imag_temp ** 2)
	i = 2 * imag_temp * real_temp
	if r > 1000 or r < -10000 or i > 10000 or i < -10000:
		r = 3
		i = 3
	return r , i
	
def Func_x16(r,i):
	tmp = 0
	real_temp2 = r
	imag_temp2 = i
	while tmp <= 16:
		r,i = sqarecompnum(r,i)
		r += real_temp2
		i += imag_temp2
		tmp += 1
		if i < -2 or i > 2 or r < -2 or r > 2:
			i = 3
			r = 3
	return r
	
	
master = Tk()
w = Canvas(master, width=1600, height=960)
w.pack()
	
printing = []
rp = -2
ip = 1.2
while ip >= -1.2:
	while rp <= 1.2:
		tmp2 = 0
		if Func_x16(rp,ip) >= -2 and Func_x16(rp,ip) <= 2:
			w.create_rectangle(rp*400+800,ip*400+480,rp*400+800,ip*400+480, fill="black")
			black_pixels += 1
		rp += 0.0025
	rp = -2
	ip += -0.0025
w.create_line(0, 480, 1600, 480, fill="red")
w.create_line(800, 0, 800, 960, fill="red")

mainloop()

print (black_pixels)