问题标签 [euclidean-distance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
2742 浏览

algorithm - 在 N 维空间中比较两组点的更快方法?

List1包含大量 (~7^10) 的 N 维点 (N <=10),List2包含相同或更少数量的 N 维点 (N <=10)。

我的任务是:对于 List1 中的每个点,我想检查 List2 中的哪个点最接近(欧几里德距离) List1 中的一个点,然后对其执行一些操作。我一直在做简单的嵌套循环方式,当我在 List1 中没有超过 50 个点时,但是有 7^10 个点,这显然会占用很多时间。

最快的方法是什么?计算几何中的任何概念可能会有所帮助?

编辑:我有以下内容,我已经从List2构建了一个 kd-tree ,然后现在我正在对List1中的每个点进行最近邻搜索。现在正如我最初指出的那样,List1有 7^10 个点,因此尽管我节省了每对的蛮力欧几里得距离方法,但List1中的大量点导致了大量的时间消耗。有什么办法可以改善吗?

0 投票
1 回答
3641 浏览

iphone - 使用 MKMapKit 查找两点之间的距离

我正在尝试使用 iPhone OS 3.2 查找 MKMapView 上两点之间的欧几里德距离(以米为单位)。问题是我有这些经纬度坐标,这在数学上为我提供了足够的数据来找到距离,但这需要一些棘手的三角学。有没有更简单的解决方案?

谢谢!

0 投票
1 回答
2173 浏览

java - 图像比较的欧几里得算法

我将开发一个用于在 java 上进行图像比较的应用程序。为此,我选择了欧几里得算法。此应用程序涉及 2 个图像。1. 实物图 2. 部分实物图。

算法应该将图像的一部分与实际图像进行比较。如果该部分存在于实际图像中,则应返回一个值作为匹配成功。

谁能给我算法步骤?java上的代码将不胜感激..!

0 投票
1 回答
1917 浏览

c++ - 彩色图像之间的相似度测量(OpenCV)

我正在使用一个 CBIR(基于内容的图像检索)项目,该项目将绘制图像的 RGB 直方图,并计算其他图像与查询图像之间的距离。

我正在使用 VS 2008 - MFC 和 OpenCV 库。我想用来计算距离的方法是欧几里得距离(ED),但不知何故我没能解决。

我找到了一个函数 - cvCalcEMD2() 可以帮助我计算两个直方图之间的距离。要使用此功能,我需要为我的直方图创建签名。

这是我找到的创建签名的示例

在 For 循环中,有一行我需要在直方图中传递:

浮动 bin_val = cvQueryHistValue_2D( hist1, h, s );

在我的直方图函数中没有变量 h_bins 和 s_bins

在我的程序中,我将直方图计算/绘制成 R、G 和 B。意思是,每张图像我都有 3 个直方图。例如:CvHistogram *hist_red、*hist_green、*hist_blue;

如何使用直方图创建签名?

*我的drawHistogram函数的链接在我下面的评论中

0 投票
4 回答
8471 浏览

matlab - 如何在 MATLAB 中创建相似矩阵?

我正在努力比较多个图像。我将这些图像数据作为称为“图像”的矩阵的列向量。我想通过首先计算它们的欧几里德距离来评估图像的相似性。然后我想创建一个矩阵,我可以在该矩阵上执行多个随机游走。现在,我的代码如下:

然而,我的矩阵 M 最终沿其主对角线的值为 1,而其他地方的值为 0。我期待每行的前几个元素的“大”值和列索引> 4的元素的“小”值。有人可以解释什么是错的吗?任何建议表示赞赏。

0 投票
5 回答
895 浏览

algorithm - 在给定欧式距离范围的情况下划分相邻点

给定两个点 P、Q 和一个 delta,我定义了等价关系 ~=,其中 P ~= Q if EuclideanDistance(P,Q)<= delta。现在,给定n个点的集合S,在示例中 S = (A, B, C, D, E, F) 和 n = 6(事实点实际上是线段的端点可以忽略不计),是否有一种算法可以在平均情况下,复杂性是否优于 O(n^2) 来找到集合的一个分区(子集的代表元素不重要)?

到目前为止,试图找到这个问题的理论定义是不成功的:k-means clustering、最近邻搜索和其他在我看来是不同的问题。图片显示了我需要在我的应用程序中执行的操作。

有什么提示吗?谢谢

替代文字

编辑:虽然实际问题(给定某种不变量的点附近的集群)在平均情况下应该比 O(n^2) 更好地解决,但我的问题定义存在严重缺陷:=~不是等价关系因为一个简单的事实,它不尊重传递性。我认为这是这个问题不容易解决并且需要先进技术的主要原因。将很快发布我的实际解决方案:当附近的点都满足定义的 =~ 时应该工作。当两极分开的点不尊重这种关系但它们与聚集点的重心有关时,可能会失败。它适用于我的输入数据空间,可能不适用于您的。有谁知道这个问题的完整正式解决方案(有解决方案)?

0 投票
5 回答
84135 浏览

python - 行向量矩阵之间的python numpy欧几里得距离计算

我是 Numpy 的新手,我想问你如何计算存储在向量中的点之间的欧式距离。

假设我们有一个 numpy.array,每一行都是一个向量和一个 numpy.array。我想知道是否可以计算所有点和这个单点之间的欧几里得距离并将它们存储在一个 numpy.array 中。

这是一个界面:

我们能有这样的东西吗?或者是否有可能有一个命令将单点作为其他点的列表,最后我们得到一个距离矩阵?

谢谢

0 投票
5 回答
4023 浏览

php - 使用经度和纬度查找彼此靠近的城市

我数据库中的每个用户都与一个城市相关联(带有经度和纬度)

我将如何找出哪些城市彼此靠近?

即在英国,剑桥离伦敦相当近。

所以如果我有一个住在剑桥的用户。靠近他们的用户将是居住在周边城市的用户,例如伦敦、赫特福德等。

有什么想法可以解决这个问题吗?而且,我将如何定义什么是接近的?即在英国关闭将比在美国更接近,因为美国更加分散。

想法和建议。另外,您知道提供此类功能的任何服务吗?

谢谢

0 投票
1 回答
2051 浏览

coordinate-systems - 在尊重 Asteroids 风格环绕的同时,如何计算笛卡尔空间中两点之间的距离?

我有两个点 (x 1 , y 1 ) 和 (x 2 ,y 2 ) 代表我空间中两个实体的位置。我使用毕达哥拉斯定理计算它们之间的欧几里得距离,一切都很好。但是,如果我的空间变得有限,我想在“环绕”地图接缝的点之间定义一个新的最短距离。例如,如果我有点 A(10, 10)和点 B (90,10),并且我的地图是 100 单位宽,我想计算 A 和 B 之间的距离为 20(在地图的右边缘之外并回到左边缘),而不是 80,这是正常的欧几里得距离。

我认为我的问题是我使用的坐标系不太适合我正在尝试做的事情,而且我的平面方形地图实际上更像是一个无缝的甜甜圈形状。任何关于如何实现这种性质的系统并从笛卡尔坐标来回转换的建议也将不胜感激!

0 投票
3 回答
4035 浏览

math - 使用给定距离的未知固定点的 3D 三边测量

我是这个论坛的新手,不是以英语为母语的人,所以请善待!:)

