Mesh View

除了前述之基本3D物體之外,JavaFX並提供Mesh View (網格視圖) 進階功能。前述BoxCylinderSphere類別只要透過簡單的參數設定,則可建立3D物體,但也受限於此,因此僅能建立簡單的3D物體。

Mesh View為目前大部份3D軟體與程式所使用的方法,由於多邊體 (Polygon) 是由數個面 (Facet) 所組成,每一個面由數個頂點 (Vertex) 所設定,因此Mesh View沿用此一概念,以三個頂點定義三角形 (Triangle) 藉此定義多邊體的面,再以數個面組成多邊體。

Mesh View由javafx.scene.shape.MeshView類別處理,以3D Mesh Data設定多邊體,其建構函式如下,其中參數mesh為3D Mesh Data,可由TriangleMesh類別設定:

public MeshView()
public MeshView(Mesh mesh)

其方法包括:

  • getMesh():取得3D Mesh Data。
  • setMesh():設定3D Mesh Data。

3D Mesh Data由TriangleMesh類別設定,由於Mesh View是以三角形定義多邊體的面,因此類別名為Triangle。TriangleMesh類別以頂點座標 (Points)、貼圖座標 (Texture Coordinate) 與三角形所組成的面 (Faces) 組成3D物體,此外為決定面的方向性,TriangleMesh類別以「右手定則」定義各面的上下方向。

其方法包括:

  • getFaceElementSize():取得面的數目。
  • getFaces():取得3D物體所有的面。
  • getFaceSmoothingGroups():取得各面的平滑 (Smoothing)參數。
  • getPointElementSize():取得頂點座標的數目。
  • getPoints():取得3D物體所有的頂點座標。
  • getTexCoordElementSize():取得貼圖座標的數目。
  • getTexCoords():取得3D物體所有的貼圖座標。

results matching ""

    No results matching ""