点と直線の距離
点 (x1,y1) と直線 ax+by+c=0 の距離 d は
d=a2+b2∣ax1+by1+c∣
導出
点 P(x1,y1) と直線 l:ax+by+c=0 の距離 d を求める。
点 P と直線 l を x 軸方向に −x1 、 y 軸方向に −y1 だけ平行移動する。このとき、点 P は原点 O に、直線 l はそれと平行な直線に移る。この l が移った先の直線を l′ とする。
直線 l′ の方程式を求める。
a{x−(−x1)}+b{y−(−y1)}+c⇔ax+by+(ax1+by1+c)=0=0
求める距離 d は、原点 O と直線 l′ の距離に等しいのでこれを求める。
c′=ax1+by1+c とする。
このとき、直線 l′ の方程式は ax+by+c′=0 となる。
原点を通って直線 l′ に垂直な直線は bx−ay=0 となる。この直線と直線 l′ の交点 H(x0,y0) を求める。
(x0,y0) は以下の連立方程式の解なので、これを解く。以下、 a=0 かつ b=0 であることに注意する。
{ax+by+c′=0bx−ay=0⋯(1)⋯(2)
(2) 式を y について解く。
bx−ay⇔y=0=abx⋯(3)
これを (1) 式に代入して x について解く。
ax+by+c′⇔ax+b⋅abx+c′⇔aa2+b2x⇔x=0=0=−c′=−a2+b2ac′
これを (3) 式に代入する。
y=abx=ab⋅(−a2+b2ac′)=−a2+b2bc′
以上より、 (x0,y0)=(−a2+b2ac′,−a2+b2bc′) である。
求める距離 d は距離 OH と等しいのでこれを求める。
OH=x02+y02=(−a2+b2ac′)2+(−a2+b2bc′)2=(a2+b2)2(a2+b2)c′2=a2+b2c′2=a2+b2∣c′∣
よって、求める距離 d は以下のようになる。
d=a2+b2∣c′∣=a2+b2∣ax1+by1+c∣