2012-04-04 4 views
-1

私は配列を持っています:int [] [] lawn = new int [980] [1280]; は、仮想 "芝生"にブレードの高さの値を格納します。動いているシークルのすべてのデカルト点を計算する

私のシミュレーションでは、芝生を回ってブレードを切断するロボットがあります。

私のロボットは、直径(rDiameter)の円の形をしています。座標系はDoubleで、私の芝生はIntegerです。

動き回るときにロボットがタッチしたすべてのセルを0にするアルゴリズムを開発する必要があります。

私は、動きの開始点と終了点を持っており、Line2D.Double形式で保存されており、ロボット(画像)がタッチしたすべてのセルを0に設定します。 アイデア

(ここでは同じ引数every cartesian point in a circle

+1

あなたはブラシアルゴリズムについて説明しています。 –

+0

前の質問の答えを適用してサークルのすべての点を見つけて、0にするか、何をしたいかを設定します。または、他の誰かがあなたのためにすべてのコードを実行するようにしますか? ] – davidfrancis

+0

いいえ...それは、あなたがカバーされていない2つの円の間に小さなスポットを得る円で動作しません... – Seafire37

答えて

0
に私の前の質問には、3つの部分で問題をブレーク

。パート1は、半円形に0にすべてのポイントを設定することです。パート2が0にすべてのポイントを設定することですパート3は、パスを2つの半円(両端)と矩形(結合)に分割することです。

半円と矩形は、一般に、ポリゴンとサークルをラスタライズするための参考資料はたくさんありますが、Jack Bresenhamのアルゴリズムを調べたり、古典的なコンピュータグラフィックステキストを開くことができます。

+0

ありがとう、私はあなたの考えが好き、自分自身について考えたdidnそのためのアルゴリズムはどこにあるのか知りません。ジャックBresenhamのアルゴリズムがうまくいくように見える、それを試してみる! – Seafire37

+0

彼は円と線の両方のアルゴリズムを行ったことに注意してください。 – DRVic

+0

ありがとうございます!ありがとう – Seafire37

関連する問題