点と平面の距離
はじめに
点 $\boldsymbol{x}_0$ と平面 \begin{equation} \boldsymbol{w}^T \boldsymbol{x} + b = 0 \label{plane} \end{equation} の距離を求める。ここに $\boldsymbol{w}$ は平面の法線ベクトルである。
解法
$\boldsymbol{x}_0$ に最も近い平面上の点 (垂線の足) を $\boldsymbol{h}$ とすると \begin{equation} \boldsymbol{x}_0-\boldsymbol{h} = k \boldsymbol{w} \label{x0-h} \end{equation} と書けるから、移項すれば $\boldsymbol{h}$ は次のように表せる。 \begin{equation} \boldsymbol{h} = \boldsymbol{x}_0 - k \boldsymbol{w} \label{h} \end{equation} $\boldsymbol{h}$ は平面上の点だから式(\ref{plane})を満たす。 \begin{equation} \boldsymbol{w}^T \boldsymbol{h} + b = 0 \end{equation} 式(\ref{h})を代入すると \begin{eqnarray} \boldsymbol{w}^T \boldsymbol{h} + b &=& \boldsymbol{w}^T (\boldsymbol{x}_0 - k \boldsymbol{w}) + b \\ &=& \boldsymbol{w}^T \boldsymbol{x}_0 - k \boldsymbol{w}^T \boldsymbol{w} + b \\ &=& 0 \end{eqnarray} よって \begin{eqnarray} \boldsymbol{w}^T \boldsymbol{x}_0 + b &=& k \boldsymbol{w}^T \boldsymbol{w} \\ &=& k \|\boldsymbol{w}\|^2 \end{eqnarray} から \begin{equation} k = \frac{\boldsymbol{w}^T \boldsymbol{x}_0 + b}{\|\boldsymbol{w}\|^2} \end{equation} である。これを式(\ref{x0-h})に代入すると \begin{eqnarray} \boldsymbol{x}_0-\boldsymbol{h} &=& \frac{\boldsymbol{w}^T \boldsymbol{x}_0 + b}{\|\boldsymbol{w}\|^2} \boldsymbol{w} \\ &=& \frac{\boldsymbol{w}^T \boldsymbol{x}_0 + b}{\|\boldsymbol{w}\|} \frac{\boldsymbol{w}}{\|\boldsymbol{w}\|} \\ \end{eqnarray} $\boldsymbol{x}_0-\boldsymbol{h}$ の長さ (点と平面の距離) は \begin{eqnarray} \require{cancel} d = \|\boldsymbol{x}_0-\boldsymbol{h}\| &=& \left\|\frac{\boldsymbol{w}^T \boldsymbol{x}_0 + b}{\|\boldsymbol{w}\|} \frac{\boldsymbol{w}}{\|\boldsymbol{w}\|}\right\| \\ &=& \frac{|\boldsymbol{w}^T \boldsymbol{x}_0 + b|}{\|\boldsymbol{w}\|} \frac{\cancel{\|\boldsymbol{w}\|}}{\cancel{\|\boldsymbol{w}\|}} \\ &=& \frac{|\boldsymbol{w}^T \boldsymbol{x}_0 + b|}{\|\boldsymbol{w}\|} \label{d} \end{eqnarray} で計算できる。
なお、平面の法線ベクトルが単位ベクトル $\|\boldsymbol{w}\|=1$ の場合、原点 $\boldsymbol{x}_0=\boldsymbol{0}$ から直線までの距離 $d$ は \begin{eqnarray} d &=& \frac{|\boldsymbol{w}^T \boldsymbol{x}_0 + b|}{\|\boldsymbol{w}\|} \\ &=& \frac{|\boldsymbol{w}^T \boldsymbol{0} + b|}{1} \\ &=& |b| \end{eqnarray} であることから、方程式(\ref{plane})の係数 $b$ の絶対値を取ったものは、原点からの距離を表していることがわかる。
計算例
点 $\boldsymbol{x}_0= \left( \begin{array}{c} 3 \\ 4 \\ 5 \end{array} \right)$ と、平面 $x_0+2x_1+3x_2-2 = 0$ の距離を求める。
平面の方程式 $x_0+2x_1+3x_2-2 = 0$ は \begin{eqnarray} \underbrace{ \left( \begin{array}{ccc} 1 & 2 & 3 \end{array} \right) }_{\boldsymbol{w}^T} \underbrace{ \left( \begin{array}{c} x_0 \\ x_1 \\ x_2 \end{array} \right) }_{\boldsymbol{x}} \underbrace{ -2 }_{b} &=& 0 \end{eqnarray} と書けるので、点 $\boldsymbol{x}_0$ と平面の距離は \begin{eqnarray} \frac{|\boldsymbol{w}^T \boldsymbol{x}_0 + b|}{\|\boldsymbol{w}\|} &=& \frac{ \left|\left( \begin{array}{ccc} 1 & 2 & 3 \end{array} \right) \left( \begin{array}{c} 3 \\ 4 \\ 5 \end{array} \right) - 2\right|} { \sqrt{1^2+2^2+3^2} } \\ &=& \frac{|1\cdot 3+2\cdot 4+3\cdot 5-2|}{\sqrt{1+4+9}} \\ &=& \frac{|3+8+15-2|}{\sqrt{14}} \\ &=& \frac{24}{\sqrt{14}} \\ &\simeq& 6.41427 \end{eqnarray} である。