• ベストアンサー

多点を通る円の中心

3点を通る円の中心を求める解法はわかりますが、4点以上の多点を通る場合は、どのような求め方があるでしょうか? どなたかわかる方アドバイス願います。

質問者が選んだベストアンサー

  • ベストアンサー
  • warasubo1
  • ベストアンサー率32% (10/31)
回答No.6

#3の続きです。 e=(x-a)^2+(y-b)^2-r^2 を展開して、 e = -2ax -2by + a^2+b^2-r^2 + x^2+y^2 となるので、 A = -2a B = -2b C = a^2+b^2-r^2 とおくと e = xA + yB + C + x^2+y^2 となります。ここで、上式に4点の座標を代入して、両辺を足し合わせた結果を簡便に表す(ちょっとインチキですが我慢して下さい)ために次のようにおきます。 X = xに関する和 Y = yに関する和 (たとえば、XY=x1*y1 + … + x4*y4という意味) E = e1 + e2 + e3 + e4 したがって、 E = XA + YB + C + X^2+Y^2 両辺を自乗して、 E^2 = ( XA + YB + C + X^2+Y^2 )^2 この式をA,B,Cそれぞれについて偏微分して0とおくと X^2*A + XY*B + X*C + X(X^2+Y^2) = 0 XY*A + Y^2*B + Y*C + Y(X^2+Y^2) = 0 X*A + Y*B + C + (X^2+Y^2) = 0 という式が得られます。これをA,B,Cを変数とする連立方程式として解いて、変数変換したときの式で元にもどせば円の式が得られます。このとき上記の式において、XYに関する記述は次の意味なのでご注意下さい。 X^2 = x1 + … + x4 XY = x1*y1 + … + x4*y4 X = x1 + … + x4 X(X^2+Y^2) = x1*(x1^2+y1^2) + … + x4*(x4^2+y4-2) Y^2 = y1^2 + … + y4^2 Y = y1 + … + y4 Y(X^2+Y^2) = y1*(x1^2+y1^2) + … + y4*(x4^2+y4-2) (X^2+Y^2) = x1^2+y1^2 + … + x4^2+y4-2 連立方程式を解く部分はmaririn222さんに委ねます。 言うまでもないことですが、4点に対しての式を書きましたが、4点以上の何点でも適用できることは明らかですよね。

maririn222
質問者

お礼

詳細な説明ありがとうございます。道筋は理解できました。後は、頑張って連立方程式を解いてみます。 どうもありがとうございます。

その他の回答 (6)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.7

例えば、今凸レンズの様な形を考えて、 縦長に置いたとして、 両端と凸部分の頂点にそれぞれ点をとると 4点とれます。 この4点は、左側の弧上の3点は、予想する円周上にありますが、右側の凸の部分の1点は、誤差を含む点です(とします) この場合、理想的な場合、右側に円の中心を求めたいワケですが、そうした、上記のような、予想する円周上にこの3点があるという情報無しには、求めることができません。 もし、右側にある円の中心を求めることができるなら、4点は対称になっているので、左側にも同様に求めることができるでしょう? このような考察からは、どの点が有意であるかを判断しないと、正しい円の中心が得られないということだと思いますがどうでしょう? もちろん、点が増えれば、正確さは増すのでしょうが、一般に4点の座標で、それぞれが真の値(円周上の点)からの誤差を含むと考える場合、単純に代数的には有意(意味のある)な答えは得られないと思います。(もっと条件を限定できればまた別とは思いますが)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.5

#4です。 #4の方法だと、小さな角度に対応する弧に集まるような4点の円を再現できませんね。 でも、これは、ある意味しょうがないような気もします。 実用上は 有効な3点の組み合わせを選んで、円の中心をいくつか求めて平均を取るような方法になるのでしょうか 単純に、全ての点(4つの点から3つの点を選んで全てを計算する)では誤差が大きい様な場合には、やはり、意味のないものになってしまいますね。

maririn222
質問者

お礼

多点の中から、有効な3点をピックアップするのが容易にできないので、全ての点に対して、近似できればと考えています。アドバイスありがとうございます。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

4つの点からの距離の平均を最小にする点(いわゆる最小自乗法?)は、 重心いわゆる、4つの点の座標の平均になると思います。 それで、円の中心が求まります。 半径は、距離の平均(距離の自乗の平均?)から求まります。 ちがうかな?

  • warasubo1
  • ベストアンサー率32% (10/31)
回答No.3

円の式を (x-a)^2+(y-b)^2=r^2 としたとき、(x,y)が円周上にあれば (x-a)^2+(y-b)^2-r^2=0 となります。円周上からずれていれば上記の様にはならず、ズレをeとして e=(x-a)^2+(y-b)^2-r^2 となります。eは正か負かわからないので、両辺を自乗して e^2=((x-a)^2+(y-b)^2-r^2)^2 として、このe^2を最小にする(a,b,r)を求めるやり口を最小自乗法といいます。 点(x1,y1),,,(x4,y4)に対して、 e1^2=((x1-a)^2+(y1-b)^2-r^2)^2 ・・・・ e4^2=((x4-a)^2+(y4-b)^2-r^2)^2 という4つの式が得られるので両辺を足し合わせます。 すると、(a,b,r)に関する式になるので、a,b,rそれぞれについて偏微分して得られる式をゼロとおいて連立して解けば(a,b,r)が求まります。 理屈としては上記の通りでよいはずですが、実際には、簡単に円の式では解析的な結果を得られませんね。途中で変数変換をしたりするような何かひとひねり技が必要なようです。今夜少し考えてみようと思います。maririn222さんの数学的腕力にまかせるしかないのかもしれません。

  • warasubo1
  • ベストアンサー率32% (10/31)
回答No.2

問題の意味が曖昧に思われますが、単純に4点を通る円を考えるのであれば、4点の内の任意の3点を通る円を求めればよいはずです。逆に言えば、3点を通る円の円周上に4点目がなくてはならないからです。そうでなければ「4点を通る円」そのものが存在しません。 4つの点の出来るだけ近くを通る円を求めるというのであれば、最小自乗法の問題になりますね。

maririn222
質問者

補足

質問が不明瞭でした。 "warasubo1"さんの言われるように、多点の出来るだけ近くを通る円の中心を求めたいのです。 最小自乗法だとどうなるのでしょう?

  • zaki_shin
  • ベストアンサー率22% (15/68)
回答No.1

同じだと思います。”最低”3点あれば求められるので、適当な3点から求めれば残りの点も必ず通るはず。

関連するQ&A