1

我有一个大约 100-400 个点的数组,我想找到所有这些点的最短路径。是的,我知道这是一个典型的旅行推销员案例,但这里有一些可以简化它的东西:

大多数点与其他点相邻,因为它们形成透明背景图像的边缘。

所以我编写了一个简单的“探路者”,它选择一个点,然后寻找相邻的点来尝试在形状周围导航。它有效,但前提是图像足够简单。这是一个例子:

例子

如您所见,皮卡丘的轮廓被完美地计算为一条路径。然而,Raichu 具有一些完全无法适当连接的狭窄区域。这个算法也会在更复杂的精灵上失败,比如这个:
Shedinja http://static.pokefarm.org/_img/pkmn_m/292.png这两个部分甚至没有连接。在最好的情况下,我有两条路。

所以基本上,我需要知道如何更可靠地跟踪单个形状,以及如何通过它们最近的点将两条路径连接成一条路径。

4

0 回答 0