как залить стороны куба чтобы цвета переливались в зовисимости от поворота

Код:
x = [50, 50, 50, 50, -50, -50, -50, -50];
y = [-50, 50, 50, -50, -50, 50, 50, -50];
z = [50, 50, -50, -50, -50, -50, 50, 50];
o = {a:0, b:1, c:2, d:3, e:0, f:7, g:6, h:5, i:4, j:7, k:6, l:1, m:2, n:5, o:4, p:3};
var _x = 100, _y = 100, s = 200, r = Math.PI/180, pX = 1, pY = -2;
onEnterFrame = function () {
clear();
for (i=0; i<8; i++) {
ky = y[i]*Math.cos(pX*r)-z[i]*Math.sin(pX*r);
kx = x[i]*Math.cos(pY*r)+(y[i]*Math.sin(pX*r)+z[i]*Math.cos(pX*r))*Math.sin(pY*r);
kz = -x[i]*Math.sin(pY*r)+(y[i]*Math.sin(pX*r)+z[i]*Math.cos(pX*r))*Math.cos(pY*r);
x[i] = kx;
z[i] = kz;
y[i] = ky;
}
lineStyle(0, 0xf, s);
moveTo(x[0]*(s/(s+z[0])), y[0]*(s/(s+z[0])));
for (name in o) {
lineTo(x[o[name]]*(s/(s+z[o[name]])), y[o[name]]*(s/(s+z[o[name]])));
}
};