我在3D中有2个点,有x,y和z坐标。 如何计算连接它们的边缘的大小?
这会有用吗?
abs( np.linalg.norm(p1) - np.linalg.norm(p2) )
其中p1和p2是列表:
[x-coord, y-coord, z-coord]
答案 0 :(得分:2)
不,你想要两点之间的向量范数,即
>>> p1 = np.array([1,2,3])
>>> p2 = np.array([10, -3, 4])
>>> np.linalg.norm(p1-p2)
10.344080432788601
(它们需要是元素减法的数组才这么简单。)或者,手动:
>>> sum((i-j)**2 for i,j in zip(p1, p2))**0.5
10.344080432788601
abs( np.linalg.norm(p1) - np.linalg.norm(p2) )
计算的内容更像是从(0,0,0)
到p1
和(0,0,0)
到p2
的矢量长度之间的差异。