0

Vector2 Points中心を与えられた特定の半径内のすべてを私に与える式を探しています。

基本的に私がやろうとしているのは、特定のピクセルから特定の半径内にある256 x 256テクスチャの各ピクセルの色を変更することです(Unity3dゲームエンジンを使用)。プログラミング言語は、私が使用できるものに変換できる可能性があるため、実際には重要ではありません。

4

1 に答える 1

1

cxを中心x cy、中心yとしr、半径とします。

r2 = r * r;
for each dy = 0 ... r
    dx = 0
    while (dx*dx + dy*dy <= r2)
        within(cx+dx, cy+dy)
        within(cx-dx, cy+dy)
        within(cx+dx, cy-dy)
        within(cx-dx, cy-dy)
        dx++

最適化はdx、各反復で0にリセットするのではなく、すぐに近い値にリセットすることです。

于 2010-06-11T05:28:06.860 に答える