Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dong50252409/astar
A High-Performance A* Pathfinding Algorithm Implemented in Pure Erlang
https://github.com/dong50252409/astar
Last synced: about 1 month ago
JSON representation
A High-Performance A* Pathfinding Algorithm Implemented in Pure Erlang
- Host: GitHub
- URL: https://github.com/dong50252409/astar
- Owner: dong50252409
- License: apache-2.0
- Created: 2021-06-01T13:58:58.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-08-08T02:13:47.000Z (5 months ago)
- Last Synced: 2024-08-08T04:12:56.977Z (5 months ago)
- Language: Erlang
- Homepage:
- Size: 32.2 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
astar
=====高性能A星算法实现,使用pairs_heap优化Open列表,去掉原有Closed列表改为Visited记录已经开启坐标,并优化启发函数。
支持 4、6(六边形)、8 方向寻路,支持限制最大搜索深度
A High-Performance A* Pathfinding Algorithm Implemented in Pure Erlang
构建 Build
-----$ rebar3 compile
单元测试 Eunit
----$ rebar3 eunit
如何使用 How to use
-----1> StartGrid = {1, 1}.
2> EndGrid = {50, 50}.
2> BlockList = [{47,1},{24,2}, {2,25}, {20,31}, {20,21}, {50,20}, ...].
3> ValidFun = fun({X,Y}) -> not lists:member({X,Y}, BlockList) end.
4> Options = [],
5> {ok, Path} = astar:search(StartGrid, EndGrid, ValidFun, Options).