Python计算两点之间的欧式距离

本文将使用Python来实现计算出二维和多维空间中两个点之间的欧式距离;

二维空间两点之间的距离

二维空间两点之间距离公式:

二维空间两点距离公式

实现代码:

import math

def euclideanDistance(p1,p2):
    return math.sqrt(((p1[0]-p2[0])**2)+((p1[1]-p2[1])**2) )


p1 = [-3, 1]
p2 = [4, 6]

print(euclideanDistance(p1,p2))

输出:

8.602325267042627

多维空间两点之间的距离

多维空间两点之间的距离公式:

多维空间两点距离公式

计算三维空间两点之间距离代码:

import math

def euclideanDistance(instance1,instance2,dimension):
    distance = 0
    for i in range(dimension):
        distance += (instance1[i] - instance2[i])**2

    return math.sqrt(distance)

print(euclideanDistance([-3,1,4],[4,6,-2],3))

输出:

10.488088481701515

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/calculates-the-euclidean-distance-between-two-points.html

分类: 计算机技术
推荐阅读:
配置Nginx实现简单的反盗链 本文通过Nginx的配置指令valid_referers来实现简单的图片和其它类型文件的防盗链。
Rust入门示例教程 该教程是一个可运行示例的集合,这些示例说明了各种Rust概念和标准库;如果你不喜欢阅读大量的文档来学习编程语言,那么该示例教程就很适合你,它不仅覆盖了你要学习的知识,而且有很多的篇幅来解释代码;
Python 使用tld库获取复杂URL的顶级域名 我们会碰到各种各样的URL链接,比如:www.a.com/ b.com.cn/ a.b.c.com.cn a.com/b.com Python有内置的库可以识别一些简单的URL,但是像a.b.c.com.cn这样却无能为力。我们需要一个强大的第三方库来实现提取顶级域名。
Implementation of the USB 2.0 controller not found!解决方案 你可能在使用VirtualBox启动虚拟机系统时碰到“不能为虚拟电脑打开一个新的任务”的错误提示,并提示 Implementation of the USB 2.0 controller not found!
Python实现线性搜索(linear search) 线性搜索(linear search)通过从第一个元素开始遍历,与列表中的每个元素进行比较,直到匹配到元素或全部匹配完毕为止;
Rust语言中获取数组的大小 Rust语言中,数组提供len()方法可获取数组中的元素数量,即数组的大小;