プロが教えるわが家の防犯対策術!

今(X1,Y1,Z1)(X2,Y2,Z2)(X3,Y3,Z3)の三つの座標と半径rが分かっています.
この座標の中心(Xq,Yq,Zq)は(X-Xq)^2+(Y-Yq)^2+(Z-Zq)^2=r^2を元に連立方程式を立てれば解けるらしいのですが私には難しくて解けません.
この解(例:Xq=???)を知っている方がいらっしゃいましたらどうか教えてください.

A 回答 (8件)

(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)-(2)
(X1-X2)*(X1+X2-2Xq)+(Y1-Y2)*(Y1+Y2-2Yq)+(Z1-Z2)*(Z1+Z2-2Zq)=0 …(4)
(1)-(3)
(X1-X3)*(X1+X3-2Xq)+(Y1-Y3)*(Y1+Y3-2Yq)+(Z1-Z3)*(Z1+Z3-2Zq)=0 …(5)
(4),(5)を(Yq,Zq)について連立方程式として解き、
その(Yq,Zq)を(1)に代入してできるた
Xqの二次方程式を解いてXqを求めて下さい。

文字定数ばかりの一般式の導出ですので、式の項数が非常に多くなりますので計算間違いしないように根気よく計算してください。その場合、球面上の3点の任意の2つが一致しない条件や一直線上に並ばない条件やr>0の条件など、文字を使う上で忘れがちな条件を考慮する必要があるかと思います。

なお、文字変数でなくすべて、具体的な数字の定数であれば、計算は非常に楽に、球の中心座標が出せるでしょう。

やたらに、沢山の文字定数を使って一般化した公式を求めようとするのも考え物です。せっかく導いた公式が余りにも長すぎて暗記ができない、書き写すのに転記ミスが沢山発生するのでは、その公式は使い物になりませんね。Xqの式を数式処理ソフトで実際に計算してみましたが、ここに掲載できるような長さの式にはなりませんね(半角文字の1600文字より遥かに長い式です。)。
    • good
    • 0
この回答へのお礼

1600文字・・・やたら長いですね。
今大学で論文を書くのに必要な式としてといているのですが
きれいにXq=x1y1x1,x2y2z2,x3y3z3の関数で表したかったのです。

数式処理ソフトとは?そういった知識がないのですがそちらを使い
解が導けるか、きれいに整理できるかを調べてみます。
ありがとうございます

お礼日時:2007/12/04 00:05

>> 今大学で論文を書くのに必要な式としてといているのですが


>> きれいにXq=x1y1x1,x2y2z2,x3y3z3の関数で表したかったのです。

ということでしたら、#1さんの連立方程式を解く、
という方針は煩雑すぎるかもしれません。
考えを全く変えて、#6,#7さんの方法を採用した方がいいでしょう。

座標が与えられている3点をそれぞれ、P1,P2,P3 とします。
球面の中心点を Pq とします。
また、p1↑ = (X1 Y1 Z1) , p2↑ = (X2 Y2 Z2) , p3↑ = (X3 Y3 Z3) とおきます。
そして、3点が同一直線上にあるときはその3点を通る球面は存在しませんので、
3点は同一直線上にないものとします。

PqP1 = PqP2 なので、Pq は P1 と P2 の垂直二等分平面上にあります。
PqP1 = PqP3 なので、Pq は P1 と P3 の垂直二等分平面上にあります。
したがって、Pq は上記2平面が交わる直線上にあります。
これをベクトルで表すと、

(p2↑-p1↑)・{ pq↑ - (p2↑+p1↑)/2 } = 0
(p3↑-p1↑)・{ pq↑ - (p3↑+p1↑)/2 } = 0

となります。
さらに、P1,P2,P3 の3点を通る平面上にない任意の点 P4 をとります。

(p4↑-p1↑)・{ pq↑ } = t

ここで、t はパラメータ変数です。
この3つを連立させると、

(p2↑-p1↑)・{ pq↑ - (p2↑+p1↑)/2 } = 0
(p3↑-p1↑)・{ pq↑ - (p3↑+p1↑)/2 } = 0
(p4↑-p1↑)・{ pq↑ } = t

行列で表すと、

(p2↑-p1↑) ( Xq ) = ( (p2↑+p1↑)/2 )
(p3↑-p1↑) ( Yq ) = ( (p3↑+p1↑)/2 )
(p4↑-p1↑) ( Zq ) = ( t )

