解説
1. 距離の二乗の総和
点 $\mathbf{r}_{0}$ を通り、
方向ベクトルが $\mathbf{d}$ の直線上の任意の点 $\mathbf{x}$ は、
と表される ($t$ はパラメータ)。
$\mathbf{d}$ が
規格化されているとすると、
すなわち、
$$
\tag{1}
$$
が成り立つとすると、
この直線と点群
の中の一点 $\mathbf{r}_{\alpha}$ との距離の二乗 $D_{\alpha}$ は、
と表せる (
点と直線の距離を参考)。
ここで $(\cdot, \cdot)$ は
標準内積を表す記号である。
また $\| \cdot \|$ は
内積によるノルムを表す記号である。
したがって、
各点と直線との距離の二乗の総和 $S$ は、
$$
\tag{2}
$$
である。
2. 重心を通る直線
問題を簡単にするため、直線の通る点 $\mathbf{x}_{0}$ を固定する。
どの点に固定しても良いが、
実際に工学で用いる場合には、
固定する点を頂点群の重心にすることが多い。
すなわち、
である。
そこで、
以下では重心を通り点群にフィットする直線
(重心を通る直線の中で距離の二乗の総和 $S$ を最小にする直線)
を求めることにする。
$\mathbf{x}_{0}$ が固定されたので、
$(2)$ の一つ目の総和
は定数である。
したがって、$(2)$ を最小化する問題は二つ目の総和
$$
\tag{3}
$$
を最大にする問題に帰着される。
ここで、
転置と
標準内積の間に
が成り立つこと、および
内積の諸性質を用いて
$(3)$ を書き換えると、
$$
\tag{4}
$$
となる。ここで行列 $M$ を
と定義した。
$M$ はモーメント行列と呼ばれる。
$(4)$ の右辺の最大値を求める問題は、
二次形式の最大値を求める問題である。
このように $(3)$ の $S$ を最小化する問題は、
二次形式を最大化する問題に帰着される。
3. 二次形式の最大化
転置行列の諸性質を用いると、
が成り立つことが分かるので、
$M$ は
実対称行列である。
実対称行列は正規行列の一種であり、
正規行列の固有ベクトルによって、
正規直交基底を構成することができるので、
そのように構成した
$M$ の固有ベクトルを $\{ \mathbf{v}_{1}, \mathbf{v}_{2}, \mathbf{v}_{3}\}$ と表すと、
が成り立ち
(ここで $\delta_{ij}$ は
クロネッカーのデルタ)、
$\mathbf{d}$ は
$\mathbf{v}_{i}$ によって展開できる。すなわち、
と表せる
( $c_{i}$ は係数 )。
また、$\mathbf{v}_{i}$ は固有ベクトルであるので、
が成り立つ。
ここで、$M$ の固有値 $\lambda_{i}$ は大きい順に
と並んでいるものとする。
以上を用いると、
が成立することが分かる。
これと $(1)$ により、
が成立することを用いると、
を得る。
したがって、
$\left(\mathbf{d}, M \mathbf{d} \right) $ の最大値は
$M$ の最大固有値 $\lambda_{1}$ である。
$\big(\mathbf{d}, M \mathbf{d} \big)$ が最大値 $\lambda_{1}$ になるのは
$$
\tag{5}
$$
のときである。
すなわち、$\mathbf{d}$ が $M$ の最大固有値の固有ベクトル $\mathbf{v}_{1}$ に等しいときである。
まとめ
以上から、
$(3)$ 式
は、$(5)$ のときに最大になることが分かった。
ゆえに、
$(4)$ 式
を見ると分かるように、
$S$ が最小化されるのは
$(5)$ のときである。
まとめると、
重心を通る直線の中で
点群との距離の二乗和 $S$ を最小化する直線は、
直線の向きが
モーメント行列 $M$ の最大固有値の固有ベクトル $\mathbf{v}_{1}$ を向くときであることが示された。