三次元空間中の点群への楕円体の当てはめ

Tweet


楕円体

三次元空間中の楕円体(楕円球)の方程式は以下の通り.

Ax 2 + By 2 + Cz 2 + Dxy + Eyz + Fzx + Gx + Hy + Iz + J = 0 Ax^2+By^2+Cz^2+Dxy+Eyz+Fzx+Gx+Hy+Iz+J=0

未知数はA~Jの10個.上記の式は,球を(x,y,z)方向に拡大・縮小し(自由度3),回転し(自由度3),平行移動(自由度3)したものである.左辺と右辺に同じ値をかけたものも同じ式になるため,自由度は9.なお,上記の方程式は二次曲面の方程式である.


最小二乗法

点群の三次元座標から,線形最小二乗法でA~Jを解く場合,特異値分解を使って最小特異値に対する右特異ベクトルが解となる.また,得られた式の左辺と右辺に同じ値をかけたものも解である.


中心点

楕円体の重心の三次元座標(x0, y0, z0)は以下を解くことで求まる.

( 2 A D F D 2 B E F E 2 C ) ( x 0 y 0 z 0 ) = ( G H I ) left ( matrix{2A # D # F ## D # 2B # E ## F # E # 2C } right ) left ( matrix{x_0 ## y_0 ## z_0 } right ) =left ( matrix{-G ## -H ## -I } right )

導出は省略するが,要は楕円体の式の左辺は陰関数なので,その陰関数の極大点・極小点を求めることで導出できる.


長軸と短軸

3次元空間中の楕円体なので,長軸・短軸に相当する軸が3つ存在する.その3つの軸は以下の行列の固有ベクトルを求めることで求まる.

( 2 A D F D 2 B E F E 2 C ) left ( matrix{2A # D # F ## E # 2B # E ## F # E # 2C } right )

導出は省略するが,要は楕円体の式の左辺は陰関数なので,その陰関数のヘッセ行列を求めると上記の式になる.三次元空間中のスカラー場の微分値が最も急な方向,二番目に急な方向,最も緩やかな方向を求めるとそれが楕円体の3つの軸になることから導出できる.


長径と短径

その軸の半径は,楕円体と直線の交点を求めることで計算すればよい.なお,上述したヘッセ行列の固有値を使って半径を表現することが出来るが,式は省略する.


楕円

楕円体ではなく,三次元空間中の楕円はどうなるだろうか.楕円体の3つの軸のうち,どれか1つの軸における半径が無限である楕円体が楕円である(というより楕円柱).


もどる