1

タイルのアイソメ グリッド (ディアブロのようなものを考えてください) が与えられているとします。グリッドの高さ、グリッドの幅、タイルの高さ/幅など、グリッドにはいくつかの測定値があります。次の画像を検討してください。この画像

グリッドの中央のセルは 0,0 で、等北 (+y)、等南 (-y)、等東 (+x)、等西 (-x) に拡張されます。

グリッド上の任意の位置に長方形を描くとしましょう。長方形のアイソメトリック位置はありませんが、左上隅が 0,0、南が y+、右が x+ であるグリッドの通常の描画座標があります。

問題の長方形の上、左、高さ、幅がある場合、長方形の下端と交差するアイソセルの配列をどのように計算できますか。

これを実証するために選択した任意の言語で十分です。

4

1 に答える 1

1

アイソメトリック プログラミングに関するいくつかの論文や本 (Direct X7 を使用したアイソメトリック プログラミング、はい、古いですが、問題と手法についての概要を説明しています) では、マウスマップを使用しています。

また、長方形で覆われたマップの領域を画像にレンダリングする手法もあり、各タイルは一意の色になります (レンダリングされた色だけです)。その後、画像に含まれる色を確認し、タイルのリストを抽出します。

古典的な等尺性タイルの幅の半分の高さを使用しているため、数学的な解決策もある可能性があります。残念ながら、推奨されるアルゴリズムはマップ レイアウトに大きく依存します。

Java ベースの TileSystem のコードは、ここにあります。

于 2011-03-01T11:24:33.780 に答える