距離 [HEX]
さて、比較する 2 点の座標が決まれば距離を求めるのは難しくない。ピタゴラスの定理をそのまま当てはめればいいわけで、2点の座標をを (x0, y0)と(x1, y1) とするなら、
d = √(x1-x0)2+(y1-y0)2
で求めることができる。ただし、ここでは実際に距離が知りたいわけではなく、特定の射程に収まるかどうかが知りたいだけなので、式を下記のように変形してしまうのが得策。
d2 = (x1-x0)2+(y1-y0)2
大抵のプロセッサは除算が大の苦手、それに対して乗算は(加減算ほどではないけど)結構速い。繰り返し実行されるような処理ならば、除算はない方がいい。
除算を減らす鉄則のようなものも色々あるので、機会があったら紹介します。
射程を求めることができたので、これをそのまま ZOC に適用しよう。そうすることで経路探索における移動コストに応用することが可能になるから。
こう言っちゃなんだけど、経路探索の方がいろいろと条件を組み合わせられるので面白いところが多い。射程に関しては経路探索のためのネタ作りの一環のようなもの。
ということで、次回は経路探索の条件について考察します。
2014-10-14 21:53
nice!(0)
コメント(0)
トラックバック(0)
コメント 0