CubicCurve2D でカーブを描く

JDK1.2 の新機能の Graphic2D によるレンダリング機能の実験です。 このページで紹介するソースのコンパイルと実行には JDK1.2Beta が必要です。

JDK1.2 から曲線を描くためのクラスが提供されています。 ここでは java.awt.geom.CubicCurve2D を使ってみましょう。 ソースの基本部分は次のようになります。


/** 描画メソッド */

  public void paint( Graphics g ) {

       Point2D.Float start, control1, control2, end;
                      :
                      :
       CubicCurve2D.Float curve = new CubicCurve2D.Float(
         start.x, start.y, control1.x, control1.y,
         control2.x, control2.y, end.x, end.y );
       ((Graphics2D)g).draw( curve );
  }

新しいクラスについて簡単に解説しておきましょう。

サンプルのソース( CubicCurve2DTest.java )

実行例の赤い小円と青い小円がコントロールのための点です。 このサンプルでは、 これらの点をマウスのドラッグ操作で移動できるようにしてみました。