2010-12-27 9 views
2

x-y位置の移動のみを使用して円弧を描く最も良い方法は何ですか?たとえば、点(4,4)に半径4の円を描きたいとしましょう。私の「引き出し」が(4,0)から始まり、各方向に0.1ステップの解像度を見てみましょう。円を完成させるために、どのように一連の動きを作りますか?離散的なx-yステップで円弧を描く

それが明確でない場合は、私はより説明してみることができます。

答えて

3

私があなたの質問を正しく理解していれば、あなたはBresenhamのアルゴリズムを探しています。例えば、hereについて読むことができます。

2

Bresenhamの円アルゴリズム(Bresenhamが開発していないにもかかわらず)として知られている中間点円アルゴリズムが必要です。ウィキペディアにはa reasonably good articleがあります。 LiteratePrograms wikiにはa Python implementationもありました(もうこれ以上のことは、Wayback Machineへのリンクです)。そして、Rosetta Codeのseveral implementationsです。その背後にあるアイデアは、円で歩いて、前の座標から各座標を連続的に計算することです(より高価な数学演算を避ける)。あなたは常に一方向( "up")に移動し、計算された変数を使用して回転するかどうかを決定します。

+0

悲しいことにLiterateProgramsはもうありません:( –

+0

@ MarkLawrence:ありがとうございました - 私はWayback Machineのリンクに切り替えました。 –

関連する問題