Advertisement

三维异面直线的距离与垂足求解

阅读量:

为了解决求解三维异面直线的距离及垂足的问题,在论文写作过程中遇到了相关挑战。网络资源参差不齐,在查找相关资料时发现诸多不便。于是将这一问题记了下来。或许对你也会有帮助。

本文参考自:求3维度空间异面直线的垂足点

在此基础上做了更详细的论述、扩展和python实现

题设:设存在两条直线L₁和L₂(分别)具有方向向量V₁和V₂,则计算这两条直线间的最短距离,并确定对应的垂足点。

直接求距离

计算两异面直线之间的最短距离也即其公垂线的长度

复制代码
    def distace_3d(p1, p2, q1, q2):
    # 叉乘方法计算三维异面直线距离
    
    # p1,p2为L1上的两个节点,q1,q2为L2上的两个节点
    v1 = np.array([p2[i] - p1[i] for i in range(len(p1))])
    v2 = np.array([q2[i] - q1[i] for i in range(len(q1))])
    
    # 叉乘公式:(a1,a2,a3) X (b1,b2,b3)=(a2b3-a3b2,a3b1-a1b3,a1b2-a2b1)
    chacheng = np.array([v1[1]*v2[2

全部评论 (0)

还没有任何评论哟~