JavaFX - 3D 形狀



在前面的章節中,我們已經瞭解瞭如何在 JavaFX 應用程式的 XY 平面上繪製 2D 形狀。除了這些 2D 形狀之外,我們還可以使用 JavaFX 繪製其他幾個 3D 形狀。

3D 形狀

一般來說,3D 形狀是在 XYZ 平面上繪製的幾何圖形。它們由兩個或多個維度定義,通常是長度、寬度和深度。JavaFX 支援的 3D 形狀包括圓柱體、球體長方體

上面提到的每個 3D 形狀都由一個類表示,所有這些類都屬於javafx.scene.shape包。名為Shape3D的類是 JavaFX 中所有三維形狀的基類。

建立 3D 形狀

要建立三維形狀,您需要 -

  • 例項化所需 3D 形狀的相應類。

  • 設定 3D 形狀的屬性。

  • 將 3D 形狀物件新增到組中。

例項化相應類

要建立三維形狀,首先需要例項化其相應的類。例如,如果您想建立一個 3D 長方體,則需要例項化名為 Box 的類,如下所示 -

Box box = new Box();

設定形狀的屬性

例項化類後,需要使用 setter 方法設定形狀的屬性。

例如,要繪製一個 3D 長方體,您需要傳遞其寬度、高度、深度。您可以使用其各自的 setter 方法指定這些值,如下所示 -

//Setting the properties of the Box 
box.setWidth(200.0); 
box.setHeight(400.0);   
box.setDepth(200.0);

將形狀物件新增到組中

最後,需要透過將其作為建構函式的引數傳遞,將形狀物件新增到組中,如下所示。

//Creating a Group object  
Group root = new Group(box);

下表列出了 JavaFX 提供的各種 3D 形狀。

序號 形狀和描述
1 長方體

長方體是一種三維形狀,具有長度(深度)、寬度高度

在 JavaFX 中,三維長方體由名為Box的類表示。此類屬於javafx.scene.shape包。

透過例項化此類,您可以在 JavaFX 中建立一個長方體節點。

此類具有 3 個雙精度資料型別的屬性,即 -

  • width - 長方體的寬度。

  • height - 長方體的高度。

  • depth - 長方體的深度。

2 圓柱體

圓柱體是一個封閉的實體,有兩個平行的(大多是圓形的)底面,由一個曲面連線。

它由兩個引數描述,即其圓形底面的半徑和圓柱體的高度

在 JavaFX 中,圓柱體由名為Cylinder的類表示。此類屬於javafx.scene.shape包。

透過例項化此類,您可以在 JavaFX 中建立一個圓柱體節點。此類具有 2 個雙精度資料型別的屬性,即 -

  • height - 圓柱體的高度。

  • radius - 圓柱體的半徑。

3 球體

球體定義為在 3D 空間中與給定點距離 r 相同的所有點的集合。此距離 r 是球體的半徑,給定點是球體的中心。

在 JavaFX 中,球體由名為Sphere的類表示。此類屬於javafx.scene.shape包。

透過例項化此類,您可以在 JavaFX 中建立一個球體節點。

此類具有名為radius的雙精度資料型別屬性。它表示球體的半徑。

3D 物件的屬性

對於所有三維物件,您可以在 JavaFX 中設定各種屬性。它們列在下面 -

我們將在本教程的後續章節中討論 3D 物件的屬性。

廣告