from math import pi, sin, cos import kandinsky as kd from random import random n = 250 r = 2 * pi / 235 t = 4 * random() kd.fill_rect(0, 0, 320, 222, (0, 0, 0)) x, u, v = 0, 0, 0 for i in range(n): for j in range(n): u = sin(i + v) + sin(r * i + x) v = cos(i + v) + cos(r * i + x) x = u + t px = int(160 + 54 * u) py = int(111 + 54 * v) if 0 <= px < 320 and 0 <= py < 222: r_col = (i * 3) % 256 g_col = (j * 3) % 256 b_col = (255 - (i + j) // 2) % 256 kd.set_pixel(px, py, (r_col, g_col, b_col))