質問<1107>2003/2/7
from=睡眠不足
「3つの球の交差する座標」


3次元座標において3つの球の球面上の点が交差する
座標(x,y,z)を求める。
球1中心座標(x1,y1,z1)半径R1
球2中心座標(x2,y2,z2)半径R2
球3中心座標(x3,y3,z3)半径R3
ちなみに球の方程式は以下になります。
(x-x1)X(x-x1)+(y-y1)X(y-y1)+(z-z1)X(z-z1)=R1XR1
(x-x2)X(x-x2)+(y-y2)X(y-y2)+(z-z2)X(z-z2)=R2XR2
(x-x3)X(x-x3)+(y-y3)X(y-y3)+(z-z3)X(z-z3)=R3XR3
結局、上の式を解く問題です。
よろしくお願いいたします。


お便り2003/2/24
from=phaos


一般形のまま書くと
とてつもなく難しいのでやり方だけ。
第一式から第二式を引く。
第二式から第三式を引く。
これで球1 と球2 の交わる円を含む平面 α と
球2 と球3 の交わる円を含む平面 β の式が得られる。

平面 α の式と平面 β の式を連立させて,
交線の方程式を求める。

交線の方程式を ( =t と置いて parameter 表示させて)
球1 の方程式に代入。
t について解いて t を求める。
交線の方程式の parameter 表示の式に代入して座標を求める。

三つの球が点を共有している場合には
この方法で必ず求まる。
勿論三つの球が点を共有していないということもありうるので
その場合には, 途中で変なことが起こる可能性がある。
(平面 α と平面 β が平行になるなど)