CubicCurve2D.DoubleクラスとCubicCurve2D.Floatクラス

広告

CubicCurve2Dクラスは3次元ベジエ曲線を表すクラスです。始点と終点そして2つの制御点から曲線を作成します。

クラス図は次のようになっています。

  • java.lang.Object
  • java.awt.geom.CubicCurve2D
  • public abstract class CubicCurve2D extends Object implements Shape, Cloneable

CubicCurve2Dクラスはabstractクラスとなっていますので実際に使用する場合はサブクラスであるCubicCurve2D.DoubleクラスとCubicCurve2D.Floatクラスを利用します。

CubicCurve2D.Doubleクラス

CubicCurve2D.Doubleクラスは3次元ベジエ曲線を特定するための各値としてdouble型の値を使用するクラスです。

クラス図は次のようになっています。

  • java.lang.Object
  • java.awt.geom.CubicCurve2D
  • java.awt.geom.CubicCurve2D.Double
  • public static class CubicCurve2D.Double extends CubicCurve2D implements Serializable

コンストラクタは次の2つが用意されています。

コンストラクタ
CubicCurve2D.Double()
座標 (0, 0, 0, 0, 0, 0) で CubicCurve を構築および初期化します。
CubicCurve2D.Double(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
指定された double 座標から CubicCurve2D を構築および初期化します。

いくつかコンストラクタがありますが基本となる2番目のコンストラクタを確認してみます。

指定された double 座標から CubicCurve2D を構築および初期化します。 

パラメータ:
  x1 - 結果の CubicCurve2D の 始点に指定された X 座標
  y1 - 結果の CubicCurve2D の 始点に指定された Y 座標
  ctrlx1 - 結果の CubicCurve2D の 最初の制御点の X 座標
  ctrly1 - 結果の CubicCurve2D の 最初の制御点の Y 座標
  ctrlx2 - 結果の CubicCurve2D の 2 番目の制御点の X 座標
  ctrly2 - 結果の CubicCurve2D の 2 番目の制御点の Y 座標
  x2 - 結果の CubicCurve2D の 終点の X 座標
  y2 - 結果の CubicCurve2D の 終点の Y 座標

まず始点座標について1番目の引数でx座標を2番目の引数でy座標をそれぞれdouble型の値で指定します。次に1つ目の制御点の座標について3番目の引数でx座標を4番目の引数でy座標をそれぞれdouble型の値で指定します。続いて2つ目の制御点の座標について5番目の引数でx座標を6番目の引数でy座標をそれぞれdouble型の値で指定します。最後に終点座標について7番目の引数でx座標を8番目の引数でy座標をそれぞれdouble型の値で指定します。

具体的には次のように記述します。

CubicCurve2D.Double curve = new CubicCurve2D.Double(20.0d, 20.0d, 
                                                    20.0d, 160.0d, 
                                                    100.0d, 30.0d, 
                                                    150.0d, 100.0d);

CubicCurve2D.Floatクラス

CubicCurve2D.Floatクラスは2次元ベジエ曲線を特定するための各値としてfloat型の値を使用するクラスです。

クラス図は次のようになっています。

  • java.lang.Object
  • java.awt.geom.CubicCurve2D
  • java.awt.geom.CubicCurve2D.Float
  • public static class CubicCurve2D.Float extends CubicCurve2D implements Serializable

コンストラクタは次の2つが用意されています。

コンストラクタ
CubicCurve2D.Float()
座標 (0, 0, 0, 0, 0, 0) で CubicCurve を構築および初期化します。
CubicCurve2D.Float(float x1, float y1, float ctrlx1, float ctrly1, float ctrlx2, float ctrly2, float x2, float y2)
指定された float 座標から CubicCurve2D を構築および初期化します。

いくつかコンストラクタがありますが基本となる2番目のコンストラクタを確認してみます。

指定された float 座標から CubicCurve2D を構築および初期化します。

パラメータ:
  x1 - 結果の CubicCurve2D の 始点の X 座標
  y1 - 結果の CubicCurve2D の 始点の Y 座標
  ctrlx1 - 結果の CubicCurve2D の 最初の制御点の X 座標
  ctrly1 - 結果の CubicCurve2D の 最初の制御点の Y 座標
  ctrlx2 - 結果の CubicCurve2D の 2 番目の制御点の X 座標
  ctrly2 - 結果の CubicCurve2D の 2 番目の制御点の Y 座標
  x2 - 結果の CubicCurve2D の 終点の X 座標
  y2 - 結果の CubicCurve2D の 終点の Y 座標

まず始点座標について1番目の引数でx座標を2番目の引数でy座標をそれぞれfloat型の値で指定します。次に1つ目の制御点の座標について3番目の引数でx座標を4番目の引数でy座標をそれぞれfloat型の値で指定します。続いてに2つ目の制御点の座標について5番目の引数でx座標を6番目の引数でy座標をそれぞれfloat型の値で指定します。最後に終点座標について7番目の引数でx座標を8番目の引数でy座標をそれぞれfloat型の値で指定します。

具体的には次のように記述します。

CubicCurve2D.Float curve = new CubicCurve2D.Float(20.0f, 20.0f, 
                                                  20.0f, 160.0f, 
                                                  100.0f, 30.0f, 
                                                  150.0f, 100.0f);

CubicCurve2D.DoubleクラスとCubicCurve2D.Floatクラスは内部に保持する値がdouble型かfloat型かの違いがあるだけですので次のページ以降では基本的にCubicCurve2D.Doubleクラスについて内容を確認していきます。

( Written by Tatsuo Ikura )