作者gtguy ( )
看板puzzle
标题[问题] 数学问题...三球交会....
时间Mon Feb 24 21:09:43 2014
如果说已知三维空间的三个点位
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
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.230.215.63
1F:推 isnoneval:两球交於一圆, 但你可以先只管该圆所在的平面 02/25 00:37
2F:→ isnoneval:拿两个平面求出一线, 再代入一球就有了 02/25 00:38
3F:→ isnoneval:或者直接考虑四个点形成的四面体, 因为六个边长你都有 02/25 00:39
4F:→ gtguy:嗯....所以怎麽算呢? 02/25 08:11
5F:→ killyou:(2)-(3)得第三平面,跟(4),(5)用Cramer's rule? 02/25 08:58
6F:→ killyou:不行..还是共线..用线去代 02/25 09:02
7F:推 allen65535:一楼的方法不难算,但你硬要用这些参数去把答案表示出 02/25 10:45
8F:→ allen65535:来,他的项就是这麽多这麽复杂啊 02/25 10:45