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