JavaFXでCubicCurve(3次曲線)を作成・描画する方法を解説
3次曲線(Cubic Curve)とは
3次曲線とは、2つの変数を含む3次多項式関数によって表される曲線のことです。滑らかなS字カーブなどを描く際に利用され、グラフィック描画の分野で広く使われています。
JavaFXでは、この3次曲線をjavafx.scene.shape.CubicCurveクラスで表現します。このクラスには以下の8つのプロパティが用意されています。
- startX:曲線の始点のX座標。setStartX()メソッドで値を設定します。
- startY:曲線の始点のY座標。setStartY()メソッドで値を設定します。
- controlX1:第1制御点のX座標。setControlX1()メソッドで値を設定します。
- controlY1:第1制御点のY座標。setControlY1()メソッドで値を設定します。
- controlX2:第2制御点のX座標。setControlX2()メソッドで値を設定します。
- controlY2:第2制御点のY座標。setControlY2()メソッドで値を設定します。
- endX:曲線の終点のX座標。setEndX()メソッドで値を設定します。
- endY:曲線の終点のY座標。setEndY()メソッドで値を設定します。
始点と終点の2点に加え、2つの制御点が曲線の膨らみ方(形状)を決定します。制御点の位置を調整することで、さまざまな曲線を自由に表現できます。
3次曲線を作成する手順
JavaFXで3次曲線を作成するには、以下の手順を実行します。
- CubicCurveクラスをインスタンス化します。
- セッターメソッドを使用するか、コンストラクタの引数として必要なプロパティを設定します。
- 作成したノード(図形)をGroupオブジェクトに追加します。
サンプルコード
以下は、CubicCurveクラスを使用して3次曲線を描画するJavaプログラムの例です。
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.shape.CubicCurve;
public class DrawingCubicCurve extends Application {
@Override
public void start(Stage stage) {
//3次曲線を描画
CubicCurve cubicCurve = new CubicCurve();
//3次曲線のプロパティを設定
cubicCurve.setStartX(75.0f);
cubicCurve.setStartY(75.0f);
cubicCurve.setControlX2(250.0f);
cubicCurve.setControlY2(250.0f);
cubicCurve.setControlX1(400.0f);
cubicCurve.setControlY1(40.0f);
cubicCurve.setEndX(500.0f);
cubicCurve.setEndY(260.0f);
//その他のプロパティを設定
cubicCurve.setFill(Color.CHOCOLATE);
cubicCurve.setStrokeWidth(8.0);
cubicCurve.setStroke(Color.BROWN);
//シーンオブジェクトの設定
Group root = new Group(cubicCurve);
Scene scene = new Scene(root, 600, 300);
stage.setTitle("Drawing a cubic curve");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}実行結果
上記のコードを実行すると、以下のようにチョコレート色で塗りつぶされた3次曲線が描画されたウィンドウが表示されます。

-
JavaFXでスライダー(Slider)を作成する方法をわかりやすく解説
JavaFXのSliderクラスとはJavaFXには、Sliderと呼ばれるクラスが標準で用意されています。このクラスは、連続的な範囲の値を表示・選択できるスライダーコンポーネントを表します。スライダーは、数値が表示される「トラック」と、その上を移動して値を指し示す「つまみ(サム)」で構成されています。コンストラクタやプロパティを通じて、スライダーの最大値・最小値・初期値を自由に指定することが可能です。スライダーの作成手順JavaFXでスライダーを作成する基本の手順は以下の通りです。Sliderクラスをインスタンス化する — 最小値・最大値・初期値を引数に指定できます。必要なプロパティを設定す
-
Javaでディレクトリ階層を作成する方法|mkdirs()メソッドの使い方を解説
java.ioパッケージに含まれるFileクラスは、システム上のファイルやディレクトリ(パス名)を表現するためのクラスです。このクラスには、ファイルやディレクトリに対してさまざまな操作を行うためのメソッドが数多く用意されています。 mkdir()メソッドを使用すると、現在のFileオブジェクトが表すパスにディレクトリを1つ作成できます。ただし、このメソッドは親ディレクトリが存在しない場合には失敗するという点に注意が必要です。 ディレクトリ階層を作成するには? 複数階層からなる新しいディレクトリ構造を一括で作成したい場合は、同じFileクラスのmkdirs()メソッドを使用します。このメソッドは