Flash中的3D投影

2021-08-25 03:17:41 字數 1446 閱讀 7716

ps:第一次翻譯的,錯的請指出。

這裡我簡單的對3d投影做了解釋,首先我們看看3d完美運用的**:

[url=

------

最基礎的3d投影公式是:

scale=fl/(fl+z);

//這裡我理解scale為投影比例

fl是焦點距離(也就是眼睛到螢幕的距離)

z是物體在螢幕裡的深度;

---------------

看看下面的剖面圖:

[img]/files/beyondpic/2006-9/19/focalpointdiagram.gif[/img]

你可以知道焦距f1和(z+f1);

scale=fl/(fl+z);

這裡定義f1=150;

如果z=0,你可以得出:

scale = 150/(150+0);

再看下面:

如果z=100,你可以得出:

scale = 150/(150+100);

投影比例將為0.6。

如果 z=500(離螢幕很遠很遠...)

scale = 150/(150+500);

投影比例將大約為0.23;

從上面你可以看出當你不斷增加z時,投影比例scale將會越來越小,不斷接近0,當z剛好為0的或者剛好在螢幕上,投影比例將會為1.

[img]/files/beyondpic/2006-9/19/distancediagram.gif[/img]

但要怎樣運用投影比例?你會從上面的**發現,當距離螢幕的距離不斷變大時,有兩樣東西會減少:

1.物體的大小;

2.越來月接近中點或者消失點;

但在flash語言中僅僅和_xscale 和 _yscale 和 _x 和 _y.有關;

下面你會得知如何運用它,首先你要定義你的x,y和z的值,你可以這樣寫:

scale=fl/(fl+z);

_x=x*scale;

_y=y*scale;

_xscale = _yscale = scale*100;

你可以從中看出地平線或者消失點是在(0,0)點。總的來說,當物體離你越來越遠,它們將會接近消失點(0,0),而在flash中,就是主舞台左上角的點,如果你要使你的物體放在螢幕的中間,你可以像下面這樣寫:

xcenter=275;

ycenter=200;

scale=fl/(fl+z);

_x=x*scale+xcenter;

_y=y*scale+ycenter;

_xscale = _yscale = scale*100;

你現在要了解在中心的左邊是x軸的負方向,正方向是中心點的右邊,y軸的負方向在你視線的上方,下方是y軸的正方向.

3D 投影矩陣學習1

先看一下名詞 在矩陣數學中,也有乙個名詞叫投影矩陣,其定義為 若矩陣a既是對稱矩陣,又是冪等矩陣,則稱a為投影矩陣。這裡說的是3d世界中的投影矩陣 其作用是幫助把3d物體顯示在2維計算機平面。什麼是投影 計算機顯示器是乙個二維表面,所以如果你想顯示三維影象,你需要一種方法把3d幾何體轉換成一種可作為...

3D全息投影的應用優勢

隨著3d全息投影技術的日漸火熱,其在各個行業中的應用也變得越來越多,同時也有更多的人對著項多 技術產生了好奇。下面就由黑火石科技帶大家去了解一下3d全息。全息投影技術屬於3d技術的一種,原指利用干涉原理記錄並再現物體真實的三維影象的技術。而後隨著科幻電影與商業宣傳的引導,全息投影的概念逐漸延伸到舞台...

Flash如何實現3D應用

flash如何實現3d?我想很多人用flash這麼久了,都還不一定嘗試過,vision就是乙個3d的引擎,它能幫您實現,而且快open source囉。其實這概念來自用movieclips來達成3d的錯覺,藉由改變它的位置 尺寸,包含旋轉 扭曲等,您就可以感覺到3d的存在。不過最新的版本是以flas...