160528 初版 160528 更新
点P \((x_1, y_1)\) と直線 ℓ: \(ax+by+c=0\) の距離 d を計算してみましょう。
正射影ベクトルを使う考えがありますが,
ここでは,直接計算してみます。
P を通り ℓ と垂直な直線ℓ' と ℓ との交点を H \((x_0, y_0)\) とします。
ここで,
d = PH = \(\sqrt{(x_1-x_0)^2+(y_1-y_0)^2}\) … ①
これを計算すればよいことになります。
ℓ' の方程式は,\(bx-ay=bx_1-ay_1\) ですから,
\((x_0, y_0)\) について,
\(b(x_1-x_0)-a(y_1-y_0)=0\) … ②
が成り立ちます。
H は ℓ 上の点ですから,\(ax_0+by_0+c=0\).
少し変形して,
\(a(x_1-x_0)+b(y_1-y_0)=c^\prime\) … ③
が成り立ちます。
ここで,\(c^\prime=ax_1+by_1+c\)
② ③ を \((x_1-x_0, y_1-y_0)\) についての連立方程式とみて解けば,
\((x_1-x_0, y_1-y_0)\)
\(=(\dfrac{ac^\prime}{a^2+b^2}, \dfrac{bc^\prime}{a^2+b^2})\)
よって,d = \(\sqrt{\dfrac{(c^\prime)^2}{a^2+b^2}}\), すなわち,
d\(=\dfrac{|ax_1+by_1+c|}{\sqrt{a^2+b^2}}\)