k****n 发帖数: 17 | 1 在三维空间中,有三点A(Xa,Ya,Za),B(Xb,Yb,Zb),C(Xc,Yc,Zc),PQ 与 A,B,C 在同一个
平面上且垂直于AB,PB,QB 的长度是 m,怎末从(Xa,Ya,Za,Xb,Yb,Zb,Xc,Yc,Zc,m)计算
得到 P and Q 的坐标?
如附图。 | s**b 发帖数: 169 | 2 what does p q in the same plane with a b c mean?
【在 k****n 的大作中提到】 : 在三维空间中,有三点A(Xa,Ya,Za),B(Xb,Yb,Zb),C(Xc,Yc,Zc),PQ 与 A,B,C 在同一个 : 平面上且垂直于AB,PB,QB 的长度是 m,怎末从(Xa,Ya,Za,Xb,Yb,Zb,Xc,Yc,Zc,m)计算 : 得到 P and Q 的坐标? : 如附图。
| k****n 发帖数: 17 | 3 Points A,B,C form a plane, and P, Q are points in this plane.
【在 s**b 的大作中提到】 : what does p q in the same plane with a b c mean?
| d****i 发帖数: 123 | 4 then why do you need point C
【在 k****n 的大作中提到】 : Points A,B,C form a plane, and P, Q are points in this plane.
| d****i 发帖数: 123 | 5 sorry you do need it. it's a 2D problem, should be simple
【在 k****n 的大作中提到】 : Points A,B,C form a plane, and P, Q are points in this plane.
| g***e 发帖数: 4074 | 6 首先要写出该平面的一般表达式
(X-X0)+l(Y-Y0)+n(Z-Z0)=0 (1)平面方程
从ABC三点都在该平面得
Xa + l Ya + n Za = Xb + l Yb + n Zb = Xc + l Yc + n Zc 可以得到l 和n的值,这
样得到该平面。
另外,
(Xp - Xb)^2+ (Yp - Yb)^2 + (Zp - Zb)^2 = m^2 (2)球面方程
这样得到一个在该平面内以B为圆心m为半径的圆。
最后考虑PQ垂直AB,勾股一下
(Xp - Xb)^2+ (Yp - Yb)^2 + (Zp - Zb)^2 +(Xa - Xb)^2+ (Ya - Yb)^2 + (Za - Zb)
^2 = (Xp - Xa)^2+ (Yp - Ya)^2 + (Zp - Za)^2 (3)
从以上三个方程可以解出两个点,即为P和Q。
其实(3)可以通过(2)简化为
m^2 = (Xp - Xa)^2+ (Yp - Ya)^2 + (Zp - Za)^2 - (Xa - Xb)^2 - (Ya - Yb)^2 - (
Za - Zb)^ | g***e 发帖数: 4074 | 7 还有一个办法是通过坐标系的线性转化变成平面问题来做
X, Y, Z --> X', Y', Z'
最后再从X', Y', Z'转换回X, Y, Z坐标系。
X'=a1X+b1Y+c1Z
Y'=a2X+b2Y+c2Z
Z'=a3X+b3Y+c3Z
令
B'(Xb',Yb',Zb')=(0,0,0)
A'(Xa',Ya',Za')=(AB,0,0)
C'(Xc',Yc',Zc')=(BCcos
得出转换矩阵,后面的就容易了。
不过这个方法在算式上还是比较繁琐。 | S*********g 发帖数: 5298 | 8 先做个平移,B=(0,0,0) A=(A1,A2,A3), C=(C1,C2,C3)
把垂直于ABC平面的方向算出来 z=(z1,z2,1)
z.A=0, z.C=0
再求P=(p1,p2,p3)
P.z=0
P.A=0
P.P=m^2
得出两个解
【在 g***e 的大作中提到】 : 还有一个办法是通过坐标系的线性转化变成平面问题来做 : X, Y, Z --> X', Y', Z' : 最后再从X', Y', Z'转换回X, Y, Z坐标系。 : X'=a1X+b1Y+c1Z : Y'=a2X+b2Y+c2Z : Z'=a3X+b3Y+c3Z : 令 : B'(Xb',Yb',Zb')=(0,0,0) : A'(Xa',Ya',Za')=(AB,0,0) : C'(Xc',Yc',Zc')=(BCcos
| k****n 发帖数: 17 | |
|