个性化阅读
专注于IT技术分析

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提供了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表示。
赞(0)
未经允许不得转载:srcmini » JavaFX 3D形状

相关推荐

评论 抢沙发

评论前必须登录!