点と直線の距離の求め方

直線 ax + by + c = 0 と点 (x, y) の距離を |ax + by + c| ÷ √(a² + b²) で求めます。直線上でいちばん近い点(垂線の足)もあわせて出します。

直線 ax+by+c=0ax + by + c = 0 と点 (x,y)(x, y) の距離を求めます。ここでいう距離とは、その点から直線へ下ろした垂線の長さのことです。

d=ax+by+ca2+b2d = \dfrac{|ax + by + c|}{\sqrt{a^2 + b^2}}

aabbcc は直線の係数、(x,y)(x, y) は点の座標、dd が距離です。直線上でいちばん近い点である垂線の足もあわせて出します。

分子と分母の意味

分子の ax+by+cax + by + c は、点の座標を直線の式に入れた値です。点が直線上にあれば 0 になり、離れるほど大きくなります。ただしこの値は係数の大きさに比例して変わるので、a2+b2\sqrt{a^2 + b^2} で割って、直線の表し方によらない長さに直します。絶対値をとるのは、直線のどちら側にあっても距離を正の数にするためです。

直線 3x+4y5=03x + 4y - 5 = 0 と点 (2,3)(2, 3) の距離を求めます。分子は 3×2+4×35=13|3 \times 2 + 4 \times 3 - 5| = 13、分母は 32+42=5\sqrt{3^2 + 4^2} = 5 なので、d=13÷5=2.6d = 13 \div 5 = 2.6 です。垂線の足は (0.44,0.92)(0.44, 0.92) になります。

注意

直線の式は ax+by+c=0ax + by + c = 0 の形で入れてください。y=2x+1y = 2x + 1 の形なら 2xy+1=02x - y + 1 = 0 と直してから入れます。

aabb が両方 0 だと式が直線を表さないので、計算できません。