Pixel Programmer

Open your JavaScript Console, and pass three functions to the paint function. This colors the pixel at this location according to the RGB functions you specify.

Usage:
paint(rgb) // where rgb(x,y) is an array [r,g,b]-valued function with components ranging from 0 to 255.
// x ranges from 0 to 319
// y ranges from 0 to 159
Examples (the first being the pattern above):
paint((x,y) => [(x * y) % 256, 0, 0])
paint((x,y) => [ x % 256, 2 * y % 256, 0 ])
paint((x,y) => [Math.floor(128+128*Math.cos(x*y/10)) % 256 , 0, Math.floor(128+128*Math.sin(x*y/10)) % 256])
paint((x,y) => [Math.floor(256*Math.random()), 0, Math.floor(256*Math.random())])
paint((x,y) => [0 , ((x-160)*(x-160)+(y-80)*(y-80))%256, 0])
paint((x,y) => [0 , 0, (5*y + x*x) % 256])
paint((x,y) => [Math.floor(128*Math.random()) , 11 * Math.abs(y % 25-13) % 256, (5*y + x*x) % 256])
paint((x,y) => [Math.floor(10*x) % 256 , Math.floor(10*x+20*y) % 256, Math.floor(20*y) % 256])