JavaFX - Esfera de forma 3D

Una esfera es un objeto geométrico perfectamente redondo en un espacio tridimensional que es la superficie de una bola de forma completamente redonda.

Una esfera se define como el conjunto de puntos que están todos a la misma distancia r de un punto dado en un espacio 3D. Esta distanciar es el radius de la esfera y el punto dado es el centro de la esfera.

En JavaFX, una esfera está representada por una clase llamada Sphere. Esta clase pertenece al paquetejavafx.scene.shape. Al crear una instancia de esta clase, puede crear un nodo de esfera en JavaFX.

Esta clase tiene una propiedad llamada radiusde doble tipo de datos. Representa el radio de una esfera. Para dibujar una esfera, debe establecer valores para esta propiedad pasándola al constructor de esta clase en el momento de la instanciación de la siguiente manera:

Sphere sphere = new Sphere(radius);

O, usando un método llamado setRadius() como sigue -

setRadius(value);

Pasos para dibujar una esfera 3D

Siga los pasos que se indican a continuación para dibujar una esfera (3D) en JavaFX.

Paso 1: crear una clase

Cree una clase Java y herede la Application clase del paquete javafx.application e implementar el start() método de esta clase de la siguiente manera.

public class ClassName extends Application { 
  @Override     
   public void start(Stage primaryStage) throws Exception {     
   }    
}

Paso 2: crear una esfera

Puede crear una esfera en JavaFX creando una instancia de la clase llamada Sphere, que pertenece a un paquete javafx.scene.shape. Puede crear una instancia de esta clase de la siguiente manera.

//Creating an object of the class Sphere 
Sphere sphere = new Sphere();

Paso 3: Establecer propiedades para la esfera

Establezca el radio de la esfera utilizando el método denominado setRadius() Como se muestra abajo.

//Setting the radius of the Sphere 
sphere.setRadius(300.0);

Paso 4: crear un objeto de grupo

En el start() método, cree un objeto de grupo instanciando la clase llamada Group, que pertenece al paquete javafx.scene.

Pase el objeto Sphere (nodo), creado en el paso anterior, como parámetro al constructor de la clase Group. Esto debe hacerse para agregarlo al grupo como se muestra a continuación:

Group root = new Group(sphere);

Paso 5: creación de un objeto de escena

Cree una escena creando una instancia de la clase llamada Scene, que pertenece al paquete javafx.scene. A esta clase, pase el objeto Grupo (root) creado en el paso anterior.

Además del objeto raíz, también puede pasar dos parámetros dobles que representan la altura y el ancho de la pantalla junto con el objeto de la clase Group de la siguiente manera.

Scene scene = new Scene(group ,600, 300);

Paso 6: Establecer el título del escenario

Puede establecer el título del escenario utilizando el setTitle() método del Stageclase. losprimaryStage es un objeto Stage, que se pasa al método de inicio de la clase de escena como parámetro.

Utilizando el primaryStage objeto, establezca el título de la escena como Sample Application como sigue.

primaryStage.setTitle("Sample Application");

Paso 7: agregar escena al escenario

Puede agregar un objeto de escena al escenario usando el método setScene() de la clase nombrada Stage. Agregue el objeto Scene preparado en los pasos anteriores utilizando este método como se muestra a continuación.

primaryStage.setScene(scene);

Paso 8: Visualización del contenido del escenario

Muestre el contenido de la escena usando el método llamado show() del Stage clase de la siguiente manera.

primaryStage.show();

Paso 9: lanzamiento de la aplicación

Inicie la aplicación JavaFX llamando al método estático launch() del Application class del método principal como se muestra a continuación.

public static void main(String args[]){   
   launch(args);      
}

Ejemplo

El siguiente programa muestra cómo generar una esfera usando JavaFX. Guarde este código en un archivo con el nombreSphereExample.java.

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.stage.Stage; 
import javafx.scene.shape.Sphere; 
         
public class SphereExample extends Application { 
   @Override 
   public void start(Stage stage) { 
      //Drawing a Sphere  
      Sphere sphere = new Sphere();  
      
      //Setting the properties of the Sphere 
      sphere.setRadius(50.0);   
       
      sphere.setTranslateX(200); 
      sphere.setTranslateY(150);      
       
      //Creating a Group object  
      Group root = new Group(sphere); 
         
      //Creating a scene object 
      Scene scene = new Scene(root, 600, 300);  
      
      //Setting title to the Stage 
      stage.setTitle("Drawing a Sphere - draw fill");
      
      //Adding scene to the stage 
      stage.setScene(scene); 
         
      //Displaying the contents of the stage 
      stage.show(); 
   }      
   public static void main(String args[]){ 
      launch(args); 
   } 
}

Compile y ejecute el archivo java guardado desde el símbolo del sistema utilizando los siguientes comandos.

javac SphereExample.java 
java SphereExample

Al ejecutarse, el programa anterior genera una ventana JavaFX que muestra una esfera como se muestra a continuación.