アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (7件)

#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点以上の何点でも適用できることは明らかですよね。
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/12/09 09:13

例えば、今凸レンズの様な形を考えて、


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

#4です。


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

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

お礼日時:2004/12/09 09:17

4つの点からの距離の平均を最小にする点(いわゆる最小自乗法?)は、


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

円の式を


(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さんの数学的腕力にまかせるしかないのかもしれません。
    • good
    • 1

問題の意味が曖昧に思われますが、単純に4点を通る円を考えるのであれば、4点の内の任意の3点を通る円を求めればよいはずです。

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

この回答への補足

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

補足日時:2004/12/03 15:01
    • good
    • 0

同じだと思います。

”最低”3点あれば求められるので、適当な3点から求めれば残りの点も必ず通るはず。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!