2016-06-26 9 views
1

問題は夜に眠れませんでした。インテグラルxおよびy座標を点単位変数で計算する

無限の2D空間と範囲変数の浮動小数点xとy座標が与えられていれば、範囲内にある可能なすべてのインターグラフ座標を取得する必要があります。 image

緑色のブロックは範囲内にあり、赤色のブロックは範囲内にありません。

今、私は答えがありますが、それが最高のものかどうかはわかりません。 すべての値を点の周りの四角形(-distance、distanceからdistance、-distance)で作成し、配列全体を反復処理します。距離が必要以上に近いかどうかを確認するたびに繰り返します。そうであれば、それを別の配列に挿入します。

+0

あなたは "サークル格子点" を検索し、 "ガウス円問題" –

+0

以上の関連可能性があります。https:// EN .wikipedia.org/wiki/Midpoint_circle_algorithm –

答えて

1
  • 中心点から始めて、範囲内にある最も遠い点まで水平に両方向に移動します。

  • これらの点のそれぞれについて、範囲内にあるいずれかの方法で最大垂直座標を計算し、この線に沿ってすべての四角形を追加します。

enter image description here

enter image description here

enter image description here

enter image description here

+0

これは正しい答えは、私はちょうど1回の距離をチェックしながら、同時にxとyを入れ替えることで、私は8(または水平、垂直と対角線の中心に四角形)四角形を追加することができるので、それを少し修正するつもりです。 – ImAlive

+0

@ImAlive良いアイデア。私は概略的なアプローチしか示していませんでしたが、あなたはサークルの対称性を利用すべきです –

関連する問題