以前のリビジョンの文書です
ここでは通常の歩数マップ(1マス1歩)を理解していることを前提に話を進めていきます。
通常の歩数マップでは、区画の中心にノードを置いてあるものとして考えられています。
よって、ノードとノードの間には常に一定の距離(常に1)であるため、1歩=1マスとなります。
今回考える歩数マップでは、ノードの位置を別のところに置くものとします。
前述の歩数Mapの考え方によって、生成される歩数マップと、予想される経路です。 2つの経路が生成されています。 斜め走行が可能な場合、この迷路では斜めを選択した方が速いと思います。
この時、 『目の前に同じ歩数を持つ区画が2つ以上存在する場合、それらを適切に選択するプログラムが必要になる』 ことが問題になります。
この歩数Mapを基準に良い経路を求めるためには、ここから独自のアルゴリズムを用いることになると思います。
次に、拡張歩数Mapの考え方によって、生成される歩数マップと、予想される経路です。 この歩数Mapの生成には以下の考え方を用いています。 1:各区画の境界をノードとする。 ⇒壁の中は最大値int方の最大値等、十分大きい数を与えておきます。
2:1区画の距離を7とし、曲がる方向に距離を5とする。(二等辺直角三角形から、1:1.4142… = 5:7) ⇒歩数を具体的な距離としています。最短経路=最速経路とは限らないが、十分に近くなることが見込める。
随時、執筆します。