プロが教える店舗&オフィスのセキュリティ対策術

球面上の3点P1(x1,y1,z1),P2(x2,y2,z2),P3(x3,y3,z3)と半径rが与えられたとき、球の中心点Pq(xp,yq,zq)を求める方法を教えて下さい。

球面上3点と半径rが条件として与えられた場合、球の中心点は2個ありそうな気もしますが(何らかの条件で...)、よく分かりません。

何方か、宜しくお願いします。

A 回答 (5件)

中心Pq(xq,yq,zq)、半径rの球の方程式は


(x-xq)^2+(y-yq)^2+(z-zq)^2=r^2 …(A) となります。
球面が3点を通るから、(A)の式に代入すると
(x1-xq)^2+(y1-yq)^2+(z1-zq)^2=r^2 …(1)
(x2-xq)^2+(y2-yq)^2+(z2-zq)^2=r^2 …(2)
(x3-xq)^2+(y3-yq)^2+(z3-zq)^2=r^2 …(3)
となります。
(1)~(3)の式を変形すると、xq,yq,zqについての3元2次連立方程式となるので、xq,yq,zqが各々求められます。
なお、2次方程式の判別式が正の数になる場合は中心が2つとなり、0の場合は1つ(重解)、負の数の場合は存在しないことになります。
    • good
    • 0
この回答へのお礼

”xq,yq,zqについての3元2次連立方程式となる”までは良く理解できました。
しかし、3元2次連立方程式を解くことができません。
大変図々しくて恐縮ですが、xq,yq,zqについての3元2次連立方程式の解法を教えて頂けないでしょうか?
宜しくお願いします。

お礼日時:2002/01/09 18:45

> 3元2次連立方程式の解法を教えて頂けないでしょうか?



dotcomさんの式で、(1)-(2), (1)-(3) を作ると((2)-(3)が適当な場合もあります)
二次の項が消えて、未知数三つの一次方程式が二つできますから、ここから
xp,yq,zq のうち二つを他の一つで置き換える式が求まります。これをdotcomさんの
式の一つ(どれでもいいです)に代入すると、単純な二次方程式となります。

三角形の外心を通り、三点を通る平面に垂直な直線上の点で、元の点からrの距離にあるもの
という考え方もあります。
    • good
    • 0
この回答へのお礼

dotcomさん、ranxさん、ありがとうございます。しかし...

未知数三つの一次方程式は二つ(三つ)できたのですが、
xp,yq,zq のうち二つを他の一つで置き換える式を求める方法が分かりません。
度々ですみませんが、何方か教えて下さい。
宜しくお願いします。

お礼日時:2002/01/09 21:55

こんにちは。



>球面上3点と半径rが条件として与えられた場合、
>球の中心点は2個ありそうな気もしますが
>(何らかの条件で...)、よく分かりません。

 私は、単なる素人なので、こんなコメントをするのは恐縮ですが、
思いついたことがあるので書き込みます。
(多分、最終的には前の方々と同じことをやっていることに
 なるとは思うのですが)

空間上の3点P1、P2、P3が与えられて、
それぞれを中心とする半径rの球を考えたとき、
それらの共通部分が「求める球の中心点」ですよね。

2つの球が交わるとき、その交線は普通は円ですよね。
(1点で接するときには、3番目の球面がそれを含めば、
 その点が答えです。解は 1つ。
 3番目の球面がそれを含まなければ解は なしです。)

その円と3番目の球の関係ですが、
・1点で接すれは、解は 1つ。
・まるまる含まれれば(P1,P2,P3のどれか2つが同一点)
 解は 不定。
・離れていて、共通する部分がなければ、解は なし。

一般的な?場合は、球と円とが交われば交点は2つできますので、
解は 2つ。すなわち「求める球の中心点」は2個ある場合があるよ、
ということになるのではないでしょうか。

すでに皆さんが考えられていることかも知れませんが、
お目汚しでした。では。 
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
jun1038さんの方法でも可能だとは思うのですが、
今回はdotcomさんの方法で求めたいと思います。

お礼日時:2002/01/11 13:30

> xp,yq,zq のうち二つを他の一つで置き換える式を求める方法が分かりません。


え?!
いや、そんな難しい話ではなくて、例えば一般的に、
x,y,zを未知数とする二つの方程式
px+qy+rz+s=0 (1)
lx+my+nz+k=0 (2)
があったら、(1)×n - (2)×r をとって
(pn-lr)x+(qn-mn)y+(sn-kr)=0 とできて、(qn-mn)=0 でなければ
y= ((pn-lr)x+(sn-kr))/(mn-qn)
と、yをxで表せますよね。zも同様、ということなんですが。

暇があれば全部解いてもいいんですけど、そうもいかなくて、
ごめんなさい。

次は二次方程式の解き方を教えてなんて言わないで下さいね。
    • good
    • 0
この回答へのお礼

あっ!
教えていただければ、簡単でした。
つまらない質問にご回答頂きまして、ありがとうございます。

dotcomさんの考え方とranxさんの解き方で、球の中心点を求めることができました。
(エクセルを使って検算して正しい答えが求まったので、方程式も正しく解けたと思います。)

お礼日時:2002/01/11 13:38

折角なのでコンパス(?)と定規で。


まず、3点を含む平面を考えます。
次に、その平面上で2点間の垂直2等分線を2つ書いて
その交点を求めます。この交点は3点を含む円Aの中心C1になります。
その円Aに垂直に立てたC1を通る直線上に球の中心があるので、
そこまでのの距離を求めます。
中心をとおり直交する2直線を引きます。
ついで、その直線の1本が円Aと交わる点Q1を中心に
求める球の半径で円Bを描き、もう一本の線との交点Q2を求めます。
(このときQ2が無ければ描けません。
 丁度C1=Q2であれば、球は一つです。)
C1Q2が求める長さです。
円Aの中心C1から円に垂直な直線を立て
球の中心を置けば求める球が得られます
(2個、または1個、または0個)。
(求め方からわかるように
 ベクトルの計算と電卓でも解くことができます。)

球の個数については3点を水平になるように配置して
そこに、求める球の半径を持つ球を置いてすり抜けたら0個
ぎりぎりすり抜け無かったら1個
球を支えれたら2個(上下逆にすれば良い)
という感じではないでしょうか?
    • good
    • 1

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