Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   3D (http://www.flasher.ru/forum/forumdisplay.php?f=50)
-   -   ЗАЦЕНИТЕ (http://www.flasher.ru/forum/showthread.php?t=52005)

opex 27.11.2003 00:41

ЗАЦЕНИТЕ
 
ЗАЦЕНИТЕ

Код:

var PositionCentreX = 250;
var PositionCentreY = 250;
var Radius = 150;
var Radius2 = 140;
var AmountSegments = 32;
var Thickness = 50;
var s = 200;
var pX;
var pY;
var P2 = 2*Math.PI;
var Rad = Math.PI/180;
TopsX1 = new Array();
TopsY1 = new Array();
TopsZ1 = new Array();
TopsX2 = new Array();
TopsY2 = new Array();
TopsZ2 = new Array();
for (Znak=1; Znak>-2; Znak -= 2) {
        for (i=0; i<P2; i += 2*Math.PI/AmountSegments) {
                TopsX1.push(0+Radius*Math.cos(i));
                TopsY1.push(0-Radius*Math.sin(i));
                TopsZ1.push(Znak*Thickness/2);
        }
}
for (Znak=1; Znak>-2; Znak -= 2) {
        for (i=0; i<P2; i += 2*Math.PI/AmountSegments) {
                TopsX2.push(0+Radius2*Math.cos(i));
                TopsY2.push(0-Radius2*Math.sin(i));
                TopsZ2.push(Znak*Thickness/2);
        }
}
_root.onEnterFrame = function() {
        pX = -(PositionCentreX-_ymouse)*0.005;
        pY = (PositionCentreY-_xmouse)*0.005;
        _root.clear();
        for (i=0; i<=AmountSegments*2; i++) {
                cosX = Math.cos(pX*Rad);
                sinX = Math.sin(pX*Rad);
                cosY = Math.cos(pY*Rad);
                sinY = Math.sin(pY*Rad);
                PowY = TopsY1[i]*cosX-TopsZ1[i]*sinX;
                PowX = TopsX1[i]*cosY+(TopsY1[i]*sinX+TopsZ1[i]*cosX)*sinY;
                PowZ = -TopsX1[i]*sinY+(TopsY1[i]*sinX+TopsZ1[i]*cosX)*cosY;
                TopsX1[i] = PowX;
                TopsY1[i] = PowY;
                TopsZ1[i] = PowZ;
                PowY = TopsY2[i]*cosX-TopsZ2[i]*sinX;
                PowX = TopsX2[i]*cosY+(TopsY2[i]*sinX+TopsZ2[i]*cosX)*sinY;
                PowZ = -TopsX2[i]*sinY+(TopsY2[i]*sinX+TopsZ2[i]*cosX)*cosY;
                TopsX2[i] = PowX;
                TopsY2[i] = PowY;
                TopsZ2[i] = PowZ;
        }
        this.lineStyle(0, 0xffffff, 100);
        this.moveTo(PositionCentreX+TopsX1[0]*(s/(s+TopsZ1[0])), PositionCentreY+TopsY1[0]*(s/(s+TopsZ1[0])));
        for (i=1; i<AmountSegments; i++) {
                this.lineTo(PositionCentreX+TopsX1[i]*(s/(s+TopsZ1[i])), PositionCentreY+TopsY1[i]*(s/(s+TopsZ1[i])));
        }
        this.lineTo(PositionCentreX+TopsX1[0]*(s/(s+TopsZ1[0])), PositionCentreY+TopsY1[0]*(s/(s+TopsZ1[0])));
        this.moveTo(PositionCentreX+TopsX1[AmountSegments]*(s/(s+TopsZ1[AmountSegments])), PositionCentreY+TopsY1[AmountSegments]*(s/(s+TopsZ1[AmountSegments])));
        for (i=1; i<AmountSegments; i++) {
                this.lineTo(PositionCentreX+TopsX1[i+AmountSegments]*(s/(s+TopsZ1[i+AmountSegments])), PositionCentreY+TopsY1[i+AmountSegments]*(s/(s+TopsZ1[i+AmountSegments])));
        }
        this.lineTo(PositionCentreX+TopsX1[AmountSegments]*(s/(s+TopsZ1[AmountSegments])), PositionCentreY+TopsY1[AmountSegments]*(s/(s+TopsZ1[AmountSegments])));
        for (i=0; i<AmountSegments; i++) {
                this.moveTo(PositionCentreX+TopsX1[i]*(s/(s+TopsZ1[i])), PositionCentreY+TopsY1[i]*(s/(s+TopsZ1[i])));
                this.lineTo(PositionCentreX+TopsX1[i+AmountSegments]*(s/(s+TopsZ1[i+AmountSegments])), PositionCentreY+TopsY1[i+AmountSegments]*(s/(s+TopsZ1[i+AmountSegments])));
        }
        this.moveTo(PositionCentreX+TopsX2[0]*(s/(s+TopsZ2[0])), PositionCentreY+TopsY2[0]*(s/(s+TopsZ2[0])));
        for (i=1; i<AmountSegments; i++) {
                this.lineTo(PositionCentreX+TopsX2[i]*(s/(s+TopsZ2[i])), PositionCentreY+TopsY2[i]*(s/(s+TopsZ2[i])));
        }
        this.lineTo(PositionCentreX+TopsX2[0]*(s/(s+TopsZ2[0])), PositionCentreY+TopsY2[0]*(s/(s+TopsZ2[0])));
        this.moveTo(PositionCentreX+TopsX2[AmountSegments]*(s/(s+TopsZ2[AmountSegments])), PositionCentreY+TopsY2[AmountSegments]*(s/(s+TopsZ2[AmountSegments])));
        for (i=1; i<AmountSegments; i++) {
                this.lineTo(PositionCentreX+TopsX2[i+AmountSegments]*(s/(s+TopsZ2[i+AmountSegments])), PositionCentreY+TopsY2[i+AmountSegments]*(s/(s+TopsZ2[i+AmountSegments])));
        }
        this.lineTo(PositionCentreX+TopsX2[AmountSegments]*(s/(s+TopsZ2[AmountSegments])), PositionCentreY+TopsY2[AmountSegments]*(s/(s+TopsZ2[AmountSegments])));
        for (i=0; i<AmountSegments; i++) {
                this.moveTo(PositionCentreX+TopsX2[i]*(s/(s+TopsZ2[i])), PositionCentreY+TopsY2[i]*(s/(s+TopsZ2[i])));
                this.lineTo(PositionCentreX+TopsX2[i+AmountSegments]*(s/(s+TopsZ2[i+AmountSegments])), PositionCentreY+TopsY2[i+AmountSegments]*(s/(s+TopsZ2[i+AmountSegments])));
        }
        for (i=0; i<AmountSegments; i++) {
                this.moveTo(PositionCentreX+TopsX1[i]*(s/(s+TopsZ1[i])), PositionCentreY+TopsY1[i]*(s/(s+TopsZ1[i])));
                this.lineTo(PositionCentreX+TopsX2[i]*(s/(s+TopsZ2[i])), PositionCentreY+TopsY2[i]*(s/(s+TopsZ2[i])));
                this.moveTo(PositionCentreX+TopsX1[i+AmountSegments]*(s/(s+TopsZ1[i+AmountSegments])), PositionCentreY+TopsY1[i+AmountSegments]*(s/(s+TopsZ1[i+AmountSegments])));
                this.lineTo(PositionCentreX+TopsX2[i+AmountSegments]*(s/(s+TopsZ2[i+AmountSegments])), PositionCentreY+TopsY2[i+AmountSegments]*(s/(s+TopsZ2[i+AmountSegments])));
        }
};


opex 27.11.2003 00:45

ВОТ ТАК ЕЩЁ ПРИКОЛЬНО
Код:

var PositionCentreX = 250;
var PositionCentreY = 250;
var Radius = 100;
var Radius2 = 10;
var AmountSegments = 12;
var Thickness = 10;


webmaster IL 28.11.2003 01:53

Прииикольна !!! :D
хоть я ничё и не понял :D
но всёрано ! ПРИИИКОЛЬНА !!! :D :D :D

kompadre 28.11.2003 21:47

в помощь любителям настоек

--------------------------------------------------------
чтобы что нибудь увидеть - ЧЕРНЫЙ ФОН
--------------------------------------------------------

Dimonius 28.11.2003 21:52

Наверно прикольно, на рабочей тачке сильно тормозит - дома поприкалываюсь. :D

webmaster IL 29.11.2003 00:58

Дим ты обьясни чё с этой хренью делать что он написал ?

Dimonius 29.11.2003 07:48

Вставь код в первый кадр и поставь темный цвет для фона.

----------

Ни фига не прикольно, на 2К умудряется тормозить. Оpex, если это твой код, то респект, а так в принципе фигня написанная рендерщиком фантазером. Ну не может флеш такие вещи высчитывать в реальном времени. Об этом (в смысле о коде рендера, не флешевого, но реал таймовского и более крутого) в курилке не смолкают споры наших рендерщиков уже целый год. Кстати он (рендер) такую модель запросто на 386-ом бы провертел.

отсюда делаем вывод, что необходимо различать предназначения платформ.

GEf$ 30.11.2003 03:42

таким флешом только проц мучать :rolleyes:


Часовой пояс GMT +4, время: 20:36.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.