Découvrez ma chaine YouTube (maths, info…)
from math import * from kandinsky import fill_rect, set_pixel W, H = 320, 222 cx, cy = 160, 111 for y in range(H): for x in range(W): dx = (x - cx) / 160 dy = (y - cy) / 111 d = sqrt(dx*dx + dy*dy) t = max(0, 1 - d * 0.85) r = int(20 + t * 150) g = int(10 + t * 30) b = int(15 + t * 20) set_pixel(x, y, (r, g, b)) xp, xr = 120, 1.5 * pi yp = 45 xf = xr / xp for zi in range(-yp, yp): zt = zi * xp / yp xl = int(.5 + sqrt(xp*xp - zt*zt)) for xi in range(-xl, xl + 1): xt = sqrt(xi*xi + zt*zt) * xf yy = (sin(xt) + .4 * sin(3*xt)) * yp y1 = int(yy - zi + 100) x1 = int(xi + zi + 165) wr = 200 + int(55 * sin(xt)) wg = 130 + int(50 * sin(xt)) wb = 40 set_pixel(x1, 220 - y1, (wr, wg, wb)) fill_rect(x1 - 1, 221 - y1, 1, y1, (5, 3, 2))