当前位置:  软件>JavaScript软件

最短路径计算 A-STAR

    来源:    发布时间:2015-01-08

    本文导语:  A-STAR 寻找一种静态路网(本算法中为二维数组)中求解最短路径的解决办法 我们可以通过: var element = new Element(); 来创建二维数组的一个节点。 element自身包含了一些方法: element.setStatus(2);//设置节点的状态,当status>0,则该...

A-STAR 寻找一种静态路网(本算法中为二维数组)中求解最短路径的解决办法

我们可以通过: var element = new Element();

来创建二维数组的一个节点。

element自身包含了一些方法:

    element.setStatus(2);//设置节点的状态,当status>0,则该区域不可通过。
    element.getX();//获取节点在二维数组的横座标。
    element.getY();//获取节点在二维数组的纵座标。
    element.atLeft(target);//判断element是否在target的左边。
    其他方法见: element.js

下面我们初始化一个静态路网(二维数组)。

var row = col =20;
var elements = createElements(row, col, {
        afterCreate : function() {
            if (Math.random() * 10 > 9) {
                this.setStatus(3);  //设置一些节点的状态为3,即死节点
            }
        }
});
这样elements就是我们的静态路网。 createElements详见:createElements.js

获取两个节点之间的最短距离,startEl->endEl.

    var startEl = elements[1][1],endEl = elements[17][19];//假设这两个都是空节点
    var pathArray = getPath(startEl,endEl)[endEl];

pathArray则为startEl到endEl之间的有效节点数组。

demo: http://demo.qianshu.me/A-STAR/


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 最短路径算法实现 k-shortest-paths
  • C++短路求值(逻辑与、逻辑或)实例
  • Dijkstra最短路径算法实现代码
  • C#实现的最短路径分析
  • c++查询最短路径示例
  • 在SQL Server中实现最短路径搜索的解决方法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3