# sinusoids are used to rotate the checker scene import math def rotateX(x, y, angle): return (x*math.cos(angle)-y*math.sin(angle)) def rotateY(x, y, angle): return (y*math.cos(angle)+x*math.sin(angle)) def checkColor(x, y): x = int(x) y = int(y) color = 0 bx = 0 by = 0 if y <> 50: bx = (x-50)*2/(50-y) by = (y*2)/(50-y) color = (int(bx+by)%2)*100 color = 100-((100-color) * abs(y-50)/100) return int(color) def drawChecks(angle): for y in range(0, 101): for x in range(0, 101): g.setPixel(x,y,checkColor(50+round(rotateX(x-50,y-50,angle)),-10+round(rotateY(x-50,y-50,angle)))) drawChecks(math.pi/8)