欧氏距离,计算某物是否在某物附近

问题描述

目前,我已经使用了一个框架,它具有一个名为distance2D的功能,并且它具有以下描述:   计算欧几里得距离   两点之间(考虑一个   点作为向量对象)。无视   向量的Z分量是   因此快一点。 这就是我的使用方式
if(g.getCenterPointGlobal().distance2D(target.getCenterPointGlobal()) > 1)
   System.out.println(\"Near\");
我完全不知道欧几里得距离是多少,我想它可以用来计算2点有多远?因为我正在尝试比较2个对象之间的距离,并且如果它们在一定范围内,则我想做点什么。我将如何使用呢?     

解决方法

        欧几里德距离是两点之间的距离,就好像您在使用标尺一样。我不知道欧几里得空间的尺寸是多少,但是要小心,因为您使用的函数仅考虑了前两个尺寸(x,y)。因此,如果您有一个3维(x,y,z)的空间,它将仅使用前两个(x,y,z)的x(y,z)来计算距离。这可能会给出错误的结果。 据我了解,如果要在两点在某个范围内时触发一些动作,则应执行以下操作:
<!-- language: lang-java -->
if(g.getCenterPointGlobal().distance2D(target.getCenterPointGlobal()) < RANGE)          
    System.out.println(\"Near\");
    ,        欧几里德距离的计算是沿着两点之间的一条直线,并以两条线与一个互补点之间的假想等腰三角形的斜边作为度量。此度量是标量,因此它是您计算的一个很好的度量。     ,        欧几里得几何是一个坐标系统,其中的空间是平坦的,而不是弯曲的。除非例如要处理映射到球体上的坐标(例如计算地球上两个位置之间的最短移动距离),否则无需关心非欧几里得几何。 我想这个函数将基本上使用毕达哥拉斯定理来计算两个物体之间的距离。但是,正如描述所言,它忽略了Z分量。换句话说,只有两个点具有相同的Z值(也称为\“ depth \”),它才会给出正确的答案。     ,        如果要比较距离并节省时间,请不要使用距离本身,而应使用其平方:(x1-x2)^ 2 +(y1-y2)^ 2。不要用sqrt。因此,您的距离将与欧洲大陆的距离完全一样,但是很快。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...