我必须得到2D中两点之间的(最短)/(最佳)距离.我必须避免可能连接在一起的线条形状.关于如何表示我可以旅行的节点的任何建议?我曾想过制作一个网格,但这听起来不太准确或优雅.如果一条线的任何一点在一个正方形内(节点是正方形的中心),我会认为一个节点是不可行的.

一个例子是从A点到B点.
网格是推荐的解决方法吗?非常感谢!
我认为这实际上是Larsmans的回答做了更多的算法:
图的节点是障碍顶点.每个内部顶点实际上代表两个节点:凹面和凸面.
如果在障碍物中有"T"交汇点之类的东西,你必须做额外的预处理工作,我不会惊讶地发现它在许多情况下会中断.您可以通过仅考虑位于当前节点和目标之间的连接组件的顶点来使事情变得更快.
所以在你的例子中,在第一次尝试A,B之后,你会推A,8,A,5,A,1,A,11和A,2.考虑的第一个节点是A,8,A,1,和A,5,但他们不能出去,他们可以到达的节点已经与较短的累积距离推队列. 将考虑A,2和A,11,事情将从那里开始.
