JavaFX 3D形状

本文概述

  • 什么是3D形状?
  • JavaFX中3D形状的类型
  • 在JavaFX中创建3D形状的步骤
JavaFX使我们能够创建三维形状。 javafx.scene.shape包中定义了一些类, 这些类提供了处理3D形状的所有方法。这样的类是Box, Cylinder和sphere。软件包javafx.scene.shape的Shape3D类是javafx中所有3D shape类的基类。
什么是3D形状?可以将三维形状定义为要在XYZ坐标系上绘制的实体几何对象。 3D形状与2D形状的不同之处在于3D形状始终需要具有额外的坐标值Z才能在坐标系上绘制。
3D形状的示例包括圆柱体, 球体, 盒子, 立方体, 金字塔等。但是, JavaFX提供了一些类来创建球体, 圆柱体和盒子。
JavaFX中3D形状的类型在JavaFX中, 可以将3D形状分为两种不同的类型,
1.预定义的3D形状
JavaFX提供了一些预定义的3D形状类, 例如Cylinder, Sphere和Box。我们只需要实例化这些类即可在屏幕上创建这些形状。这些类包含各种属性和方法, 这些属性和方法必须用于创建适当的形状。
2.用户定义的3D形状
【JavaFX 3D形状】JavaFX提供了javafx.scene.shape.TriangleMesh类, 该类扩展了抽象类javafx.scene.shape.Mesh。该类使用户可以将自己的点, 纹理坐标和面定义为该类的属性。
在JavaFX中创建3D形状的步骤如前所述, JavaFX中的不同3D形状有不同的类。我们只需要实例化这些类即可创建适当的3D形状。使用以下步骤在JavaFX中创建3D形状。
1.实例化我们要创建的3D形状类, 例如,
Box box = new Box();

2.设置类的属性。例如;
box.setHeight(100.0); box.setDepth(50.0); box.setWidth(70.0);

3.为场景设置摄像机。尽管不必设置摄像机来创建3D效果, 但是它为摄像机视图提供了一定的位置。这可以如下进行。
PerspectiveCamera camera = new PerspectiveCamera(); camera.setTranslateX(100.0); camera.setTranslateY(50.0); camera.setTranslateZ(-90); scene.setCamera(camera)

4.将框添加到“场景”图, 然后为“场景”和舞台设置适当的属性。
Group root = new Group(); root.getChildren().add(box); Scene scene = new Scene(root, 500, 400); primaryStage.setScene(scene); primaryStage.setTitle("Box Example"); primaryStage.show();

下表描述了由包javafx.scene.shape提供的3D形状类。
序号 形状 描述
1 Box 通常, 盒子可以被定义为具有所有面为矩形的三维形状。 Box的三个维度是高度, 宽度和深度。在JavaFX中, 类javafx.scene.shape.Box表示Box。
2 Cylinder 圆柱体可以定义为三维实体, 具有通过曲面连接的两个平行圆形基础。它具有两个主要属性, 即半径和高度。在JavaFX中, 类javafx.scene.shape.Cylinder表示圆柱体。
3 Sphere 球体可以定义为完美圆形的实体3D对象。在JavaFX中, Sphere由类javafx.scene.shape.Sphere表示。

    推荐阅读