2次元配列の四角い部分をループするのは簡単ですが、円形の部分をどのようにループしますか?2d配列の値の円をどのようにループしますか?
答えて
私がこれをやったやり方は、2dアレイを普通にループするのと同じように、2回for-loopをすることです。しかし、このループの中で、問題の配列要素が距離式を使って半径rの円内にあるかどうかを確認してください。例えば
、(x、y)に10×10のアレイ、およびアレイの選択された "中心" を与えられた:
for i from 0 to 9 {
for j from 0 to 9 {
a = i - x
b = j - y
if a*a + b*b <= r*r {
// Do something here
}
}
}
を(コードだけ擬似コードではなく、任意の特定の言語です)。
ニース擬似コード;中括弧を削除してください。有効なLiveScript(: –
私はあなたが心の中でこのような何か
[ ][ ][x][0][ ][ ]
[ ][x][ ][ ][1][ ]
[9][ ][ ][ ][ ][2]
[8][ ][ ][ ][ ][3]
[ ][7][ ][ ][4][ ]
[ ][ ][6][5][ ][ ]
それがそうであるならば、あなたはいくつかの基本的な三角法を使用する必要がありますがありgussingよ。 角度のステップが偶数のステップに対応しないため、次の値を取得して別の配列に追加するまで(または新しい配列に[i、j]座標を追加するまで)、trigを使用して角度を前進させます。
trig関数(これは高価です)を使うか、円の方程式を使うよりも、はるかに優れています。これは最終的には高価な平方根を必要とします。ここでの主題に捧げられるページがあり
は:
http://www.cs.unc.edu/~mcmillan/comp136/Lecture7/circle.html
本質的にはその答えは、あなたが円の開始点と終了点は、あなたの配列の各行にあるかを把握したいということです。これを行うには、前の行からの「オフセット」、すなわち前の行の開始点からの「差」(および同様に終点について)を計算する。
この差は、微係数を使用して数学的に計算できます。改良は、二重微分を用いて連続する差の差を計算することである。
とにかく、この抽象的な数学的アイデアは、Bresenehanサークルアルゴリズムと呼ばれるミッドポイントサークルアルゴリズムにつながります。 2次元配列の
- 1. Ruby:2D配列をどのように印刷しますか?
- 2. 2dオブジェクト配列へのループ
- 3. 多次元配列をどのようにループしますか?
- 4. PHP - 2D配列 - 配列キーをループしてその値を取得していますか?
- 5. 2d配列を使ったjavascriptのループ
- 6. どのように複数の配列を並列にループできますか?
- 7. 2D-float配列の値が
- 8. 配列の2D値をSQLに挿入
- 9. 2D配列の列値の平均を見つけるにはどうすればよいですか?
- 10. foreachループの各値をどのようにエコーしますか?
- 11. 2D配列の列に1D配列を格納するにはどうすればよいですか?
- 12. PHP:Pythonのように配列の値を取得しますか?
- 13. PHP foreachループの配列はどのように読み込まれますか?
- 14. 各ループについて元の2D配列を編集する
- 15. string.Format内の配列値をどのように参照しますか?
- 16. 2D numpy行列を2D numpy配列に変換します。
- 17. CoffeeScriptでは、配列にどのように値を追加しますか?
- 18. 配列をループして配列の値を出力する
- 19. 2D配列の配列
- 20. 2d文字配列をどのように並べ替えるか
- 21. JPAの永続2Dブール値配列(openJPA)
- 22. 配列の@synthesizeをどのように設定しますか?
- 23. どのようにJSON配列をループPHP
- 24. どのようにC#でforeachループを使ってキーと値で配列をコピーできますか?
- 25. 2D C配列の前の「行」から値を取得する
- 26. 2D numpy配列のリストを3D numpy配列に変換しますか?
- 27. カスタムソートをどのように配列に適用しますか?
- 28. 2D配列の最小値は斜めにですか? [Java]
- 29. 円グラフ:277度円にはどのようなCSS値が必要ですか
- 30. 2D配列をそのまま.txtファイルから読み取るにはどうすればよいですか?
円形断面:アルゴリズム自体の詳細についてはウィキペディアを参照してください?それがどういう意味か分かりませんので少し説明できますか? – sberry
ダニエルが書いたことはありそうですが、私はそれが黒い円であることを理解しています。 –