を-elements:反復処理(i、j)が円形に2つ(非常に単純化された)クラスを考える
for (int i = iL; i < iL-width; i--)
for (int j = jL; j < jL+length; j++)
doSomething();
私の問題はCircle
内のすべての要素を反復処理するスマートな方法を実装することです。次のように私の現在のソリューションは、になります(私はCircle
ではないと私はいつもpow
を評価する必要があるため、多くの要素に触れているので)
for (int i = iC-radius; i <= iC+radius; i++)
for (int j = jC-radius; j <= jC+radius; j++)
if (sqrt(pow(i-iC,2)+pow(j-jC,2)) <= r) // checking if (i,j) lies within the circle (or its boundary)
doSomething();
はしかし、radius
が大きい私の現在のソリューションを取得するために非常に時間が高価です。 Circle
すべての要素に対して、よりインテリジェントで効率的な反復方法を考えることができますか?
[極座標システム] Polar_coordinate_system) – Drop
私は、いくつかの円と長方形が横たわっている離散的な2次元形状(i、j点を持つ)を得ました。私が極座標を使用する場合、私は同じ問題を抱えています:どのように角度\ phiを反復すべきですか?私はsthが必要です。 (psuedocode :) '(double phi = 0; phi <360; phi ++)'のようなものであり、これは不可能です。 – Kapa11
http://stackoverflow.com/a/7227057/6313992 –