【问题标题】:2d path finding with multiple possible end points?具有多个可能端点的二维路径查找?
【发布时间】:2009-04-09 19:28:46
【问题描述】:

currently have another question 与 Java 中的路径查找有关。但是我觉得这是一个单独的问题。

我正在制作游戏。寻路需要能够处理多个可能的端点。我发现的所有寻路算法和教程都只有一个终点。

这种改动会很容易调整到已经存在的代码中,还是我最好尝试从头开始编写自己的代码?

【问题讨论】:

    标签: java path-finding endpoints


    【解决方案1】:

    如果您正在使用A*,但您的图表中有多个可以被视为目标的顶点,您可以估计到每个目标的距离,并使用最小值。只要您不高估到目标的真实距离,A* 就会起作用。

    但是,这种特殊行为可能会导致您编写自己的 A* 实现。代码不多;可能是 IIRC 大学生的一两天家庭作业。

    【讨论】:

    • 确实可以。 A* 基本上是一种改进的 Dijkstra 方法;它优化了常见的典型案例。如果 2 个目标与起点相反,可能会有点慢。你会快速进步到一个点,然后需要检查另一边的一大堆点。但这是不可避免的。
    【解决方案2】:

    我对游戏不太了解,但Floyd-Warshall 是一种多端点最短路径算法。

    【讨论】:

    • 有点矫枉过正;它会给你所有可能的配对。这是 N*(N-1) 个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多