0

100列と100行のグリッドがあります。それらのグリッドの正方形の1つの中心と別のグリッドの正方形の間に線を引きたいと思います。たとえば45,25から75,38です。

線を引くことができて満足していますが、2つのグリッドの正方形の中心のxとyの位置を見つけるにはどうすればよいですか?または私が逃したより良いアプローチはありますか

4

2 に答える 2

0

線の中心の座標は次の(center_x, center_y)とおりです。

center_x = x1 + (x2 - x1/2)
center_y = y1 + (y2 - y1/2)

いつx2 > x1y2 > y1

だからあなたの例のために:

center_x = 45 + ((75 - 45) / 2)
center_y = 25 + ((38 - 25) / 2)

HTH。

于 2010-02-13T12:44:21.573 に答える
0

プレゼンテーションは、定義したグリッドで機能する必要があります。問題は、結合しようとしているものの表現が、指定したグリッド位置の中心にないことであるようです。線は45,25から75,38まで引く必要があります。それが中心から描画されていないように見える場合、45,25および75,38で描画されたものはグリッド位置の中心に描画されません。

ディスプレイがグリッドベースの場合、理論上の45,25の位置から画面グリッドの中心を見つけることは、次のような線に沿ったものになります。

screenXcentre = ((xPos-1)*CellWidth)-(CellWidth/2);
screenYcentre = ((yPos-1)*CellHeight)-(CellHeight/2);
于 2010-02-13T14:21:11.053 に答える