匿名エンジニアの備忘録

匿名エンジニア。機械学習・ITのことを中心に

【数学メモ】原点と直線との距離

はじぱた6章を読んでいて改めて気が付いた事実について備忘しておきます。

直線の方程式 ax + by  = c から「原点と直線との最短距離」を一瞬で計算することができます

解説

左辺を

 {
\begin{equation}
\begin{pmatrix} x \\ y \end{pmatrix}^T  \begin{pmatrix} a \\ b \end{pmatrix} = c 
\end{equation}
}

と変形する。

この時、 (a, b)が、直線の法線ベクトルになる。法線ベクトルを単位ベクトルとするために、両辺を

 {\sqrt{a^2 + b^2}}

で割る。すると与式は、

 {\frac{1}{\sqrt{a^2 + b^2}} \begin{pmatrix} x \\ y \end{pmatrix}^T \begin{pmatrix} a \\ b \end{pmatrix} = \frac{c}{\sqrt{a^2 + b^2}}}

となる。この式の左辺は、

1. {(x, y)}(=原点から直線まで伸びる位置ベクトル)と
2. { \frac{1}{\sqrt{a^2 + b^2}}  (a , b) }(=直線の単位法線ベクトル)

内積になっているが、これは

「(x,y)ベクトルを法線ベクトル上に射影したときの長さ」、つまり原点から直線までの垂線距離になる....と解釈できる!!

これ、高校で教わったっけかな....?笑

2次元の直線だけじゃなくて、超平面でも応用可能

上記の「原点から直線までの最短距離」の求め方は、2次元で試しましたが、3次元で平面の方程式にしても同じ解釈ができる。

参考文献

www.morikita.co.jp