您可以使用
(dx ** 2 + dy ** 2 + dz ** 2) ** 0.5
用于计算距离:
def _dist(A, B, C):
dx = max(B[0] - A[0], 0, A[0] - C[0])
dy = max(B[1] - A[1], 0, A[1] - C[1])
dz = max(B[2] - A[2], 0, A[2] - C[2])
return (dx ** 2 + dy ** 2 + dz ** 2) ** 0.5
def _dist_b(A, B, C):
dx = max(B[0] - A[0], 0, A[0] - C[0])
dy = max(B[1] - A[1], 0, A[1] - C[1])
dz = max(B[2] - A[2], 0, A[2] - C[2])
return (dx, dy, dz)
print(_dist((8, 12, 16), (-4, -4, -4), (4, 4, 4)))
print(_dist_b((8, 12, 16), (-4, -4, -4), (4, 4, 4)))
打印
14.966629547095765
(4, 8, 12)