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 对象的属性。

广告

© . All rights reserved.