#!/usr/bin/env python3
import numpy as np
import matplotlib.pyplot as plt

img_res_x = 2000
img_res_y = 2000

xmin = -np.pi
xmax = np.pi
ymin = -np.pi
ymax = np.pi

escape = 10000
iterations = 255
c_x = 0
c_y = 0


image = np.empty([img_res_y, img_res_x], np.float32)

for pix_y, y in enumerate(np.linspace(ymin, ymax, img_res_y)):
  for pix_x, x in enumerate(np.linspace(xmin, xmax, img_res_x)):
    on_x = x
    on_y = y
    for i in range(iterations):
      next_x = (on_x/np.sin(on_y))
      on_y = (on_y/np.sin(on_x))
      on_x = next_x
      if on_x**2 + on_y**2 > escape:
        break
    image[pix_y][pix_x] = i
  #print(pix_y)


      

plt.style.use('dark_background')
# fuck this shit
fig = plt.figure(frameon=False)
fig.set_size_inches(img_res_x/fig.dpi, img_res_y/fig.dpi)
#fig.set_size_inches(width/height, 1, forward=False)
print(fig.dpi)

ax = plt.Axes(fig, [0., 0., 1., 1.])
ax.set_axis_off()
fig.add_axes(ax)

cmap = plt.cm.viridis
cmap.set_bad((0,0,0))
cmap.set_over((0,0,0))
cmap.set_under((0,0,0))

ax.imshow(image, norm="log", aspect="auto", cmap=cmap)
fig.savefig("animation/cpu.png")
#plt.show()
