0

線の四角などのグリッドにランダムな形状を描く必要があります。この部分は私ができることです。私の問題は、私が描いている線の始点と終点がグリッドセルのどこかにあることです。交点だけにしてほしい。グリッド内の 1 つのセルは 10x10 ピクセルのグリッドです。ピクセルをグリッド上の最も近い交点に割り当てるアルゴリズムを作成する必要がありますか、それとももっと簡単な方法がありますか。バッファリングされた画像を使用してグリッドを描画しています。助けてください。これは私がこれまでに持っているものです

for (int i = 0; i < 61; i++) {
                g2d.drawLine((imgDim.width + 2) / 40 * i, 0,
                        (imgDim.width + 2) / 40 * i, imgDim.height - 1);
                g2d.drawLine(0, (imgDim.height + 2) / 60 * i,
                        imgDim.width - 1, (imgDim.height + 2) / 60 * i);
            }

ありがとうございました

4

2 に答える 2

0

ランダムポイントはどのように考え出していますか?そこで調整するのが最も簡単な方法かもしれません。つまり、最初にポイントを取得するために使用しているプロセスに 0 をドロップするだけです。次に、描画する準備ができたら、0 を追加します。

于 2013-03-29T15:22:18.640 に答える
0

真剣に?ランダムな点 (pixelX、pixelY) をグリッドの最も近い点にスナップさせるため。

int gridSize = 10;
int x = (pixelX + gridSize / 2) / gridSize * gridSize;
int y = (pixelY + gridSize / 2) / gridSize * gridSize;
于 2013-03-30T22:02:45.037 に答える