• 締切済み

Bresenhamのアルゴリズムを用いた円弧描画

Bresenhamを用いた直線、円、円弧(45度単位)での変換 アルゴリズムは調べることが出来たのですが、円弧の任意の角度 の変換方法が分かりません。 参考資料などありましたら 教えていただけないでしょうか? 例えば、  始点、終点、回転の向きを指定するとか、  30度と角度を指定する等。 宜しくお願い致します。

みんなの回答

  • noocyte
  • ベストアンサー率58% (171/291)
回答No.2

ちょっと訂正します. 下記の「(1) の問題」とある部分は, 「上記の『引数の仕様をどのようにすればよいか』という問題」 と読み替えてください.(^^;)

すると、全ての回答が全文表示されます。
  • noocyte
  • ベストアンサー率58% (171/291)
回答No.1

ご質問の意味がいまいちよくわからないのですが…. > 例えば、 >  始点、終点、回転の向きを指定するとか、 >  30度と角度を指定する等。 円弧描画関数の引数の仕様をどのようにすればよいか, という問題であれば,それに正解はありません. 自分の目的に合った,あるいは使いやすい仕様にすればよいわけです. その際,既存のよく知られた円弧描画関数を参考にするとよいかもしれません. 例えば X-Window の XDrawArc(),Windows の Arc() などです. 仕様が知りたければこれらの関数名で検索してみてください. (もっとも後者の Arc だけだと関係ないものもいっぱいヒットしそうなので, "Arc 楕円 描画 Windows GDI" で検索してみるとよいでしょう.) > Bresenhamを用いた直線、円、円弧(45度単位)での変換 > アルゴリズムは調べることが出来たのですが、円弧の任意の角度 > の変換方法が分かりません。 円弧描画アルゴリズムに与える始点・終点座標をどう計算するか, という問題であれば,それは (1) の問題とも関係しますが, 直接それらの座標を与えるか, さもなくば中心座標,半径,開始および終了角から sin,cos を使って 始点および終点座標を計算するしかないと思いますが…. まさか「円弧の任意の角度」というのが,Bresenham のアルゴリズムが描画している 円弧の途中の点の角度を知りたい,という意味ではありませんよね?

すると、全ての回答が全文表示されます。

関連するQ&A