X3D提供了立方體(Box)、圓柱(Cylinder)、圓錐(Cone)、球體(Sphere)等基本3D造型節點。在本講中,我們先來簡單地介紹這些節點的使用,然後再來介紹節點的編組和節點的重復使用方法。
一、立方體Box
構造的代碼如下:
說明:Box節點的主要屬性是size,用來確定長度(x方向)、高度(y方向)和寬度(z)方向的大小。這裡是定義一個長為2,寬和高均為1的立方體。
結果如下圖所示。
二、圓柱體Cylinder
代碼如下:
說明:Cylinder節點的主要屬性有height(高度)、radius(半徑)以及是否包含頂面(top)、側面(side)和底面(bottom)等。這裡定義的是一個高為2,半徑為1的圓柱體,該圓柱體含有各個面。
結果如下圖所示。
三、圓錐體Cone
代碼如下:
說明:Cone節點的主要屬性有height(高度)、bottomRadius(底面半徑)以及是否包含側面(side)和底面(bottom)等。這裡定義的是一個高為3,半徑為1的圓錐體,該圓錐體含有各個面。
結果如下圖所示。
四、球體Sphere
構造的代碼如下:
說明:Sphere節點的主要屬性是radius,用來確定球體的半徑。
結果如下圖所示。
五、節點編組
節點編組是使用X3D的Group節點進行的,通過多個節點構成一組以便構造出更復雜的幾何造型。如下面的代碼
說明:該例使用Group 節點將兩個Shape 節點組織在一體,構造一個組合造型。結果如下圖所示。
六、節點的復用
在X3D場景中往往有多個相同屬性的節點出現,為了不重復添加節點屬性,X3D中的節點屬性窗口中提供了DEF 和 USE兩個屬性可以實現節點屬性的復用。
DEF用來為節點定義一個節點名稱以便後面的使用。該節點名稱是大小寫敏感(區分大小寫),其取名規則基本上與C語言相似。
USE是用來引用前面相同節點的屬性。如下面的代碼:
說明:在第一個出現的Appearance節點中,我們將其定義一個名稱Color3D,而在後面出現的Appearance節點,我們使用了USE來調用第一個節點的屬性。這樣,兩個立體的外觀就一樣了。
從上面可以看出,在X3D中構造基本3D立體是非常簡單方便的,但是由於每一個立體的屬性被最大化優化過,因此要想改立體的位置和旋轉角度還需要另外一些方法。在下一講中,我們重點介紹立體造型的幾何變換。