这是我目前面临的挑战:我想根据 2 点之间的一组给定距离计算 3D 欧几里得空间中未知点的(近似)相对坐标。在我的第一种方法中,我想忽略可能的多个解决方案,只是随机选择第一个。

例如:给定一组距离:(我认为它创建了一个以直角三角形为基础的金字塔)

P1-P2-距离

  • 1-2-30
  • 2-3-40
  • 1-3-50
  • 1-4-60
  • 2-4-60
  • 3-4-60

Step1: 现在,我如何计算这些点的相对坐标?
我认为第一个点是 0,0,0,所以第二个点是 30,0,0。
之后,可以通过找到从点 1 和 2 到点 3 的距离(分别为 50 和 40)的 2 个圆的交点来计算第三个点。我如何在数学上做到这一点?(尽管我用这些简单的数字来简单地表示我脑海中的情况)。此外,我不知道如何以正确的数学方式得到答案,第三点是 30,40,0(或 30,0,40,但我会忽略它)。
但获得第四点并不那么容易。我以为我必须使用 3 个球体来计算交叉点才能得到这一点,但我该怎么做呢?

Step2: 在我弄清楚如何计算这个“简单”示例之后,我想使用更多未知点......对于每个点,到另一个点的最小距离为 1 以将其“链接”到其他点。如果由于其自由度而无法计算坐标,我想忽略除我随机选择的一种可能性之外的所有可能性,但相对于已知距离。

Step3: 现在最后阶段应该是这样的:由于现实生活情况,每个测量的距离都有点不正确。因此,如果给定一对点的距离超过 1 个,则对距离进行平均。但由于距离不精确,在确定点的准确(相对)位置时可能会遇到困难。所以我想将不同的可能位置平均到“最佳”位置。

你能帮我一步一步完成我的挑战吗?