乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 38|回复: 2

求助:空间中的两条直线的最近点

[复制链接]
cqy

22

主题

73

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
161
发表于 2007-10-19 14:08:00 | 显示全部楼层 |阅读模式
空间中的两条直线pt1.pt2和pt3.pt4交叉而不相交,如何求出直线上与另一直线最近的点?
回复

使用道具 举报

17

主题

68

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
136
发表于 2007-10-21 18:01:00 | 显示全部楼层
给出一个思路
设2直线的矢量分别为
  v1=pt1 - pt2
  v2=pt3 - pt4
1. 由v1和v2决定的平面法线
   vn = v1 x v2    (外积)
2. 过v1且法线vn的平面方程为
  vn(1)(x-pt1(1))+ vn(2)(y-pt1(2))+ vn(3)(z-pt1(3))=0
整理后
  vn(1) x + vn(2) y + vn (3) z - ( vn(1) pt1(1)+ vn(2) pt1(2)+ vn(3) pt1(3 ) ) =0

3. v1与v2不相交的话,v2必不在上面的平面内
v2的端点在上面的平面上的投影点分别为
  pt3  --> w1
  pt4  --> w2
【点在平面上的投影点的求法:
设点P(P1,P2,P3) 在
                平面 Ax + By + Cz + D = 0 上的投影点Q(Q1,Q2,Q3)的求法.
设PQ的距离为t , 直线PQ与平面的法线N(A,B,C)平行,所以,
Q=P + t N
即 Q1 = P1 + At
   Q2 = P2 + Bt
   Q3 = P3 + Ct
由于Q在平面上,所以,
   A P1 + A2t + B P2 + B2t + C P3 + C2t + D = 0
整理得
   t = - (A P1 + B P2 + C P3 + D) / (A2 + B2 + C2)
因此, 投影点Q的成分为
   Q1 = P1 - A (A P1 + B P2 + C P3 + D) / (A2 + B2 + C2)
   Q2 = P2 - B (A P1 + B P2 + C P3 + D) / (A2 + B2 + C2)
   Q3 = P3 - C (A P1 + B P2 + C P3 + D) / (A2 + B2 + C2)


4.结论:
  这样就可以求出v1(pt1,pt2)与v2在上面的平面上的投影线(w1,w2)的交点G, 过G点做直线v2的垂足H (求法在本论坛公布过), 则线段GH的长度就是所要求的距离;如果没有交点, 说明v1和v2是平行直线, 则过直线v1上任意一点P, 做v2的垂足Q, 则线段PQ的长度就是所要求的距离.
回复

使用道具 举报

cqy

22

主题

73

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
161
发表于 2007-10-23 13:34:00 | 显示全部楼层
多谢Jkbanana师傅的指点,目前对于法面等理解有限,路比较远,想到土的办法:在其中一条线上分割成若干个点,比较各点与另一条线的垂线长度,取最短的,依此类推,经若干次运算得出一结论,不知行不行?
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-6 07:48 , Processed in 0.858976 second(s), 69 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表