JavaScriptでのユークリッド距離の計算
ユークリッド距離とは、2つの点の間の直線距離のことを指します。この距離は、平面または空間内の2点間の「直線的な」距離を計算する際に使用されます。
ユークリッド距離の数学的定義
ユークリッド距離は、2つの点が与えられたときに、次のように定義されます。
2次元の場合、点 \((x_1, y_1)\) と \((x_2, y_2)\) のユークリッド距離は、以下の式で求められます。
\[ d = \sqrt{(x_2 – x_1)^2 + (y_2 – y_1)^2} \]
3次元の場合、点 \((x_1, y_1, z_1)\) と \((x_2, y_2, z_2)\) の距離は、次の式で計算されます。
\[ d = \sqrt{(x_2 – x_1)^2 + (y_2 – y_1)^2 + (z_2 – z_1)^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座標の差は \(|7 – 3| = 4\) ですので、距離は 4 となります。
2次元のユークリッド距離
2次元の場合の例を見てみましょう。点 \((3, 4)\) と \((6, 8)\) の距離を計算します。
let distance = euclideanDistance(3, 4, 6, 8);
console.log(distance); // 出力: 5
計算式は次のようになります:
\[ d = \sqrt{(6 – 3)^2 + (8 – 4)^2} = \sqrt{9 + 16} = \sqrt{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 = \sqrt{(4 – 1)^2 + (6 – 2)^2 + (9 – 3)^2} = \sqrt{9 + 16 + 36} = \sqrt{61} \approx 7.071 \]
したがって、3次元での距離はおよそ 7.071 となります。
このように、ユークリッド距離は非常に一般的であり、JavaScriptで簡単に実装することができます。ユークリッド距離を用いることで、さまざまなアプリケーションで距離を計算することが可能です。