2点間の距離を取得するには、以下のようにします。
■ 必要な情報:
○ 任意の2点 pt1(x1,y1) pt2(x2,y2)
// 準備の計算
dx = x2 - x1;
dy = y2 - y1;
// 判断用の計算
dwk = dx * dx + dy * dy;
// これで、もしdwkが0なら、距離は0です。
// dwkが0以外なら、その二乗根が距離となります。
dist = EQ0(dwk) 0 ? 0 : √dwk;
※ 解説
これは、直角三角形の性質から理解することができます。
直角三角形の、斜辺(斜めの辺)と他の辺との長さの関係は、下記のようになっています。
距離を求めたい2点を、この直角三角形に当てはめることで、距離を算出することができます。
つまり、こういうことです。
このように2点のX・Y成分の差が、それぞれ2辺の長さになります。
そして、斜辺の長さが2点間の距離、ということになります。
辺1の長さ = 点2のX - 点1のX
辺2の長さ = 点2のY - 点1のY
2点間の距離 = √辺1の長さの二乗 + 辺2の長さの二乗
ちなみに、辺1の長さも辺2の長さも0である場合は、2点は同じ点ということになり、その距離も0になります。
|