數學問題...三球交會.... - 拼圖

Table of Contents

如果說已知三維空間的三個點位
A(Xa,Ya,Za)
B(Xb,Yb,Zb)
C(Xc,Yc,Zc)

又知道DA、DB、DC三個斜距,想要解出D點的位置。

距離 DA=SQRT((Xa-X)^2+(Ya-Y)^2+(Za-Z)^2)
同理 DB=SQRT((Xb-X)^2+(Yb-Y)^2+(Zb-Z)^2)
同理 DC=SQRT((Xc-X)^2+(Yc-Y)^2+(Zc-Z)^2)

上三式展開後
DA^2=Xa^2-2XaX+X^2+Ya^2-2YaY+Y^2+Za^2-2ZaZ+Z^2 1式
DB^2=Xb^2-2XbX+X^2+Yb^2-2YbY+Y^2+Zb^2-2ZbZ+Z^2 2式
DC^2=Xa^2-2XcX+X^2+Yc^2-2YcY+Y^2+Zc^2-2ZcZ+Z^2 3式

1式-2式
DA^2-DB^2 = Xa^2-2XaX+X^2+Ya^2-2YaY+Y^2+Za^2-2ZaZ+Z^2
-Xb^2+2XbX-X^2-Yb^2+2YbY-Y^2-Zb^2+2ZbZ-Z^2

已知值放左側整理後

(DA^2-DB^2-Xa^2-Ya^2-Za^2+Xb^2+Yb^2+Zb^2)/2=X(Xb-Xa)+Y(Yb-Ya)+Z(Zb-Za) 4式

同理1式-3式
(DA^2-DC^2-Xa^2-Ya^2-Za^2+Xc^2+Yc^2+Zc^2)/2=X(Xc-Xa)+Y(Yc-Ya)+Z(Zc-Za) 5式

4式整理成Z=f(X,Y)
Z=(((DA^2-DB^2-Xa^2-Ya^2-Za^2+Xb^2+Yb^2+Zb^2)/2)-X(Xb-Xa)-Y(Yb-Ya))/(Zb-Za) 6式

同理5式
Z=(((DA^2-DC^2-Xa^2-Ya^2-Za^2+Xc^2+Yc^2+Zc^2)/2)-X(Xc-Xa)-Y(Yc-Ya))/(Zc-Za) 7式

6式-7式 可消去未知數Z

然後再整理成 Y=f(X) 8式
代回6或7式即可得到Z=f(X)

照上述感覺好像可以解出來,但是項次真的太多了....好難...
不知道有沒有其他方法(例如用矩陣)可以用乾淨一點的算式得出X、Y、Z到底等於多少

直覺答案會有兩個(兩個球的交集成一個圓,圓跟第三個球會交成兩個點)
另一個想法是三點購成的平面,解在法向量上正跟負各有一解....但不會列式...


請教高人協助!


--

如果PO在這不符板規請告知,將立刻自行刪文,感謝Orz

--

All Comments

Sierra Rose avatarSierra Rose2014-02-27
兩球交於一圓, 但你可以先只管該圓所在的平面
Thomas avatarThomas2014-03-04
拿兩個平面求出一線, 再代入一球就有了
Suhail Hany avatarSuhail Hany2014-03-06
或者直接考慮四個點形成的四面體, 因為六個邊長你都有
Freda avatarFreda2014-03-08
嗯....所以怎麼算呢?
Ophelia avatarOphelia2014-03-09
(2)-(3)得第三平面,跟(4),(5)用Cramer's rule?
Elvira avatarElvira2014-03-14
不行..還是共線..用線去代
Doris avatarDoris2014-03-15
一樓的方法不難算,但你硬要用這些參數去把答案表示出
來,他的項就是這麼多這麼複雜啊