PathFinding.js: 基于JavaScript的开源智能寻路算法库

2016-04-14·
js
6222 次浏览
在线演示: [http://qiao.github.io/PathFinding.js/visual/](http://qiao.github.io/PathFinding.js/visual/) 可以同时在Node.JS和浏览器中使用, 通过传入一个二维路径数组, 然后选择合适算法自动规划出最佳路径。 使用示例,定义一个地图: ``` var grid = new PF.Grid(5, 3); //0代表可走,1代表不可走 var matrix = [ [0, 0, 0, 1, 0], [1, 0, 0, 0, 1], [0, 0, 1, 0, 0], ]; var grid = new PF.Grid(5, 3, matrix); ``` 支持以下11种寻路算法 1. AStarFinder 2. _BreadthFirstFinder_ 3. BestFirstFinder 4. DijkstraFinder 5. _BiAStarFinder_ 6. _BiBestFirstFinder_ 7. _BiDijkstraFinder_ 8. BiBreadthFirstFinder 9. _JumpPointFinder_ 10. OrthogonalJumpPointFinder * 11. Trace 比如使用其中一种算法,并找到(1,2) 到 (4, 2)的最佳路径: var finder = new PF.AStarFinder(); var path = finder.findPath(1, 2, 4, 2, grid); 因此上文定义的的地图所返回的最佳路径为: ``` [ [ 1, 2 ], [ 1, 1 ], [ 2, 1 ], [ 3, 1 ], [ 3, 2 ], [ 4, 2 ] ] ``` 此软件基于MIT协议,更多用法请查看项目地址。 Github: [https://github.com/qiao/PathFinding.js](https://github.com/qiao/PathFinding.js)