( P pq↑ = p'↑ とおくことにしましょう。)

となります。よって、

pq↑ = P^(-1) p'↑

が得られます。
しかし、この式はまだパラメータ変数 t を含んでおり、点ではなく直線を表しています。
そこで、3点からの距離が r であることを用います。式で表せば、

|(pq↑-p1↑)|^2 = (pq↑-p1↑)・(pq↑-p1↑) = r^2
(Xq - X1)^2 + (Yq - Y1)^2 + (Zq - Z1)^2 = r^2

です。これは t についての2次方程式になります。


以上をまとめると、

p1↑ = (X1 Y1 Z1) , p2↑ = (X2 Y2 Z2) , p3↑ = (X3 Y3 Z3) とおき、
3点が同一直線上にないものとする。
また、この3点を通る平面状にない任意の点 p4↑ = (X4 Y4 Z4) をとる。
すると、
( Xq ) = (p2↑-p1↑)^(-1) ( (p2↑+p1↑)/2 )
( Yq ) = (p3↑-p1↑)^(-1) ( (p3↑+p1↑)/2 )
( Zq ) = (p4↑-p1↑)^(-1) ( t )
よりパラメータ変数 t を含んだ直線の方程式が得られ、
(Xq - X1)^2 + (Yq - Y1)^2 + (Zq - Z1)^2 = r^2
の t についての2次方程式を解く。
t を上の式に代入すれば、Xq,Yq,Zq が得られる。

ということになります。
きれいにXq=x1y1x1,x2y2z2,x3y3z3の関数で表したいなら、
まともに解くと煩雑になるので、
この方法か、これに類する行列を使った方法がいいと思います。
    • good
    • 0

No6の補足です。


3次元空間の2点から等距離になる領域は平面です。
よって、3点から二つの平面を取り出し、重なる部分は一次元の線になります。
ここで、半径rから0次元の点を求めればよろしいのではないでしょうか?
    • good
    • 0

普通に平面上の円の中心を求めるように計算してみてはいかがでしょうか?


例えば、平面上の3点がある円周上にあるとすれば、その円の中心は、
「異なる二点の垂直二等分線上にある」わけですから、その垂直二等分線を二つ求め、その交点を導き出せばよろしいというわけです。
それを3次元に拡張するのはどうでしょうか?
    • good
    • 0

#2~4です。


A#4の補足です。
A#4でのXpの2次方程式の係数中のRは
R=r^2
です。

A#4の式は長いので横に長くなってしまって見づらい
ので申し訳ありません。コピーアンドペーストで
適当なエディターに貼り付けてご覧下さい。
    • good
    • 0

#2,#3です。

フリーソフトの数式処理ソフトMaximaでXqの方程式をA#2の方法で解いて見た所、解Xqの2次方程式の係数の式の項数が多すぎて、Maximaで出力できるXqの式の長さ(項数)が多すぎるということで出力できないとメッセージが出ました。MapleではXpの解の式が出ますが、式が長すぎて式のカットアンドペーストができません。強引にするとソフトが凍ってしまいます。
そこで、Xpの2次方程式aXp^2+bXp+c=0の係数a,b,cを求めた結果だけ書いておきます。2次方程式の解の公式に代入すればXqが求まるでしょう。
a=4*Y2^2*Z3^2-8*Y1*Y2*Z3^2+4*Y1^2*Z3^2+4*X2^2*Z3^2-8*X1*X2*Z3^2+4*X1^2*Z3^2-8*Y2*Y3*Z2*Z3+8*Y1*Y3*Z2*Z3+8*Y1*Y2*Z2*Z3-8*Y1^2*Z2*Z3-8*X2*X3*
Z2*Z3+8*X1*X3*Z2*Z3+8*X1*X2*Z2*Z3-8*X1^2*Z2*Z3+8*Y2*Y3*Z1*Z3-8*Y1*Y3*Z1*Z3-8*Y2^2*Z1*Z3+8*Y1*Y2*Z1*Z3+8*X2*X3*Z1*Z3-8*X1*X3*Z1*Z3-8*X2^2*Z1*
Z3+8*X1*X2*Z1*Z3+4*Y3^2*Z2^2-8*Y1*Y3*Z2^2+4*Y1^2*Z2^2+4*X3^2*Z2^2-8*X1*X3*Z2^2+4*X1^2*Z2^2-8*Y3^2*Z1*Z2+8*Y2*Y3*Z1*Z2+8*Y1*Y3*Z1*Z2-8*Y1*Y2*Z1*Z2
-8*X3^2*Z1*Z2+8*X2*X3*Z1*Z2+8*X1*X3*Z1*Z2-8*X1*X2*Z1*Z2+4*Y3^2*Z1^2-8*Y2*Y3*Z1^2+4*Y2^2*Z1^2+4*X3^2*Z1^2-8*X2*X3*Z1^2+4*X2^2*Z1^2+4*X2^2*Y3^2-8*X1*
X2*Y3^2+4*X1^2*Y3^2-8*X2*X3*Y2*Y3+8*X1*X3*Y2*Y3+8*X1*X2*Y2*Y3-8*X1^2*Y2*Y3+8*X2*X3*Y1*Y3-8*X1*X3*Y1*Y3-8*X2^2*Y1*Y3+8*X1*X2*Y1*Y3+4*X3^2*Y2^2-
8*X1*X3*Y2^2+4*X1^2*Y2^2-8*X3^2*Y1*Y2+8*X2*X3*Y1*Y2+8*X1*X3*Y1*Y2-8*X1*X2*Y1*Y2+4*X3^2*Y1^2-8*X2*X3*Y1^2+4*X2^2*Y1^2

b=4*X2*Z2*Z3^3-4*X1*Z2*Z3^3-4*X2*Z1*Z3^3+4*X1*Z1*Z3^3-4*X3*Z2^2*Z3^2-4*X2*Z2^2*Z3^2+8*X1*Z2^2*Z3^2+8*X3*Z1*Z2*Z3^2-4*X2*Z1*Z2*Z3^2-4*X1*Z1*Z2*
Z3^2-4*X3*Z1^2*Z3^2+8*X2*Z1^2*Z3^2-4*X1*Z1^2*Z3^2+4*X2*Y2*Y3*Z3^2-4*X1*Y2*Y3*Z3^2-4*X2*Y1*Y3*Z3^2+4*X1*Y1*Y3*Z3^2-4*X3*Y2^2*Z3^2-4*X2*Y2^2*Z3^2+8*X3*
Y1*Y2*Z3^2+4*X2*Y1*Y2*Z3^2+4*X1*Y1*Y2*Z3^2-4*X3*Y1^2*Z3^2-4*X1*Y1^2*Z3^2-4*X2^3*Z3^2+4*X1*X2^2*Z3^2+4*X1^2*X2*Z3^2-4*X1^3*Z3^2+4*X3*Z2^3*Z3-4*X1*Z2^3*Z3
-4*X3*Z1*Z2^2*Z3+8*X2*Z1*Z2^2*Z3-4*X1*Z1*Z2^2*Z3-4*X3*Z1^2*Z2*Z3-4*X2*Z1^2*Z2*Z3+8*X1*Z1^2*Z2*Z3+4*X2*Y3^2*Z2*Z3-4*X1*Y3^2*Z2*Z3+16*X1*Y2*Y3*Z2*Z3
-8*X2*Y1*Y3*Z2*Z3-8*X1*Y1*Y3*Z2*Z3+4*X3*Y2^2*Z2*Z3-4*X1*Y2^2*Z2*Z3-8*X3*Y1*Y2*Z2*Z3-8*X1*Y1*Y2*Z2*Z3+4*X3*Y1^2*Z2*Z3+4*X2*Y1^2*Z2*Z3+8*X1*Y1^2*
Z2*Z3+4*X2*X3^2*Z2*Z3-4*X1*X3^2*Z2*Z3+4*X2^2*X3*Z2*Z3-4*X1^2*X3*Z2*Z3-4*X1*X2^2*Z2*Z3-4*X1^2*X2*Z2*Z3+8*X1^3*Z2*Z3+4*X3*Z1^3*Z3-4*X2*Z1^3*Z3-4*X2*
Y3^2*Z1*Z3+4*X1*Y3^2*Z1*Z3-8*X2*Y2*Y3*Z1*Z3-8*X1*Y2*Y3*Z1*Z3+16*X2*Y1*Y3*Z1*Z3+4*X3*Y2^2*Z1*Z3+8*X2*Y2^2*Z1*Z3+4*X1*Y2^2*Z1*Z3-8*X3*Y1*Y2*Z1*Z3-
8*X2*Y1*Y2*Z1*Z3+4*X3*Y1^2*Z1*Z3-4*X2*Y1^2*Z1*Z3-4*X2*X3^2*Z1*Z3+4*X1*X3^2*Z1*Z3-4*X2^2*X3*Z1*Z3+4*X1^2*X3*Z1*Z3+8*X2^3*Z1*Z3-4*X1*X2^2*Z1*Z3-4*
X1^2*X2*Z1*Z3-4*X3*Z1*Z2^3+4*X1*Z1*Z2^3+8*X3*Z1^2*Z2^2-4*X2*Z1^2*Z2^2-4*X1*Z1^2*Z2^2-4*X3*Y3^2*Z2^2-4*X2*Y3^2*Z2^2+4*X3*Y2*Y3*Z2^2-4*X1*Y2*Y3*Z2^2+4*
X3*Y1*Y3*Z2^2+8*X2*Y1*Y3*Z2^2+4*X1*Y1*Y3*Z2^2-4*X3*Y1*Y2*Z2^2+4*X1*Y1*Y2*Z2^2-4*X2*Y1^2*Z2^2-4*X1*Y1^2*Z2^2-4*X3^3*Z2^2+4*X1*X3^2*Z2^2+4*X1^2*X3*Z2^2-
4*X1^3*Z2^2-4*X3*Z1^3*Z2+4*X2*Z1^3*Z2+8*X3*Y3^2*Z1*Z2+4*X2*Y3^2*Z1*Z2+4*X1*Y3^2*Z1*Z2-8*X3*Y2*Y3*Z1*Z2-8*X1*Y2*Y3*Z1*Z2-8*X3*Y1*Y3*Z1*Z2-8*X2*Y1*
Y3*Z1*Z2-4*X3*Y2^2*Z1*Z2+4*X1*Y2^2*Z1*Z2+16*X3*Y1*Y2*Z1*Z2-4*X3*Y1^2*Z1*Z2+4*X2*Y1^2*Z1*Z2+8*X3^3*Z1*Z2-4*X2*X3^2*Z1*Z2-4*X1*X3^2*Z1*Z2-4*X2^2*X3*
Z1*Z2-4*X1^2*X3*Z1*Z2+4*X1*X2^2*Z1*Z2+4*X1^2*X2*Z1*Z2-4*X3*Y3^2*Z1^2-4*X1*Y3^2*Z1^2+4*X3*Y2*Y3*Z1^2+4*X2*Y2*Y3*Z1^2+8*X1*Y2*Y3*Z1^2+4*X3*Y1*Y3*Z1^2-
4*X2*Y1*Y3*Z1^2-4*X2*Y2^2*Z1^2-4*X1*Y2^2*Z1^2-4*X3*Y1*Y2*Z1^2+4*X2*Y1*Y2*Z1^2-4*X3^3*Z1^2+4*X2*X3^2*Z1^2+4*X2^2*X3*Z1^2-4*X2^3*Z1^2+4*X2*Y2*Y3^3-4*X1*
Y2*Y3^3-4*X2*Y1*Y3^3+4*X1*Y1*Y3^3-4*X3*Y2^2*Y3^2-4*X2*Y2^2*Y3^2+8*X1*Y2^2*Y3^2+8*X3*Y1*Y2*Y3^2-4*X2*Y1*Y2*Y3^2-4*X1*Y1*Y2*Y3^2-4*X3*Y1^2*Y3^2+8*X2*
Y1^2*Y3^2-4*X1*Y1^2*Y3^2-4*X2^3*Y3^2+4*X1*X2^2*Y3^2+4*X1^2*X2*Y3^2-4*X1^3*Y3^2+4*X3*Y2^3*Y3-4*X1*Y2^3*Y3-4*X3*Y1*Y2^2*Y3+8*X2*Y1*Y2^2*Y3-4*X1*Y1*Y2^2*Y3
-4*X3*Y1^2*Y2*Y3-4*X2*Y1^2*Y2*Y3+8*X1*Y1^2*Y2*Y3+4*X2*X3^2*Y2*Y3-4*X1*X3^2*Y2*Y3+4*X2^2*X3*Y2*Y3-4*X1^2*X3*Y2*Y3-4*X1*X2^2*Y2*Y3-4*X1^2*X2*Y2*Y3+8*
X1^3*Y2*Y3+4*X3*Y1^3*Y3-4*X2*Y1^3*Y3-4*X2*X3^2*Y1*Y3+4*X1*X3^2*Y1*Y3-4*X2^2*X3*Y1*Y3+4*X1^2*X3*Y1*Y3+8*X2^3*Y1*Y3-4*X1*X2^2*Y1*Y3-4*X1^2*X2*Y1*Y3-
4*X3*Y1*Y2^3+4*X1*Y1*Y2^3+8*X3*Y1^2*Y2^2-4*X2*Y1^2*Y2^2-4*X1*Y1^2*Y2^2-4*X3^3*Y2^2+4*X1*X3^2*Y2^2+4*X1^2*X3*Y2^2-4*X1^3*Y2^2-4*X3*Y1^3*Y2+4*X2*Y1^3*Y2+8*
X3^3*Y1*Y2-4*X2*X3^2*Y1*Y2-4*X1*X3^2*Y1*Y2-4*X2^2*X3*Y1*Y2-4*X1^2*X3*Y1*Y2+4*X1*X2^2*Y1*Y2+4*X1^2*X2*Y1*Y2-4*X3^3*Y1^2+4*X2*X3^2*Y1^2+4*X2^2*X3*Y1^2-
4*X2^3*Y1^2

c=Z2^2*Z3^4-2*Z1*Z2*Z3^4+Z1^2*Z3^4+Y2^2*Z3^4-2*Y1*Y2*Z3^4+Y1^2*Z3^4-2*Z2^3*Z3^3+2*Z1*Z2^2*Z3^3+2*Z1^2*Z2*Z3^3-2*Y2^2*Z2*Z3^3+4*Y1*Y2*Z2*Z3^3-2*
Y1^2*Z2*Z3^3-2*X2^2*Z2*Z3^3+2*X1^2*Z2*Z3^3-2*Z1^3*Z3^3-2*Y2^2*Z1*Z3^3+4*Y1*Y2*Z1*Z3^3-2*Y1^2*Z1*Z3^3+2*X2^2*Z1*Z3^3-2*X1^2*Z1*Z3^3+Z2^4*Z3^2+2*Z1*Z2^3*Z3^2
-6*Z1^2*Z2^2*Z3^2+2*Y3^2*Z2^2*Z3^2-2*Y2*Y3*Z2^2*Z3^2-2*Y1*Y3*Z2^2*Z3^2+2*Y2^2*Z2^2*Z3^2-2*Y1*Y2*Z2^2*Z3^2+2*Y1^2*Z2^2*Z3^2+2*X3^2*Z2^2*Z3^2+2*X2^2*Z2^2*Z3^2-4*
X1^2*Z2^2*Z3^2+2*Z1^3*Z2*Z3^2-4*Y3^2*Z1*Z2*Z3^2+4*Y2*Y3*Z1*Z2*Z3^2+4*Y1*Y3*Z1*Z2*Z3^2+2*Y2^2*Z1*Z2*Z3^2-8*Y1*Y2*Z1*Z2*Z3^2+2*Y1^2*Z1*Z2*Z3^2-4*X3^2*Z1*Z2*
Z3^2+2*X2^2*Z1*Z2*Z3^2+2*X1^2*Z1*Z2*Z3^2+Z1^4*Z3^2+2*Y3^2*Z1^2*Z3^2-2*Y2*Y3*Z1^2*Z3^2-2*Y1*Y3*Z1^2*Z3^2+2*Y2^2*Z1^2*Z3^2-2*Y1*Y2*Z1^2*Z3^2+2*Y1^2*Z1^2*Z3^2+
2*X3^2*Z1^2*Z3^2-4*X2^2*Z1^2*Z3^2+2*X1^2*Z1^2*Z3^2+2*Y2^2*Y3^2*Z3^2-4*Y1*Y2*Y3^2*Z3^2+2*Y1^2*Y3^2*Z3^2-2*Y2^3*Y3*Z3^2+2*Y1*Y2^2*Y3*Z3^2+2*Y1^2*Y2*Y3*Z3^2-2*X2^2*
Y2*Y3*Z3^2+2*X1^2*Y2*Y3*Z3^2-2*Y1^3*Y3*Z3^2+2*X2^2*Y1*Y3*Z3^2-2*X1^2*Y1*Y3*Z3^2+Y2^4*Z3^2-2*Y1*Y2^3*Z3^2+2*Y1^2*Y2^2*Z3^2+2*X3^2*Y2^2*Z3^2+2*X2^2*Y2^2*Z3^2-
4*R*Y2^2*Z3^2-2*Y1^3*Y2*Z3^2-4*X3^2*Y1*Y2*Z3^2-2*X2^2*Y1*Y2*Z3^2-2*X1^2*Y1*Y2*Z3^2+8*R*Y1*Y2*Z3^2+Y1^4*Z3^2+2*X3^2*Y1^2*Z3^2+2*X1^2*Y1^2*Z3^2-4*R*Y1^2*Z3^2+
X2^4*Z3^2-2*X1^2*X2^2*Z3^2+X1^4*Z3^2-2*Z1*Z2^4*Z3+2*Z1^2*Z2^3*Z3-2*Y3^2*Z2^3*Z3+4*Y1*Y3*Z2^3*Z3-2*Y1^2*Z2^3*Z3-2*X3^2*Z2^3*Z3+2*X1^2*Z2^3*Z3+2*Z1^3*Z2^2*Z3
+2*Y3^2*Z1*Z2^2*Z3+4*Y2*Y3*Z1*Z2^2*Z3-8*Y1*Y3*Z1*Z2^2*Z3-4*Y2^2*Z1*Z2^2*Z3+4*Y1*Y2*Z1*Z2^2*Z3+2*Y1^2*Z1*Z2^2*Z3+2*X3^2*Z1*Z2^2*Z3-4*X2^2*Z1*Z2^2*Z3+2*
X1^2*Z1*Z2^2*Z3-2*Z1^4*Z2*Z3+2*Y3^2*Z1^2*Z2*Z3-8*Y2*Y3*Z1^2*Z2*Z3+4*Y1*Y3*Z1^2*Z2*Z3+2*Y2^2*Z1^2*Z2*Z3+4*Y1*Y2*Z1^2*Z2*Z3-4*Y1^2*Z1^2*Z2*Z3+2*X3^2*Z1^2*
Z2*Z3+2*X2^2*Z1^2*Z2*Z3-4*X1^2*Z1^2*Z2*Z3-2*Y2^2*Y3^2*Z2*Z3+4*Y1*Y2*Y3^2*Z2*Z3-2*Y1^2*Y3^2*Z2*Z3-2*X2^2*Y3^2*Z2*Z3+2*X1^2*Y3^2*Z2*Z3+4*Y1*Y2^2*Y3*Z2*Z3-
8*Y1^2*Y2*Y3*Z2*Z3-8*X1^2*Y2*Y3*Z2*Z3+8*R*Y2*Y3*Z2*Z3+4*Y1^3*Y3*Z2*Z3+4*X2^2*Y1*Y3*Z2*Z3+4*X1^2*Y1*Y3*Z2*Z3-8*R*Y1*Y3*Z2*Z3-2*Y1^2*Y2^2*Z2*Z3-2*X3^2*
Y2^2*Z2*Z3+2*X1^2*Y2^2*Z2*Z3+4*Y1^3*Y2*Z2*Z3+4*X3^2*Y1*Y2*Z2*Z3+4*X1^2*Y1*Y2*Z2*Z3-8*R*Y1*Y2*Z2*Z3-2*Y1^4*Z2*Z3-2*X3^2*Y1^2*Z2*Z3-2*X2^2*Y1^2*Z2*Z3-4*
X1^2*Y1^2*Z2*Z3+8*R*Y1^2*Z2*Z3-2*X2^2*X3^2*Z2*Z3+2*X1^2*X3^2*Z2*Z3+2*X1^2*X2^2*Z2*Z3-2*X1^4*Z2*Z3-2*Y3^2*Z1^3*Z3+4*Y2*Y3*Z1^3*Z3-2*Y2^2*Z1^3*Z3-2*X3^2*
Z1^3*Z3+2*X2^2*Z1^3*Z3-2*Y2^2*Y3^2*Z1*Z3+4*Y1*Y2*Y3^2*Z1*Z3-2*Y1^2*Y3^2*Z1*Z3+2*X2^2*Y3^2*Z1*Z3-2*X1^2*Y3^2*Z1*Z3+4*Y2^3*Y3*Z1*Z3-8*Y1*Y2^2*Y3*Z1*Z3+4*
Y1^2*Y2*Y3*Z1*Z3+4*X2^2*Y2*Y3*Z1*Z3+4*X1^2*Y2*Y3*Z1*Z3-8*R*Y2*Y3*Z1*Z3-8*X2^2*Y1*Y3*Z1*Z3+8*R*Y1*Y3*Z1*Z3-2*Y2^4*Z1*Z3+4*Y1*Y2^3*Z1*Z3-2*Y1^2*Y2^2*
Z1*Z3-2*X3^2*Y2^2*Z1*Z3-4*X2^2*Y2^2*Z1*Z3-2*X1^2*Y2^2*Z1*Z3+8*R*Y2^2*Z1*Z3+4*X3^2*Y1*Y2*Z1*Z3+4*X2^2*Y1*Y2*Z1*Z3-8*R*Y1*Y2*Z1*Z3-2*X3^2*Y1^2*Z1*Z3+2*
X2^2*Y1^2*Z1*Z3+2*X2^2*X3^2*Z1*Z3-2*X1^2*X3^2*Z1*Z3-2*X2^4*Z1*Z3+2*X1^2*X2^2*Z1*Z3+Z1^2*Z2^4+Y3^2*Z2^4-2*Y1*Y3*Z2^4+Y1^2*Z2^4-2*Z1^3*Z2^3-2*Y3^2*Z1*Z2^3+
4*Y1*Y3*Z1*Z2^3-2*Y1^2*Z1*Z2^3+2*X3^2*Z1*Z2^3-2*X1^2*Z1*Z2^3+Z1^4*Z2^2+2*Y3^2*Z1^2*Z2^2-2*Y2*Y3*Z1^2*Z2^2-2*Y1*Y3*Z1^2*Z2^2+2*Y2^2*Z1^2*Z2^2-2*Y1*Y2*Z1^2*
Z2^2+2*Y1^2*Z1^2*Z2^2-4*X3^2*Z1^2*Z2^2+2*X2^2*Z1^2*Z2^2+2*X1^2*Z1^2*Z2^2+Y3^4*Z2^2-2*Y2*Y3^3*Z2^2-2*Y1*Y3^3*Z2^2+2*Y2^2*Y3^2*Z2^2+2*Y1*Y2*Y3^2*Z2^2+2*Y1^2*Y3^2*
Z2^2+2*X3^2*Y3^2*Z2^2+2*X2^2*Y3^2*Z2^2-4*R*Y3^2*Z2^2-4*Y1*Y2^2*Y3*Z2^2+2*Y1^2*Y2*Y3*Z2^2-2*X3^2*Y2*Y3*Z2^2+2*X1^2*Y2*Y3*Z2^2-2*Y1^3*Y3*Z2^2-2*X3^2*Y1*Y3*Z2^2
-4*X2^2*Y1*Y3*Z2^2-2*X1^2*Y1*Y3*Z2^2+8*R*Y1*Y3*Z2^2+2*Y1^2*Y2^2*Z2^2-2*Y1^3*Y2*Z2^2+2*X3^2*Y1*Y2*Z2^2-2*X1^2*Y1*Y2*Z2^2+Y1^4*Z2^2+2*X2^2*Y1^2*Z2^2+2*X1^2*
Y1^2*Z2^2-4*R*Y1^2*Z2^2+X3^4*Z2^2-2*X1^2*X3^2*Z2^2+X1^4*Z2^2-2*Y3^2*Z1^3*Z2+4*Y2*Y3*Z1^3*Z2-2*Y2^2*Z1^3*Z2+2*X3^2*Z1^3*Z2-2*X2^2*Z1^3*Z2-2*Y3^4*Z1*Z2+4*Y2*
Y3^3*Z1*Z2+4*Y1*Y3^3*Z1*Z2-2*Y2^2*Y3^2*Z1*Z2-8*Y1*Y2*Y3^2*Z1*Z2-2*Y1^2*Y3^2*Z1*Z2-4*X3^2*Y3^2*Z1*Z2-2*X2^2*Y3^2*Z1*Z2-2*X1^2*Y3^2*Z1*Z2+8*R*Y3^2*Z1*Z2+
4*Y1*Y2^2*Y3*Z1*Z2+4*Y1^2*Y2*Y3*Z1*Z2+4*X3^2*Y2*Y3*Z1*Z2+4*X1^2*Y2*Y3*Z1*Z2-8*R*Y2*Y3*Z1*Z2+4*X3^2*Y1*Y3*Z1*Z2+4*X2^2*Y1*Y3*Z1*Z2-8*R*Y1*Y3*Z1*Z2-
2*Y1^2*Y2^2*Z1*Z2+2*X3^2*Y2^2*Z1*Z2-2*X1^2*Y2^2*Z1*Z2-8*X3^2*Y1*Y2*Z1*Z2+8*R*Y1*Y2*Z1*Z2+2*X3^2*Y1^2*Z1*Z2-2*X2^2*Y1^2*Z1*Z2-2*X3^4*Z1*Z2+2*X2^2*X3^2*Z1*
Z2+2*X1^2*X3^2*Z1*Z2-2*X1^2*X2^2*Z1*Z2+Y3^2*Z1^4-2*Y2*Y3*Z1^4+Y2^2*Z1^4+Y3^4*Z1^2-2*Y2*Y3^3*Z1^2-2*Y1*Y3^3*Z1^2+2*Y2^2*Y3^2*Z1^2+2*Y1*Y2*Y3^2*Z1^2+2*Y1^2*
Y3^2*Z1^2+2*X3^2*Y3^2*Z1^2+2*X1^2*Y3^2*Z1^2-4*R*Y3^2*Z1^2-2*Y2^3*Y3*Z1^2+2*Y1*Y2^2*Y3*Z1^2-4*Y1^2*Y2*Y3*Z1^2-2*X3^2*Y2*Y3*Z1^2-2*X2^2*Y2*Y3*Z1^2-4*X1^2*Y2*Y3*
Z1^2+8*R*Y2*Y3*Z1^2-2*X3^2*Y1*Y3*Z1^2+2*X2^2*Y1*Y3*Z1^2+Y2^4*Z1^2-2*Y1*Y2^3*Z1^2+2*Y1^2*Y2^2*Z1^2+2*X2^2*Y2^2*Z1^2+2*X1^2*Y2^2*Z1^2-4*R*Y2^2*Z1^2+2*X3^2*Y1*
Y2*Z1^2-2*X2^2*Y1*Y2*Z1^2+X3^4*Z1^2-2*X2^2*X3^2*Z1^2+X2^4*Z1^2+Y2^2*Y3^4-2*Y1*Y2*Y3^4+Y1^2*Y3^4-2*Y2^3*Y3^3+2*Y1*Y2^2*Y3^3+2*Y1^2*Y2*Y3^3-2*X2^2*Y2*Y3^3+
2*X1^2*Y2*Y3^3-2*Y1^3*Y3^3+2*X2^2*Y1*Y3^3-2*X1^2*Y1*Y3^3+Y2^4*Y3^2+2*Y1*Y2^3*Y3^2-6*Y1^2*Y2^2*Y3^2+2*X3^2*Y2^2*Y3^2+2*X2^2*Y2^2*Y3^2-4*X1^2*Y2^2*Y3^2+2*Y1^3*Y2*
Y3^2-4*X3^2*Y1*Y2*Y3^2+2*X2^2*Y1*Y2*Y3^2+2*X1^2*Y1*Y2*Y3^2+Y1^4*Y3^2+2*X3^2*Y1^2*Y3^2-4*X2^2*Y1^2*Y3^2+2*X1^2*Y1^2*Y3^2+X2^4*Y3^2-2*X1^2*X2^2*Y3^2+X1^4*Y3^2-
2*Y1*Y2^4*Y3+2*Y1^2*Y2^3*Y3-2*X3^2*Y2^3*Y3+2*X1^2*Y2^3*Y3+2*Y1^3*Y2^2*Y3+2*X3^2*Y1*Y2^2*Y3-4*X2^2*Y1*Y2^2*Y3+2*X1^2*Y1*Y2^2*Y3-2*Y1^4*Y2*Y3+2*X3^2*Y1^2*Y2*
Y3+2*X2^2*Y1^2*Y2*Y3-4*X1^2*Y1^2*Y2*Y3-2*X2^2*X3^2*Y2*Y3+2*X1^2*X3^2*Y2*Y3+2*X1^2*X2^2*Y2*Y3-2*X1^4*Y2*Y3-2*X3^2*Y1^3*Y3+2*X2^2*Y1^3*Y3+2*X2^2*X3^2*Y1*Y3
-2*X1^2*X3^2*Y1*Y3-2*X2^4*Y1*Y3+2*X1^2*X2^2*Y1*Y3+Y1^2*Y2^4-2*Y1^3*Y2^3+2*X3^2*Y1*Y2^3-2*X1^2*Y1*Y2^3+Y1^4*Y2^2-4*X3^2*Y1^2*Y2^2+2*X2^2*Y1^2*Y2^2+2*X1^2*
Y1^2*Y2^2+X3^4*Y2^2-2*X1^2*X3^2*Y2^2+X1^4*Y2^2+2*X3^2*Y1^3*Y2-2*X2^2*Y1^3*Y2-2*X3^4*Y1*Y2+2*X2^2*X3^2*Y1*Y2+2*X1^2*X3^2*Y1*Y2-2*X1^2*X2^2*Y1*Y2+X3^4*Y1^2-
2*X2^2*X3^2*Y1^2+X2^4*Y1^2
    • good
    • 0
この回答へのお礼

とても具体的にお答えいただき真にありがとうございます。
自分でも数式処理ソフト(mathcad)を使い計算してみましたら次のような結果が出ました。
p1(-16.196,3.1106,-1.645) p1"(12.084,-3.1188,-2.1720)
p2(-14.3675,1.8334,-1.965) p2"(14.0244,-3.6197,-2.004)
p3(-14.5124,3.7456,-1.392) p3"(13.8715,-1.7701,-1.606)
p1,p2,p3→pq(-21.683,-8.99,7.3651)
p1"p2"p3"→pq(エラー)

p1,p2,p3で求めたほうもcadで確かめたところ中心とは程遠いところでした。なぜでしょう???
まだやってはいませんがinfo22さんに教えていただいた方法でまたチャレンジしてみたいと思います。本当にありがとうございます。

お礼日時:2007/12/04 17:02

#2です。


大学4年の卒論や大学院の宗論に絡んだ研究をして見えるなら
MathematicaまたはMapleなどのどちらかの数式処理シフトのライセンスが導入されていて学生や院生は数式処理ソフトを無料で使えるようになっていると思います。指導教員に聞いてみると良いですね。

その類のソフトを使えば、文字定数を使った方程式の式を書いて解くコマンド(プログラム)を書けば、Xq,Yq,Zqを求めてくれます。同じ方程式でも、2次の3変数の2次連立方程式をそのまま解かせるのでなく、A#2に書いた(4),(5)式のように1次の式2つと2次の式1つにした方が効率的に計算してくれます。文字係数のため条件を正確に入れてやら無いと意味のない解が発生して計算不能に陥ったり、間違った結果が出たり、そのために式が長くなったりします。数値データなら、データの正負や実数、虚数が区別できますが、文字を沢山使った式では、その式が虚数になっているか、ルートの中が負になっているか、分母がゼロになっていて、無意味な計算になっているかどうかも分からないまま文字の計算はしてくれます。多数の文字の式なと人間サイドでも式を正しく認識しにくいという事があります。

>きれいにXq=x1y1x1,x2y2z2,x3y3z3の関数で表したかったのです。
rも含みますね。
とても手計算で出来るような式中の項数ではないですね。手で書いていたら何箇所(数10箇所?)以上の項の書き写しもれ、符号ミス、添え字ミス、などのミスが入るでしょう。

ぜひ、数式処理ソフトを使ってください。正しい結果が出てくるかどうかは、そのソフトを使う人の腕次第です。
結果が正しいか、どうかは、文字定数に具体的な数値を入れて、結果を三次元図に書いて確認した方がいいですね。数式処理ソフトは三次元グラフも描け、色々座標軸を回転させ見る方向を変えて三次元グラフで、実際に球を描いて確認して下さい。

Mathmatica:
http://www.wolfram.com/products/mathematica/newi …
http://www.hulinks.co.jp/software/mathematica/
Maple10/11:
http://www.cybernet.co.jp/maple/

その他のソフト
Maxima
http://www.mowmowmow.com/math/suusiki/index.htm
    • good
    • 0
この回答へのお礼

担当の院生に聞いてみたところmathcadという数式計算ソフトが
使えるそうです。さっそくやってみたいと思います。
ありがとうございます、結果が出たらお知らせします。

お礼日時:2007/12/04 17:05

(X1-Xq)^2+(Y1-Yq)^2+(Z1-Zq)^2=r^2


(X2-Xq)^2+(Y2-Yq)^2+(Z2-Zq)^2=r^2
(X3-Xq)^2+(Y3-Yq)^2+(Z3-Zq)^2=r^2

この連立方程式を解く、ということは理解していらっしゃいますか?
    • good
    • 0
この回答へのお礼

はい。わかって入るのですが式がやたらと長くなり
まとまらずに、終いには解が導き出せません。
私、出来が悪いんですね。

お礼日時:2007/12/04 00:08

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