JavaScriptでのユークリッド距離の計算
ユークリッド距離とは、2つの点の間の直線距離のことを指します。この距離は、平面または空間内の2点間の「直線的な」距離を計算する際に使用されます。
ユークリッド距離の数学的定義
ユークリッド距離は、2つの点が与えられたときに、次のように定義されます。
2次元の場合、点 (x1,y1) と (x2,y2) のユークリッド距離は、以下の式で求められます。
d=√(x2–x1)2+(y2–y1)2
3次元の場合、点 (x1,y1,z1) と (x2,y2,z2) の距離は、次の式で計算されます。
d=√(x2–x1)2+(y2–y1)2+(z2–z1)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=√(6–3)2+(8–4)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=√(4–1)2+(6–2)2+(9–3)2=√9+16+36=√61≈7.071
したがって、3次元での距離はおよそ 7.071 となります。
このように、ユークリッド距離は非常に一般的であり、JavaScriptで簡単に実装することができます。ユークリッド距離を用いることで、さまざまなアプリケーションで距離を計算することが可能です。