[問題] 數學問題...三球交會....

作者: gtguy ( )   2014-02-24 21:09:43
如果說已知三維空間的三個點位
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到底等於多少
直覺答案會有兩個(兩個球的交集成一個圓,圓跟第三個球會交成兩個點)
另一個想法是三點購成的平面,解在法向量上正跟負各有一解....但不會列式...
請教高人協助!
作者: isnoneval (虛物之海)   2014-02-25 00:37:00
兩球交於一圓, 但你可以先只管該圓所在的平面拿兩個平面求出一線, 再代入一球就有了或者直接考慮四個點形成的四面體, 因為六個邊長你都有
作者: gtguy ( )   2014-02-25 08:11:00
嗯....所以怎麼算呢?
作者: killyou (xxx)   2014-02-25 08:58:00
(2)-(3)得第三平面,跟(4),(5)用Cramer's rule?不行..還是共線..用線去代
作者: allen65535 (劇情急轉直下)   2014-02-25 10:45:00
一樓的方法不難算,但你硬要用這些參數去把答案表示出來,他的項就是這麼多這麼複雜啊

Links booklink

Contact Us: admin [ a t ] ucptt.com