如何在3D中找到从附近的点到直线的截点的坐标?

时间:2019-04-10 10:52:38

标签: python

我在一条线上有两个点,例如X1(x1,y1,z1)和X2(x2,y2,z2),并且在这条线附近有一个外部点X(x0,y0,z0)。我想编写一个Python代码,该代码将向我返回X1X2线上的点D(x,y,z)的坐标,以使XD线垂直于X1X2(投影)。这个问题与先前在here讨论的问题很接近。我正在寻找 3D 坐标的python工作脚本。 谢谢

1 个答案:

答案 0 :(得分:0)

感谢MedAli的建议。我得到以下解决方案:

    """ Calculates coordinates of projection point of a P0
    point on the line is the line(p1,p2) """
    p = np.array(p0)
    a = np.array(p1)
    b = np.array(p2)
    ap = p - a
    ab = b - a

    proPoint = a + np.dot(ap, ab)/np.dot(ab,ab) * ab
    return proPoint