早上好,
我目前正在从事一个寻路项目。基本上,我在我的应用程序上得到了这张 map :
所以我只想确定从 A 到 B 的最短路径(当然,我不能穿过基本上是墙壁的蓝色和灰色部分......)
A* 算法是一个好的开始方式吗? 好吧,如果您对这个问题有任何想法、任何建议,请告诉我^^
感谢您的帮助!
最佳答案
是的,A* 是一个好的开始,假设您的意思是只允许在网格上移动。我的意思是,像素上的代理只能向北、向东、向南、向西移动,而绝不会沿对角线移动。请注意,您将获得看起来相当不自然的路径,到处都是 90° 和 45° 角,但稍后可以使用一些适当的决胜局来缓解这种情况。
我建议您开始使用 Dijkstra,一旦您开始使用 Dijkstra,就可以修改它以实现 A* - 两种算法都非常接近。
<小时/>如果您打算允许代理从任何像素对角线行进到具有直接可见性的任何其他像素,那么不需要,需要其他算法。
关于java - Android - 在 map.png 上寻路,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44603336/