解答例
点群の各点から円の中心までの距離の二乗と、
円の半径の二乗との差の総和が最小になる円を
最小二乗円とし、
点群
$(1.1)$
に対して導出する。
その際に、
$(1.1)$
の重心
$$
\tag{1.2}
$$
を座標原点にすると、計算量が少なくなることが知られている。
そこで、重心
$(\overline{x}, \overline{y})$
を原点とする座標系 (重心座標系 $G$)
を用いることにし、
$G$
で表した点群の位置を
$(X_{i},Y_{i})$ とすると、
$(X_{i},Y_{i})$ と $(x_{i}, y_{i})$
の間には
$$
\tag{1.3}
$$
の関係がある (下図)。
これより、
$$
\tag{1.4}
$$
が成り立つ。
以上の準備をもとに、中心が
$(c_{x}, c_{y})$
であり、
半径が $r$
の円を考える。
この中心を重心座標系で表したものを
$(C_{x}, C_{y})$ と置くと、
$(1.3)$ と同様に
$$
\tag{1.5}
$$
の関係が成り立つ。
この円の中心と各点との間の距離の二乗と、半径の二乗との差は、
である (下図参考) 。
二乗して全ての点について足し合わせると、
である。ここで、便宜上
$$
\tag{1.6}
$$
と置いた。
このように
総和 $S$ は、 $C_{x}, C_{y}, R$ の 3 つの変数に依存する。
これらの変数に対して、
$S$ が最小値をとるためには、
これらに対する $S$ の微分が $0$ でなくてはならない。
すなわち、
$$
\tag{1.7}
$$
が成り立たなくてはならない。
これらの式を順番に検討する。まず
であるので、
$(1.7)$
の第一式より、
$$
\tag{1.8}
$$
が成り立つ。
これを用いると、
であるので、
$(1.7)$
の第二式と
$(1.4)$
より、
$$
\tag{1.9}
$$
を得る。
同じように、
$(1.7)$
の第三式と
$(1.4)$
より、
$$
\tag{1.10}
$$
が成り立つ。ここで便宜上
$$
\tag{1.11}
$$
と置くと、
$(1.9)$
と
$(1.10)$
はそれぞれ
と表される。
これらを書き換えると、
であることから、
行列を用いて、
とまとめられる。
これより、
$C_{x}$ と $C_{y}$ は
$$
\tag{1.12}
$$
と求められる。
ここで二つ目の等号では
2行2列の逆行列の公式を用いた。
$C_{x}$ と $C_{y}$ が求められたので、
$(1.8)$
より、
$$
\tag{1.13}
$$
と $R$ が求められる。
まとめ
以上の結果を要約する。
点群 $(1.1)$ の最小二乗円の中心位置
$(c_{x}, c_{y})$
を求めるためには、
はじめに重心
と
($(1.2)$)、
重心座標系での位置
を計算する
($(1.3)$)。
これを用いて、
を計算し
($(1.11)$)、
によって
($(1.12)$)、
$C_{x}$ と $C_{y}$
を計算し、
最後に
計算すると
($(1.5)$)、
中心位置が得られる。
半径 $r$ については、
$(1.6)$ と $(1.13)$ より、
を計算すると得られる。
解答例
上記の議論を用いる。
数値計算を念頭に置いて、
計算結果を小数で表す。
重心の座標は、
である。これより、重心を原点とした座標系における位置は、
である。これを用いて次の総和を計算する。
これらを用いると、
重心を原点とした座標系における円の中心
$(C_{x}, C_{y})$
が
と求まる。これより、もとの座標系における円の中心が
と求まる。
また、円の半径は、
と求まる。以上の結果をプロットしたのが下図である。
6点(赤点)にフィットするように円が配置されている。