寻路算法java:用JAVA写的一个寻路算法来源: 发布时间:星期三, 2008年12月10日 浏览:119次 评论:0
在我了解到“寻路算法”这一说法后,明白A与A*算法前,曾经自己认真思考过,最后在梦里得到了一种寻路算法。基于几何的。 下面是图。 ●Start A********B C******D E*****F ●END 假如从Start出发要去End,最短路线应该是Start到End的线段。于是联结两点。 然后在中间遇到障碍物AB。这个时候线段被阻隔。于是向两方向旋转直到Start-A,Start-B。此时再向外旋转则与障碍脱离,(也就是说此时Start出发的两条射线与AB相切),记录Start-A,Start-B。 递归该方法,得Start-A-C-End,Start-A-D-End,Start-B-E-End,Start-B-F-End。 逆向判断是否可以省略中间某些点,使得路程更近。这样Start-A-C-End变成Start-C-End。 将得到的所有路径对比得到最短路径。 按照这个方法,加以少量修改,可以实现最短路径的寻路方法,完全不同于A*方法。 另外还考虑过目标点不可到达的情况。如: | S ***|*** * | * * E * * | * ***|*** | 也可实现。即:用S-E将障碍物分割成左右(顺逆时针旋转)两部分。一旦左方向旋转得到的点到达了S-E直线所分割的障碍物的右侧,则该路线被剪枝。 不知道是否有高手知道,有没有类似的方法。希望大家给个评价。 0
相关文章读者评论发表评论 |