Показать сообщение отдельно
Старый 21.03.2006, 22:45
Буньков Максим вне форума Посмотреть профиль Отправить личное сообщение для Буньков Максим Посетить домашнюю страницу Буньков Максим Найти все сообщения от Буньков Максим
  № 19  
Ответить с цитированием
Буньков Максим
 
Аватар для Буньков Максим

Регистрация: Feb 2003
Адрес: Екатеринбург
Сообщений: 848
Отправить сообщение для Буньков Максим с помощью ICQ
Воть красявая шняга...
Код:
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);
        }
    }
}
__________________
С уважением, Maksi.