Python中边的大小

2024-04-20 00:43:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个点在三维x,y,z坐标。 如何计算连接它们的边的大小?你知道吗

这样行吗?你知道吗

abs( np.linalg.norm(p1) - np.linalg.norm(p2) )

其中p1和p2是列表:

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

Tags: norm列表npabsp2p1coordlinalg
1条回答
网友
1楼 · 发布于 2024-04-20 00:43:46

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

>>> 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的向量长度之差。你知道吗

相关问题 更多 >