您如何在图形搜索类中构建图形/节点?我基本上是在创建一个 NavMesh,需要生成从 1 个多边形到另一个多边形的节点。连接两个多边形的边将是节点。
然后我将在这些节点上运行 A* 来计算最短路径。我只需要知道如何构建我的类及其属性?
我确信我不需要用节点和边创建一个完全成熟的无向图。
您如何在图形搜索类中构建图形/节点?我基本上是在创建一个 NavMesh,需要生成从 1 个多边形到另一个多边形的节点。连接两个多边形的边将是节点。
然后我将在这些节点上运行 A* 来计算最短路径。我只需要知道如何构建我的类及其属性?
我确信我不需要用节点和边创建一个完全成熟的无向图。
在 Eric Lippert 的博客上查看这个关于 A* 算法的系列。他解释了,除其他外,你需要什么数据结构
A* 所需要的只是能够获取一个节点并从中有效地提取其相邻节点的列表。如果您已经有一些数据结构来跟踪多边形中的边,那么这似乎很简单;只需编写一个函数,通过从现有数据结构中提取该数据来获取Edge
并返回。IEnumerable<Edge>