异面直线的公垂线公式

题目:已知两条异面直线AB、CD上两点坐标分别为A(Xa , Ya, Za)、B( Xb,Yb ,Zb )、C(Xc ,Yc ,Zc )、D(Xd ,Yd ,Zd )。推导直线AB与CD之间的公垂线在各自直线上的垂足坐标计算公式。
解题推导:

直线AB上的垂足M(Xm,Ym,Zm)	
直线CD上的垂足N(Xn,Yn,Zn)	
	
	
AM = t1*AB => (Xm-Xa,Ym-Ya,Zm-Za)=t1*(Xb-Xa,Yb-Ya,Zb-Za)
CN = t2*CD=>(Xn-Xc,Yn-Yc,Zn-Zc)=t2*(Xd-Xc,Yd-Yc,Zd-Zc)
	
	
M( t1(Xb-Xa)+Xa,t1(Yb-Ya)+Ya ,t1(Zb-Za)+Za )	
N( t2(Xd-Xc)+Xc , t2(Yd-Yc)+Yc , t2(Zd-Zc)+Zc )	
MN(t2(Xd-Xc)+Xc-t1(Xb-Xa)-Xa, t2(Yd-Yc)+Yc-t1(Yb-Ya)-Ya,t2(Zd-Zc)+Zc-t1(Zb-Za)-Za)

MN垂直于AB,MN垂直于CD

(Xb-Xa)[t2(Xd-Xc)+Xc-t1(Xb-Xa)-Xa]+(Yb-Ya)[t2(Yd-Yc)+Yc-t1(Yb-Ya)-Ya]+(Zb-Za)[t2(Zd-Zc)+Zc-t1(Zb-Za)-Za]=0

(Xd-Xc)[t2(Xd-Xc)+Xc-t1(Xb-Xa)-Xa]+(Yd-Yc)[t2(Yd-Yc)+Yc-t1(Yb-Ya)-Ya]+(Zd-Zc)[t2(Zd-Zc)+Zc-t1(Zb-Za)-Za]=0



t2[(Xb-Xa)*(Xd-Xc)+(Yb-Ya)*(Yd-Yc)+(Zb-Za)*(Zd-Zc)]-t1[(Xb-Xa)* (Xb-Xa)+(Yb-Ya)*(Yb-Ya)+(Zb-Za)*(Zb-Za)]+[(Xb-Xa)*(Xc-Xa)+(Yb-Ya)*(Yc-Ya)+(Zb-Za)*(Zc-Za)]=0

t2[(Xd-Xc)*(Xd-Xc)+(Yd-Yc)*(Yd-Yc)+(Zd-Zc)*(Zd-Zc)]-t1[(Xb-Xa)*(Xd-Xc)+(Yb-Ya)*(Yd-Yc)+(Zb-Za)*(Zd-Zc)]+[(Xd-Xc)*(Xc-Xa)+(Yd-Yd)*(Yc-Ya)+(Zd-Zc)*(Zc-Za)]=0


Assume:
F1(a,b)=[(Xb-Xa)*(Xb-Xa)+(Yb-Ya)*(Yb-Ya)+(Zb-Za)*(Zb-Za)]
F1(c,d)= [(Xd-Xc)*(Xd-Xc)+(Yd-Yc)*(Yd-Yc)+(Zd-Zc)*(Zd-Zc)]
F2()=[(Xb-Xa)*(Xd-Xc)+(Yb-Ya)*(Yd-Yc)+(Zb-Za)*(Zd-Zc)]
F3(a,b)=[(Xb-Xa)*(Xc-Xa)+(Yb-Ya)*(Yc-Ya)+(Zb-Za)*(Zc-Za)]
F3(c,d)=[(Xd-Xc)*(Xc-Xa)+(Yd-Yc)*(Yc-Ya)+(Zd-Zc)*(Zc-Za)]


Then:
t2*F2()-t1*F1(a,b)+F3(a,b)=0
t2*F1(c,d)-t1*F2()+F3(c,d)=0

t1=[F3(a,b)*F1(c,d)-F3(c,d)*F2()]/[F1(a,b)*F1(c,d)-F2()*F2()]
t2=[F3(c,d)*F1(a,b)-F2()*F3(a,b)]/[F2()*F2()-F1(a,b)*F1(c,d)]



M(Xm,Ym,Zm)
Xm=t1*(Xb-Xa)+Xa=(Xb-Xa)*[F3(a,b)*F1(c,d)-F3(c,d)*F2()]/[F1(a,b)*F1(c,d)-F2()*F2()]+Xa
Ym=t1*(Yb-Ya)+Ya=(Yb-Ya)*[F3(a,b)*F1(c,d)-F3(c,d)*F2()]/[F1(a,b)*F1(c,d)-F2()*F2()]+Ya
Zm=t1*(Zb-Za)+Za=(Zb-Za)*[F3(a,b)*F1(c,d)-F3(c,d)*F2()]/[F1(a,b)*F1(c,d)-F2()*F2()]+Za



N(Xn,Yn,Zn)
Xn=t2*(Xd-Xc)+Xc=(Xd-Xc)*[F3(c,d)*F1(a,b)-F3(a,b)*F2()]/[F2()*F2()-F1(a,b)*F1(c,d)]+Xc
Yn=t2*(Yd-Yc)+Yc=(Yd-Yc)*[F3(c,d)*F1(a,b)-F3(a,b)*F2()]/[F2()*F2()-F1(a,b)*F1(c,d)]+Yc
Zn=t2*(Zd-Zc)+Zc=(Zd-Zc)*[F3(c,d)*F1(a,b)-F3(a,b)*F2()]/[F2()*F2()-F1(a,b)*F1(c,d)]+Zc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值