うさぎのメモ帳

二点間の距離を測るには Math.hypot(x, y) が便利

2019年06月18日 - 2019年09月22日

常日頃プログラミングをしていて、二点間の距離を測りたいときはよくあることかと思いますが、Math.hypot を使うとこれを簡単に求めることができます。

二点間の距離の求め方

原点(0, 0)から点P(x, y)までの距離dは三平方の定理より導くことができます。

点1を(x1, y1)、点2を(x2, y2)とおくと、二点間の距離は以下になります。

Math.sqrt+Math.pow

三平方の定理による計算をそのまま表すと、

// ES5
const d = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y2, 2))`

Math.hypot

ES6 から Math.hypot(各引数を二乗した総和の平方根)が使えます。

  • IEでは使用不可
// ES6
const d = Math.hypot(x2 - x1, y2 - y2)`

Math.hypot(x, y)は、原点(0, 0)から点(x, y)までの距離とみてもわかりやすいです。