ID:1816906
 
So, I noticed an odd similarity between the arguments to MapColors and an OpenGL 1.x transformation matrix.

Treating RGB colours as XYZ coordinates leads to some interesting effects, such as rotation and skewing. Each of the below are the result of applying a single MapColors() per frame, using the same matrix each time.

Rotating 15 degrees per frame around the r=g=0.5 axis


Spiralling towards the grey axis


Red and green converging on a value


Certainly a neat toy, but I don't know whether it'll ever be a practical technique, especially if used as a dynamic effect at runtime.

(and, on the off chance anyone cares to see the undoubtably low-quality code, have a link)
Woah I like this :)