程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> X3D實戰基礎講座之五

X3D實戰基礎講座之五

編輯:關於JAVA

在X3D場景空間中,每一個造型都有其空間坐標,通過修改空間坐標系就可以使該造型在場景空間中移動、旋轉和縮放等。

X3D提供Transform節點來進行造型的幾何變換,該節點的主要屬性如下表所示:

屬性 含義 默認值 使用說明 translation 平移 0 0 0 將幾何體平移到指定的空間點位置 rotation 旋轉 0 0 1 0 前3個值是空間坐標點,該點和原點相連的線為旋轉軸,第4個值為旋轉角度(以弧度為單位) center 操作基點 0 0 0 指定一個空間點作為幾何變換的基點 scale 比例 1 1 1 指定在X、Y、Z方向的比例系數以便進行縮放 scaleOrientation 預旋轉比例 0 0 1 0 縮放前子節點局部坐標系統的預旋轉(允許沿著子節點任意方向縮放),其數值含義同rotation屬性 bboxCenter 邊界盒的中心 0 0 0 指定幾何體自身原點的位置 bboxSize 邊界盒的大小 -1 -1 -1 默認情況下是自動計算的,為了優化場景,也可以強制指定。

下面就來介紹上述屬性的使用方法。

一、平移

示例代碼如下:

說明:上面例子中,我們構造了兩個球。為了使另一個球在(3,0,0)位置上顯示,我們使用了Transform節點,該節點是一個組節點,Shape等節點需要作為它的子節點才能進行幾何造型的變換。

結果如下圖所示。

二、旋轉

代碼如下:

說明:立方體先平移到(3,0,0)點,然後按自身原點沿Z軸旋轉45度(弧度值約為0.785),結果如下圖所示。

若將立方體自身原點移至最右側面的中點,則上述代碼可修改成:

其結果如下:

請仔細比較這兩次結果的不同。

三、縮放

代碼如下:

說明:上述代碼中將第二個球沿X、Y、Z方向分別設置比例系數1、3和0.5,其結果如下圖所示。

四、綜合實例

通過幾何變換可以構造更多更復雜的幾何造型,下面的示例代碼就是用來構造一個三維坐標軸。

說明:上述代碼中,先用圓柱和圓錐構造Y軸,並將其合並成組Axis。然後對組Axis進行旋轉變換,結果如下圖所示。

上述顯示的場景是用鼠標改變其視角的結果。當然,視角的改變還可直接通過節點進行設置,在下一講中,我們將討論視點和導航的設置。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved