[问题] 数学问题...三球交会....

楼主: 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