Javafx 简明教程
JavaFX - 3D Shapes
在前面的章节中,我们已经了解如何在 JavaFX 应用程序中在 XY 平面中绘制二维图形。除了这些二维图形外,我们还可以使用 JavaFX 绘制其他几个三维图形。
3D Shape
总的来说,三维图形是在 XYZ 平面中可以绘制的几何图形。它们由两个或更多个维度定义,通常为长度、宽度和深度。JavaFX 支持的三维图形包括 Cylinder, Sphere 和 Box 。
以上提到的每个 3D 形状都由一个类表示,且所有这些类都属于包 javafx.scene.shape 。名为 Shape3D 的类是 JavaFX 中所有 3D 形状的基类。
Creating a 3D Shape
要创建一个 3D 形状,你需要:
-
实例化所需 3D 形状的相应类。
-
设置 3D 形状的属性。
-
将 3D 形状对象添加到组中。
Instantiating the Respective Class
要创建一个 3D 形状,首先需要实例化其相应类。例如,如果要创建一个 3D 盒子,你需要实例化名为 Box 的类,如下所示:
Box box = new Box();
Setting the Properties of the Shape
实例化该类后,你需要使用 setter 方法为该形状设置属性。
例如,要绘制一个 3D 盒子,你需要传递其宽度、高度和深度。你可以使用其各自的 setter 方法指定这些值,如下所示:
//Setting the properties of the Box
box.setWidth(200.0);
box.setHeight(400.0);
box.setDepth(200.0);
Adding the Shape Object to the Group
最后,你需要将形状的对象添加到组中,方法是将其作为构造函数的参数进行传递,如下所示。
//Creating a Group object
Group root = new Group(box);
下表提供了 JavaFX 提供的各种 3D 形状的列表。
S.No |
Shape & Description |
1 |
Box 长方体是一个三维形状,具有 length (深度)、 width 和 height 。在 JavaFX 中,一个三维盒子由名为 Box 的类表示。此类属于包 javafx.scene.shape 。通过实例化此类,你可以在 JavaFX 中创建一个盒子节点。此类有 3 个 double 数据类型的属性,即: width - 盒子的宽度。 height - 盒子的高度。 depth - 盒子的深度。 |
2 |
Cylinder 圆柱体是一个封闭的实体,它有两个平行的(通常为圆形的)底面,由一个曲面连接。它由两个参数描述,即其圆形底面的 radius 和圆柱体的 height 。在 JavaFX 中,圆柱体由名为 Cylinder 的类表示。此类属于包 javafx.scene.shape 。通过实例化此类,你可以在 JavaFX 中创建一个圆柱体节点。此类有 2 个 double 数据类型的属性,即: height - 圆柱体的高度。 radius - 圆柱体的半径。 |
3 |
Sphere 球的定义是与 3D 空间中一个给定点距离均为 r 的点的集合。此距离 r 是球体的半径,而给定点是球体的中心。在 JavaFX 中,球体由名为 Sphere 的类表示。此类属于包 javafx.scene.shape 。通过实例化此类,你可以在 JavaFX 中创建一个球体节点。此类有一个名为 radius 的 double 数据类型的属性。它表示球体的半径。 |