公式
2点 P(x1, y1),Q(x2, y2)のとき
C言語での実装
#include <stdio.h>
#include <math.h>
/* ---------------------------------------------
2点間の距離を求める
引数1: p1 点の座標1
引数2: p2 点の座標2
引数3: n 次元数
戻り値 p1とp2間の距離
---------------------------------------------*/
double distance(double *p1, double *p2, int n)
{
int i;
double distance = 0.0;
for (i = 0; i < n; i++) {
distance += (p2[i] - p1[i]) * (p2[i] - p1[i]);
}
return sqrt(distance);
}
/* main */
int main(void)
{
double p1[] = {1.0, 2.0, 3.0};
double p2[] = {1.0, 2.0, 4.0};
double d;
d = distance(p1, p2, 3);
printf("2点間の距離:%f\n", d);
return 0;
}
実行例
2点間の距離:1.000000
0 件のコメント:
コメントを投稿