JavaFX 3D

JavaFX使我们能够创建三维形状。在javafx.scene.shape包中定义了一些类,它们提供了处理三维形状的所有方法。这些类包括Box、Cylinder和Sphere。包javafx.scene.shape中的Shape3D类是javafx中所有三维形状类的基类。

什么是3D形状?

三维形状可以定义为在XYZ坐标系上绘制的实体几何对象。3D形状与2D形状不同,因为3D形状始终需要一个额外的坐标值Z才能在坐标系上绘制。 3D形状的例子包括圆柱体、球体、盒子、立方体、金字塔等。然而,JavaFX提供了创建球体、圆柱体和盒子的类。

JavaFX中的3D形状类型

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

预定义的3D形状

JavaFX提供了一些预定义的3D形状类,如圆柱体(Cylinder)、球体(Sphere)和盒子(Box)。我们只需实例化这些类就可以在屏幕上创建这些形状。这些类包含了创建适当形状所需的各种属性和方法。

用户自定义的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 的三个维度是高度、宽度和深度。在 JavaFX 中,类 javafx.scene.shape.Box表示 Box。
2圆柱圆柱体可以定义为具有两个由曲面连接的平行圆形基体的三维实体。它具有两个主要属性,即半径和高度。在 JavaFX 中,类javafx.scene.shape.Cylinder表示圆柱体。
3领域球体可以定义为完美的圆形实体 3D 对象。在 JavaFX 中,Sphere 由类javafx.scene.shape.Sphere表示。

标签: java, Java面试题, Java下载, java教程, java技术, Java学习, Java学习教程, Java语言, Java开发, Java入门教程, Java进阶教程, Java高级教程, Java笔试题, Java编程思想