2

このようなことを行うアルゴリズムがあるかどうか知りたいです:

特定のサーフェスを指定すると、それは同じサイズの小さな長方形に分割されます。

この例の図のようなもの:

ここに画像の説明を入力

灰色の領域が表面で、赤い四角がパーティション自体です。

これを行う最適化された方法があるかどうかを考えています。

非常に悪いアプローチは、すべてのピクセルで for ループを実行し、その特定のスポットに四角形があるかどうかを確認し、そうでない場合は四角形を作成するなどです..

多分誰かがアルゴリズムがすでに行われていることを知っていますか? またはより良い解決策?

よろしくお願いします;)

4

2 に答える 2

0

正方形で塗りつぶしたいだけですか、それとも最適な数の正方形で塗りつぶしたいですか?

2 番目のアルゴリズムはより困難です。

最初に、一度に正方形サイズの画像をステップスルーします。その時点のピクセルが塗りつぶされている場合は、正方形全体をスキャンし、すべて塗りつぶされている場合は正方形を描画します。そうでない場合は、次のポイントに進みます。

つまり、正方形が 10*10 ピクセルの場合:

for (int x=0;x<width;x+=SQUARE_SIZE) {
    for (int y=0;y<height;y+=SQUARE_SIZE) {
       // Now check if you can put a valid square here, if so draw it
    }
}
于 2014-03-19T11:39:48.480 に答える