Javafx-3dshape-sphere
JavaFX-3Dシェイプ球
球体は、完全に丸い形状のボールの表面である3次元空間内の完全に丸い幾何学的オブジェクトです。
球体は、3D空間内の特定のポイントからすべて同じ距離rにあるポイントのセットとして定義されます。 この距離 r は球の*半径*であり、与えられた点は球の中心です。
JavaFXでは、球体は Sphere という名前のクラスで表されます。 このクラスは、パッケージ javafx.scene.shape に属します。 このクラスをインスタンス化することにより、JavaFXで球体ノードを作成できます。
このクラスには、* radius * of doubleデータ型というプロパティがあります。 球体の半径を表します。 球体を描画するには、次のようにインスタンス化時にこのクラスのコンストラクターに渡すことにより、このプロパティに値を設定する必要があります-
Sphere sphere = new Sphere(radius);
または、次のように* setRadius()*という名前のメソッドを使用して-
setRadius(value);
3D球体を描く手順
JavaFXで球体(3D)を描画するには、以下の手順に従います。
ステップ1:クラスを作成する
Javaクラスを作成し、パッケージ javafx.application の Application クラスを継承し、このクラスの* start()*メソッドを次のように実装します。
public class ClassName extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
}
}
ステップ2:球を作成する
パッケージ javafx.scene.shape に属する Sphere というクラスをインスタンス化することにより、JavaFXでSphereを作成できます。 このクラスを次のようにインスタンス化できます。
//Creating an object of the class Sphere
Sphere sphere = new Sphere();
ステップ3:球体にプロパティを設定する
以下に示すように、* setRadius()*というメソッドを使用して、球体の半径を設定します。
//Setting the radius of the Sphere
sphere.setRadius(300.0);
ステップ4:グループオブジェクトの作成
- start()メソッドで、パッケージ *javafx.scene に属する Group という名前のクラスをインスタンス化して、グループオブジェクトを作成します。
前の手順で作成したSphere(ノード)オブジェクトをパラメーターとしてGroupクラスのコンストラクターに渡します。 これは、以下に示すようにグループに追加するために行う必要があります-
Group root = new Group(sphere);
ステップ5:シーンオブジェクトの作成
パッケージ javafx.scene に属する Scene という名前のクラスをインスタンス化して、シーンを作成します。 このクラスに、前の手順で作成したGroupオブジェクト( root )を渡します。
ルートオブジェクトに加えて、画面の高さと幅を表す2つのdoubleパラメーターを、Groupクラスのオブジェクトとともに次のように渡すこともできます。
Scene scene = new Scene(group ,600, 300);
ステップ6:ステージのタイトルを設定する
*Stage* クラスの* setTitle()*メソッドを使用して、ステージにタイトルを設定できます。 *primaryStage* はStageオブジェクトであり、シーンクラスのstartメソッドにパラメーターとして渡されます。
*primaryStage* オブジェクトを使用して、シーンのタイトルを次のように *Sample Application* として設定します。
primaryStage.setTitle("Sample Application");
ステップ7:シーンをステージに追加する
*Stage* という名前のクラスの* setScene()*メソッドを使用して、Sceneオブジェクトをステージに追加できます。 以下に示すように、このメソッドを使用して、前の手順で準備したSceneオブジェクトを追加します。
primaryStage.setScene(scene);
ステップ8:ステージのコンテンツを表示する
次のように Stage クラスの* show()*という名前のメソッドを使用して、シーンのコンテンツを表示します。
primaryStage.show();
ステップ9:アプリケーションの起動
以下に示すように、メインメソッドから Application クラスの* launch()*静的メソッドを呼び出して、JavaFXアプリケーションを起動します。
public static void main(String args[]){
launch(args);
}
例
次のプログラムは、JavaFXを使用してSphereを生成する方法を示しています。 このコードを SphereExample.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);
}
}
次のコマンドを使用して、コマンドプロンプトから保存したJavaファイルをコンパイルして実行します。
javac SphereExample.java
java SphereExample
実行すると、上記のプログラムは、以下に示すようにSphereを表示するJavaFXウィンドウを生成します。