algorithm - 网格中两点之间的最短路径(Matlab)

标签 algorithm matlab shortest-path

我试图在没有障碍物的网格中找到两点之间的最短路径并向所有方向移动 (N NE E ES S SW W WN)。

这似乎是一项常见的任务......这不是已经在 Matlab 中实现了吗?当 Matlab 绘制由一条线连接的两个点时 ( plot(X,Y,'-') ) 似乎在内部进行此计算,因为我猜生成的图像也是一个网格。

例子:从[1,1]到[3,6]一个解是[1,1; 2,2; 2,3; 2,4; 3,5; 3,6]

我试过:

    dist_x = length(linspace(p1(1),p2(1), dist(p1(1),p2(1))+1));
    dist_y = length(linspace(p1(2),p2(2), dist(p1(2),p2(2))+1));
    num_points = max(dist_x, dist_y);
    x = round(linspace(p1(1),p2(1),num_points));
    y = round(linspace(p1(2),p2(2),num_points));

但我认为它返回的点数超过了它应该返回的点数,也许有一个已实现的例程。

非常感谢

最佳答案

解决方案(由 J.F. Sebastian 提供)是 Bresenham Line Algorithm .

关于algorithm - 网格中两点之间的最短路径(Matlab),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8138438/

相关文章:

java - 为什么 Collections.sort() 针对 LinkedList 进行了优化,而没有针对 ArrayList 进行优化?

具有约束、BFS 或 DFS 的最短路径算法

matlab - 使用 MATLAB 调用 Octave 模型

matlab - 是否有 MATLAB 的错误条图的替代品允许刷数据?

algorithm - 如何用行和列分布的矩阵填充矩阵

algorithm - 最近谷歌面试谜题关于位运算

algorithm - 最近对算法

python - 计算网格上两点之间恰好有 `n` 个节点的最短路径

python-3.x - python中多个AGV的最短路径算法

algorithm - 无向循环图中的最短路径