• 締切済み

図形の描写について

Swingを使って、図形描写の勉強をしています… 実際にプログラミングをしてみて、Graphics2Dクラスを利用し、 多角形などをPoligonクラスで描くことができましたが、 多角形の頂点の配置はaddPoint(int, int)となっているため、 double型の座標では描くことができません。 double型の座標データを使っての多角形の描写する場合、どのような クラスを使うのでしょうか?? 漠然とした質問ですみません。ぜひ、ご指導をお願いします。 また参考になるサイトなどがあったら教えていただきたいと思います。 よろしくお願いします☆

みんなの回答

  • HarukaV49
  • ベストアンサー率53% (48/89)
回答No.2

Polygonクラス等は、スクリーン座標を直接指定して描画するため、 整数型での指定しかできないようになっています。 (1ピクセル以下での精度は意味がないからです) 一方、実用的には、例えば東京タワーを実物大サイズで座標を格納しておいて、 そのオブジェクトを適当に縮小して画面上に描画したいということはよくあります。 こういう場合には、java.awt.geom.GeneralPathクラスで座標を保持しておいて、 java.awt.geom.AffineTransformクラスを使って縮小して画面上に描画することに なるでしょう。 しかし、GeneralPathクラスもfloatでの座標指定になっているため、 double型の精度で座標を保持したい場合には、GeneralPathクラス相当の オリジナルのクラスを作成する必要があります。 (AffineTransformクラスはdouble型での演算が可能です) 具体的な方法は省略しましたが、具体的にご質問頂ければ、 サンプルコードを示すことも可能かもしれません。

  • shred
  • ベストアンサー率35% (25/70)
回答No.1

どんなプログラムかわかりませんがint型にキャストするのは嫌なんですよね。 何はともあれdoubleで座標指定はできないと思います。 自分で座標の目盛を拡大するなりするなら可能だと思いますが。

関連するQ&A