Воть красявая шняга...

Код:
import flash.display.BitmapData;
import flash.geom.*;
import flash.filters.BlurFilter;
//
bmp = new BitmapData(550, 400, false, 0x000000);
holder = createEmptyMovieClip("holder", 1);
holder.attachBitmap(bmp, 0);
//
fl = 250;
xc = 270;
yc = 200;
zc = 50;
points = new Array();
//
for (var i = 0; i<30; i++) {
points[i] = new Array();
for (var j = 0; j<30; j++) {
x = (Math.cos(i)*Math.sin(j))*100;
y = (Math.sin(j)*Math.sin(i))*100;
z = (Math.cos(j))*100;
col = 0xFAF47F;
points[i][j] = {x:x, y:y, z:z, col:col};
}
}
_root.onEnterFrame = function() {
//
xAngle = (_ymouse-200)*.0001;
yAngle = (_xmouse-270)*.0001;
cosY = Math.cos(yAngle);
sinY = Math.sin(yAngle);
cosX = Math.cos(xAngle);
sinX = Math.sin(xAngle);
//
bmp.applyFilter(bmp, new Rectangle(0, 0, 540, 400), new Point(0, 0), new BlurFilter(2, 2, 2));
//
for (var i = 0; i<30; i++) {
for (var j = 0; j<30; j++) {
point = points[i][j];
x = cosY*point.x-sinY*point.z;
z = cosY*point.z+sinY*point.x;
y = cosX*point.y-sinX*z;
z1 = cosX*z+sinX*point.y;
point.x = x;
point.y = y;
point.z = z1;
scale = fl/(fl+point.z+zc);
bmp.setPixel(point.x*scale+xc, point.y*scale+yc, point.col);
}
}
}