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

X3D實戰基礎講座之三

編輯:關於JAVA

在本講中,我們將介紹如何點、線及其基本2D圖形的創建和構造,其中還簡單地介紹了X3D的坐標系。

一、點及點的坐標

在X3D的場景中設置物體需要有明確的坐標。在同一個場景中,有一個統一的坐標系。這個坐標系是一個右手坐標系,在初始時(即觀察者沒有移動位置和改變視角),該坐標系的X軸為沿屏幕水平向右,Y軸為沿屏幕垂直向上,Z軸為從屏幕指向用戶。

在X3D中,點的坐標是(x, y, z),坐標的單位是邏輯單位,即是X3D的VRML單位,由於它所顯示的圖形是按比例進行的,因此你可以把單位當成mm。在指定坐標量各坐標分量值可以用空格分開也可以用逗號分隔。下面的示例是顯示四個點,其代碼如下:

說明:

(1) X3D支持點的節點是PointSet,它可以包含Color 和Coordinate節點。Color節點是用來構造顏色值的索引表用於指定對應點或對象的顏色,Coordinate節點是用來構造坐標的列表。

(2) 在Coordinate節點屬性窗口中,單擊point屬性內容,彈出一對話框,添加如下圖的坐標點。

上述代碼的結果如下圖所示。

若要指定單個點的不同顏色,可刪除Appearance節點,並在PointSet節點添加Color子節點,並指定其color屬性值,如下圖所示:

這樣上述場景代碼就變成:

運行結果如下:

二、繪制直線

在X3D中,繪制直線是采用IndexedLineSet節點,它可以包含Color 和Coordinate子節點。IndexedLineSet節點屬性中,coordIndex屬性用來指定直線端點在Coordinate子節點的索引號(0表示第一個點),每條直線索引值由3個數組成,前兩個是點的索引號,第三個是-1。

例如,在上述代碼中再添加一個Shape節點,構成如下的代碼。

其中,Coordinate子節點中的point內容同上。IndexedLineSet節點的coordIndex屬性內容如下所示:

運行結果如下:

若想設置每條直線的顏色,可將上述代碼改為下列結果:

說明:IndexedLineSet節點的colorindex屬性值由3個數組成,前兩個用於指定起始點和終止點顏色在Color節點定義中的索引,最後一個是-1。例如,顏色索引號0是指在Color節點定義的第一個顏色值(1 1 0)。上述代碼中的Color節點內容同前。

運行結果如下:

三、給制矩形

在X3D中,Rectangle2D 幾何節點用來指定一個平面矩形。使用時比較容易,只要指定其size屬性內容就可改變其大小。Rectangle2D默認的size大小是2, 2。如下列代碼:

結果如下圖所示。

四、給制2D弧線

X3D中的Arc2D、ArcClose2D、Circle2D和Disk2D節點分別用來繪制圓弧、封閉圓弧、圓和環。如下面的示例:

結果為:

類似的有:

在下一講中,我們將介紹基本3D圖形的創建方法。

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