為了看清楚away3d裡物體的位置關係,首先來建立座標系和三個平面。座標繫在away3d裡已經封裝為trident類,直接呼叫即可:
var tri:trident = new trident(400, true);scene.addchild(tri);
建立引數第乙個是座標軸長度,第二個是要不要座標軸字母。
再來三個座標平面,這裡使用gridplane類效果比較好。
var p1:gridplane = new gridplane();p1.width = 800;
p1.height = 800;
p1.segmentsh = 2;
p1.segmentsw = 2;
p1.material = new wireframematerial(0xff0000);
scene.addchild(p1);
通過旋轉建立其他兩個平面。
away3d建立的幾何體中心點都在其幾何中心,如何要改變這個點,就需要使用movepivot方法,movepivot方法需要座標引數,這個座標是相對於幾何體中心點的,也就是區域性座標。將乙個100*100*100的立方體放到第一象限,則可以寫:
cube.movepivot( -50, -50, -50);
隨後物體的轉軸也變到了中心點對應的三條座標軸。
在實際應用中,控制物體位置常用moveforward,movebackward等一系列函式,他們對應的移動方向分別是:
moveforward:向z軸正向
movebackward:向z軸負向
moveleft:向x軸負向
moveright:向x軸正向
moveup:向y軸正向
movedown:向y軸負向
對應三個旋轉函式:
pitch:繞x軸順時針轉
yaw:繞y軸順時針轉
roll:繞z軸順時針轉
這裡說的順時針,都是指從指定座標軸的方向看過去的。由於上面9個函式也可以帶負引數,所以其實只有6個函式,分別控制物體的6個自由度。
使用這些函式的好處就是,他們會隨著物體位置自適應新的區域性座標系。
Away3d學習筆記 1
為了做一些較複雜的3d應用,打算學習下3d引擎。pv3d早已停止更新,away3d看上去是個不錯的起點,一來因為它開源免費,而且 相關的資料比較豐富。通過比較,發現推薦較多的是這本 the essential guide to 3d in flash 第二章包括一些簡單的例子,通過敲打這些demo,...
AWay3D 動畫位置變化的問題
var delta vector3d activestate.positiondelta var dist number delta.length var len uint if dist 0 len owners.length for var i uint 0 i len i owners i t...
轉移物體位置 轉移性肝癌與3D列印
轉移性肝癌大部分 於消化道腫瘤,其中以結腸 直腸腫瘤轉移最常見。絕大部分患者出現惡性腫瘤肝轉移時已處於中晚期,臨床上對轉移性肝癌的 比較棘手。主要分為手術及非手術兩種方式,其中非手術 包括射頻消融術 微波凝固 放療 無水乙醇瘤內注射及化療等。非手術 雖對原發病灶有效,但仍有腫瘤殘餘及再進展的風險,因...