ゲームプログラミング技術集 
ひっと

2点間の距離を求める

2点間の距離を求める方法とプログラミング例を紹介

2点間の距離を求める(2次元)

点1(x1,y1)と点2(x2,y2)の点間距離を求める式は...



詳細は「ピタゴラスの定理」で検索すると出てきます。

プログラミング例:
#include <math.h>

double x1, y1, x2, y2;
double length = pow( (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1), 0.5 );

2点間の距離を求める(3次元)

点1(x1,y1,z1)と点2(x2,y2,z2)の点間距離を求める式は...




プログラミング例:
double length = pow( (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) + (z2-z1)*(z2-z1), 0.5 );

2点間の距離を当たり判定に使う場合

2点間の距離は当たり判定に用いることができますが、
ルートを計算するpow関数は時間がかかる処理なので、使わないで計算するとよいでしょう。

点間の距離が10以内か判定したい場合、先に10を2乗しておくと
下のようにプログラムを書くことができます。
//2点間の距離が10以内か

double chk_distance = 10*10;
if ( (x2-x1)(x2-x1) + (y2-y1)(y2-y1) <= chk_distance ) {
    //距離が10以内です
}
戻る     次へ