ひし形のアイソメトリックマップの表示部分をレンダリングしようとしています。「ワールド」座標系は2Dデカルト系であり、座標は軸に沿って(ビュー座標系に関して)対角線上に増加します。「ビュー」座標は、単にビューの左上隅を基準にしたマウスオフセットです。
私のレンダリングアルゴリズムは、ビューの右上隅から始まり、右下に斜めに移動して斜めのスパンを描画し、ビューの右端に到達すると次の行に進みます。レンダリングループが左下隅に到達すると停止します。
ポイントをビュー座標から世界座標に変換してから、座標をマップする関数があります。
タイル0、0からレンダリングする場合はすべてが機能しますが、ビューがスクロールするにつれて、レンダリングは別のタイルから開始する必要があります。どのタイルが右上隅に最も近いかを判断する方法がわかりません。
現時点では、右上隅の座標をマップ座標に単純に変換しています。これは、ビューの原点(右上隅)が世界の内側にある限り機能しますが、マップの端に近づくと、開始タイルの座標が明らかに無効になります。
これは、「ワールドX軸とビューX軸の間の交点をどのようにして見つけることができるのですか?」
問題の絵による表現を与えることは本当に価値があります...あなたはそのplsを行うことができますか?
—
Ayyappa
wikiの等角投影法の数式で解決しようとしましたか?
—
user712092 2011年
@ user712092:はい、4x4マトリックスを使用してビュー空間とワールド空間を変換しています。これは機能しますが、問題は、ビューの右上端に最も近いタイルのX、Y座標を計算する方法です。
—
alekop、2011年
@Man With Steel Nerves:私はスクリーンショットを投稿しますが、評判が低いため許可されません。しかし、小さな四角形の中にクリップされた大きなダイヤモンドを想像してください。
—
alekop、2011年
a)画像ホスティングサイトに画像をアップロードし、そのURLをそこに挿入します。b)1つのペーストビンURLに複数の画像URLを含めることができます。c)テキストリンク「テキストは、接尾辞Lxzygtv9が付いたペーストビンにあります」を挿入します。その画像は後でできます。または、今すぐ画像を追加できる他の人ができます(画像を編集および挿入する権限があるようです)。
—
user712092 2011年