我怎么知道一条路是否像另一条路?

2024-05-12 22:24:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经编写了一些代码来生成从一个点向外具有给定长度的所有路径:

def pathFinder(depth, vertex, path, area, results):
    if depth == 0:
        results.append(path)
        return

    for u in [vertex + off for off in offsets if vertex + off not in [x for x in path] and (vertex + off).within(*area)]:
        path.append(u)
        pathFinder(depth-1, u, list(path), area, results)
        path.pop()

这会产生一系列的路径,其中许多路径是相似的。例如,这两条路径(长度4)形状相同,但方向不同:

a pathanother path

我想看看两条给定的路径,确定它们是否“相同”。 现在这些路径可以偏移、旋转、镜像或向后。我怎么知道一条路和前面描述的另一条路是一样的?我对图论的知识有限,但我打赌有一些巧妙的图论技巧可以解决这个问题


Tags: path代码in路径forifdefarea