タイル空間座標からスクリーン空間座標への変換行列を決定してから、この逆行列を計算する必要があります。逆行列は、スクリーン空間座標に適用すると、タイル空間座標に変換されます。
ちなみに、オフセットは実際には任意の健全な座標系で(0.0、1.0)になる場所を指していますが、それは大きな問題ではなく、覚えておくべきことです。これは、変換された座標系の原点のオフセットが(オフセット+ 32、0)であることを意味します。
特定のケース
タイル空間(a、b)座標をスクリーン空間(x、y)座標に変換するために基本的に行うことは、次の変換マトリックスを実行することです。
定義:とBタイルの(0、0)の範囲である[0.0、1.0)、(0.0、0.0)の上部コーナー、(1.0、1.0である)下隅、(0.0、1.0)左隅(1.0、0.0)画面スペースの右隅。
座標変換を定数の3番目の座標(常に正確に1)だけ拡張して、変換をマトリックスに組み込むことができます。
これで、この変換の逆行列を作成できます。基本的な式は次のとおりです。
... CはA の補因子の行列です。
あなたの場合、決定要因| A | オフセットに関係なく常に1024であるため、逆行列は次のようになります。
計算例
さて、あなたのサンプルデータのために...
数式にオフセットの数値を入力すると、次の結果が得られます。
(105、100、1)(画面座標)を行列で乗算すると、次のようになります。
3番目の座標は常に1であるため、計算する必要はありません。最も近い整数に切り捨てると、予想どおり、タイル空間の座標として(1、4)が得られます。
一般的な二次元射影行列
このような視点で、各タイルが幅2 w(例では64、したがってw = 32)および高さ2 h(例では32、したがってh = 16)であり、原点のオフセットがある場合水平軸と垂直軸(それぞれこの例では192と0)のf xとf yである画面空間では、行列は次のようになります。
タイルスペースからスクリーンスペース
画面スペースからタイルスペース