2011-09-18 8 views
1

このグリッド(http://i.stack.imgur.com/Nz39I.jpgは四角形ではなく台形/台形です)が与えられていると、ユーザーがクリックしたポイントをどのように見つけますか?私。ユーザーがグリッド内のポイントをクリックすると、A1またはD5のような座標が返されます。グリッド内でクリックしたポイントを見つける

私はこれの疑似コードを書こうとしていますが、私は立ち往生しています。誰でも助けてくれますか?ありがとう!

編集:私はまだ立ち往生しています...誰かがグリッドの高さを見つける方法を知っていますか?

+0

グリッドの各行の終点の座標はありますか? –

+0

Nope。これは私が持っているすべての情報です。座標はありませんが、測定値だけです。私は情報がほとんどないように感じます。最初のグリッドと最後のグリッドの高さを与えられた台形の高さを見つける方法はありますか(写真35pxと120pxに示されています)? –

答えて

0

真の透視投影であれば、反転投影を通してクリックポイントを実行して、3D世界のX、Z座標を見つけることができます。その格子は規則的な間隔を持ち、簡単な数学を使ってA1、D5などを得ることができます。

あなたが描いたものであれば、Y座標と水平線の位置を比較してどの行を見つけなければならないでしょうか。次に、列を取得するために、斜めの線に対してその位置(左右)を確認する必要があります。そのためには、終点の座標、または線の方程式が必要です。

さらに別のオプションは、それぞれの「正方形」が異なる色で塗りつぶされた同じ画像を保存することです。次に、ユーザーがクリックしたピクセルの色を確認しますが、この代替イメージで確認します。この方法は、固定画像であり、柔軟性が最も低いと仮定しています。

+0

これは3Dグリッドではありません。これは描かれたものです(2D)。これは、2D HTML5ゲームタイプの方が多くあります。私は情報がほとんどないように感じます。最初のグリッドと最後のグリッドの高さを与えられた台形の高さを見つける方法はありますか(写真35pxと120pxに示されています)? –

+0

私は3つ目のオプションを使い、画像の別のコピーを作成し、代替画像に各色別の色をペイントします。どの人がクリックされたかを判断するには、元の人に人を示し、代替人物を使用します。 – phkahler

0

あなたがグリッド線の端点の座標を持っている場合

各グリッドラインの内外検定を使用して試してみて、このグリッドであるため、位置を

+0

私は座標がありません。私はグリッドの測定値しか持っていません。 –

0

を見つけます。 2Dグリッド平面の単なる3Dビューには、グリッド上の座標を2D平面上の座標に変換する投影変換があります。この変換を見つけるには、平面上に4つの異なる点(例えば、辺)をマーキングし、2D平面上に座標を割り当て、結果として得られる線形方程式系を解くだけで十分です。

関連する問題