如何计算二维矩阵中两个点之间的距离

问题描述 投票:1回答:4

我既不是该网站的新手,也不是C的新手。我需要一个程序来查找所有点的平均“跳跃”。

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9nQmduTS5wbmcifQ==” alt =“在此处输入图像描述”>

想法是这样的:找到从1到2、1到3、1到4 ... 1到9的“跳跃”距离,或找到2到1、2到3、2到4 2到5等。 >

在第一行上做它们很简单,只需(2-1)或(3-1),您就会获得正确的数字。但是,如果我想找到1到4或1到8之间的距离,那么我绝对不知道。矩阵的尺寸应该可能会发生变化。但是我只需要3x3矩阵的帮助。

任何人都可以告诉我如何找到它?

跳转是指从一个点到另一个点的垂直或水平移动。从1到2 = 1,从1到9 = 4(仅最短路径)

我既不是该网站的新手,也不是C的新手。我需要一个程序来查找所有点的平均“跳跃”。这个想法是这样的:找到从1到2、1到3、1到4 ... 1到9或...

c matrix distance
4个回答
2
投票

“ jump-distance”的定义是什么?


5
投票

对这类问题的“距离”的定义总是很棘手。


3
投票

让我们定义“跳跃”距离:“从点A [A x


0
投票

有两种方法计算跳跃距离。1)当只允许水平和垂直移动时,在这种情况下,您要做的就是在两点之间形成一个矩形并计算两个相邻边的长度。就像您要从1移到9一样,​​然后先从1移到3再从3移到9。(将其转换为代码)2)当允许在所有八个方向上移动时,事情就会变得棘手。假设您想从1移到6。您需要做的是从1到5,然后从5到6。在代码中这样做的方式是找到x和y坐标之差之间的最大值。在此示例中,在x坐标中,差为2(3-1),在y坐标中,差为1(2-1)。因此,最大值为2。这就是答案。 (转换为代码)

© www.soinside.com 2019 - 2024. All rights reserved.