Tag: 路径寻找

2D航路点寻路:WP的组合从curLocation到targetLocation

请花点时间了解我的情况。 如果不可理解,请在评论中告诉我。 我有一个Waypoints的ArrayList。 这些航点不是任何顺序。 航点具有以下属性: {int type, float z, float y, float x, float rotation} 这适用于三维世界,但由于我的寻路不应该关心高度(因此将世界视为二维世界),因此忽略y值。 轮换对于这个问题并不重要。 在该二维世界中,x表示x轴,z表示y轴。 如果x增加,则世界中的物体向东移动。 如果x减小,则世界中的物体向西移动。 如果z增加,则世界中的物体向北移动。 如果z减小,则世界中的物体向南移动。 因此,这些“新”航路点可以简化为: waypoint = {float x, float y} 。 现在,这些航点表示物体的X轴(x)和Y轴(z)位置。 此外,还有一个当前位置: curLocation = {float x, float y}和目标位置: tarLocation = {float x, float y} 。 这就是我想要的: 在以下严格条件下从curLocation到tarLocation所有航路点组合(也称为:路径或路径) : 每个航路点之间的距离不得大于(float) maxInbetweenDistance 。 这包括从curLocation到第一个航点的初始距离以及从最后一个航点到tarLocation的距离。 如果不可能有这样的航点组合,则应返回null。 当在距离通往目标航点的航点的maxInbetweenDistance内找到多个航路点时,应选择最近的航点(如果距离稍远一点的替代航路maxInbetweenDistance导致距离maxInbetweenDistance的新航路点也更好回)。 返回航路点组合(路径)的顺序应该是从最短路径(最小距离)到最长路线(最大距离) […]

Java中A Star(A *)算法的实现

免责声明:我没有Java背景,因为我主要是C#开发人员。 想拥有java实现的A *算法。 是的,我在网上看到了很多相同的版本,我无法在它们之间做出选择。 我正在寻找一个A *算法实现,它使用java的所有新function,使算法更快(即使有点)。 原因是我们正在实施MMO上的路径寻找,因此,性能是首要任务。 任何指针(至少在哪里看)?