二维矩阵中两个单元格之间的距离
Distance between two cells in a 2D matrix
我有一个二维矩阵,表示为值的向量,一个索引表示第一个单元格,一对坐标表示第二个单元格。
vector<double> matrix;
auto index = 10;
auto x1 = index % width;
auto y1 = index / width;
auto x2 = ...
auto y2 = ...
我需要找到这两个小区之间的距离,其中,对于8个相邻小区中的第一个"环",距离等于1,对于第二个环,距离等于2,依此类推
有比欧几里得距离更快的方法吗?
您需要的是修改后的曼哈顿距离。我想你的用例可能有一个特定的名字,但我不知道。无论如何,我会这样做。
假设这两个点相距x
行,相距y
列。那么x+y
就是曼哈顿距离。但在你的情况下,对角线运动也是允许的。因此,如果你最初朝着这个点倾斜移动,你会覆盖x
和y
中较小的一个,而另一个还剩下一些。然后,您可以水平/垂直移动以覆盖剩余的距离。因此,根据您的度量,距离将为max(x,y)
。
给定点(x1,y1)
和(x2,y2)
,答案将是max(|x1-x2|,|y1-y2|)
相关文章:
- 如何使用发送数据包所花费的时间计算两个节点之间的距离?
- Levenshtein 两个文件的距离花费了太多时间
- 两个有符号数字之间的距离
- 计算两个迭代器之间的距离时"Vector Iterators Incompatible"
- 计算机如何分配两个变量,我们如何计算两个变量之间的距离?
- 具有单个函数的两个点的距离和坡度
- 是否有C 功能来计算两个索引之间的距离
- XYZ两个GLM :: MAT4矩阵的距离点对点
- C++:快速/并行计算两个"std::vector<double>"向量之间的L1距离
- 如何在C++中找到两个向量之间的最小(优化)距离
- 阵列C 中两个点函数之间的距离
- 使用指针和结构C 计算两个点之间的距离,分割故障问题
- 如何使用BFS查找两个节点之间的距离
- 计算包含高维向量的两个矩阵之间的最小欧氏距离的最快方法
- C++计算两个圆之间的距离
- 两个标准::列表之间的距离
- OpenCV Mahalanobis函数,用于计算两个图像之间的距离
- 树中两个节点之间的最小距离
- 如何保持图中两个节点之间的距离?C++
- 在三维空间的一组点中找出两个距离最远的点