Loading [MathJax]/jax/output/CommonHTML/jax.js
JavaScriptでのユークリッド距離の計算

JavaScriptでのユークリッド距離の計算

ユークリッド距離とは、2つの点の間の直線距離のことを指します。この距離は、平面または空間内の2点間の「直線的な」距離を計算する際に使用されます。

ユークリッド距離の数学的定義

ユークリッド距離は、2つの点が与えられたときに、次のように定義されます。

2次元の場合、点 (x1,y1)(x2,y2) のユークリッド距離は、以下の式で求められます。

d=(x2x1)2+(y2y1)2

3次元の場合、点 (x1,y1,z1)(x2,y2,z2) の距離は、次の式で計算されます。

d=(x2x1)2+(y2y1)2+(z2z1)2

このように、ユークリッド距離は点の座標の差を平方し、それらを足し合わせた後、平方根を取ることで求めます。

JavaScriptでの実装

JavaScriptでユークリッド距離を計算するための関数を作成できます。以下に、2次元のユークリッド距離を計算するコード例を示します。


function euclideanDistance(x1, y1, x2, y2) {
    return Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));
}
    

この関数は、2つの点の座標を引数として受け取り、そのユークリッド距離を返します。

1次元のユークリッド距離

1次元の場合、ユークリッド距離は単純に2点間の差を取るだけです。例えば、点 (3)(7) の距離は次のように計算できます。


let distance = euclideanDistance(3, 0, 7, 0);
console.log(distance);  // 出力: 4
    

ここで、x座標の差は |73|=4 ですので、距離は 4 となります。

2次元のユークリッド距離

2次元の場合の例を見てみましょう。点 (3,4)(6,8) の距離を計算します。


let distance = euclideanDistance(3, 4, 6, 8);
console.log(distance);  // 出力: 5
    

計算式は次のようになります:

d=(63)2+(84)2=9+16=25=5

したがって、距離は 5 となります。

3次元のユークリッド距離

次に、3次元空間でのユークリッド距離の計算を見てみましょう。点 (1,2,3)(4,6,9) の距離を計算します。


function euclideanDistance3D(x1, y1, z1, x2, y2, z2) {
    return Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2) + Math.pow(z2 - z1, 2));
}

let distance = euclideanDistance3D(1, 2, 3, 4, 6, 9);
console.log(distance);  // 出力: 7.0710678118654755
    

計算式は次のようになります:

d=(41)2+(62)2+(93)2=9+16+36=617.071

したがって、3次元での距離はおよそ 7.071 となります。

このように、ユークリッド距離は非常に一般的であり、JavaScriptで簡単に実装することができます。ユークリッド距離を用いることで、さまざまなアプリケーションで距離を計算することが可能です。

コメントは受け付けていません。