JavaFX 3D 形状

2024 年 8 月 29 日 | 阅读 3 分钟

JavaFX 允许我们创建三维形状。 在 javafx.scene.shape 包中定义了类,它提供了处理 3D 形状的所有方法。 诸如 Box、Cylinder 和 sphere 这样的类。 包 javafx.scene.shape 中的类 Shape3D 是 javafx 中所有 3D 形状类的基类。

什么是 3D 形状?

三维形状可以定义为要在 XYZ 坐标系上绘制的实心几何对象。 3D 形状与 2D 形状的不同之处在于,3D 形状总是需要一个额外的坐标值 Z 才能在坐标系上绘制。

3D 形状的示例是圆柱体、球体、长方体、立方体、金字塔等。 但是,JavaFX 提供了用于创建球体、圆柱体和长方体的类。

JavaFX 中 3D 形状的类型

在 JavaFX 中,3D 形状可以分为两种不同的类型:

1. 预定义的 3D 形状

JavaFX 提供了一些预定义的 3D 形状类,即 Cylinder、Sphere 和 Box。 我们只需要实例化这些类即可在屏幕上创建这些形状。 类包含用于创建相应形状所需的各种属性和方法。

2. 用户定义的 3D 形状

JavaFX 提供了类 javafx.scene.shape.TriangleMesh,它扩展了抽象类 javafx.scene.shape.Mesh。 该类方便用户定义他们自己的点、纹理坐标和面作为类的属性。

在 JavaFX 中创建 3D 形状的步骤

正如我们之前提到的,JavaFX 中不同的 3D 形状有不同的类。 我们只需要实例化这些类即可创建相应的 3D 形状。 使用以下步骤在 JavaFX 中创建 3D 形状。

1. 实例化我们要创建的相应的 3D 形状类,例如,

2. 设置类的属性。 例如;

3. 为场景设置相机。 尽管,设置相机对于创建 3D 效果不是必需的,但它为相机视图提供了特定的位置。 这可以如下完成。

4. 将盒子添加到场景图中,并为场景和舞台设置适当的属性。

javafx.scene.shape 提供的 3D 形状类在下表中描述。

序号形状描述
1Box通常,长方体可以定义为具有所有面为矩形形状的三维形状。 长方体的三个维度是高度、宽度和深度。 在 JavaFX 中,classjavafx.scene.shape.Boxrepresent 长方体。
2圆柱体圆柱体可以定义为具有两个平行圆形基底,由弯曲表面连接的三维固体。 它有两个主要属性:半径和高度。 在 JavaFX 中,类 javafx.scene.shape.Cylinder 代表圆柱体。
3球体可以定义为完全圆形的实心 3D 对象。 在 JavaFX 中,球体由类 javafx.scene.shape.Sphere 表示。

下一个主题JavaFX 3D 对象属性