Python中边的大小

Python中边的大小,python,math,Python,Math,我有两个点在三维与x,y和z坐标。 如何计算连接它们的边的大小 这样行吗 abs( np.linalg.norm(p1) - np.linalg.norm(p2) ) 其中p1和p2为列表: [x-coord, y-coord, z-coord] 不,你需要两点之间向量的范数,即 >>> p1 = np.array([1,2,3]) >>> p2 = np.array([10, -3, 4]) >>> np.linalg.norm(p1-

我有两个点在三维与x,y和z坐标。 如何计算连接它们的边的大小

这样行吗

abs( np.linalg.norm(p1) - np.linalg.norm(p2) )
其中p1和p2为列表:

[x-coord, y-coord, z-coord]

不,你需要两点之间向量的范数,即

>>> 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
的向量长度之差