【发布时间】:2017-11-07 17:36:15
【问题描述】:
这是我整整一年以来一直在努力解决的问题。直到年底都没有成功。我必须向 stackoverflow 专家寻求帮助和具体的解决方案。
我的问题陈述:
我一直在研究一些设计模式,如果欧拉路径存在(如下图所示),我想以编程方式进行跟踪。以下是图案和我想要绘制它们的方式(gif)。
我想要实现的目标:
将设计模式图像作为输入。我想在一个笔画中跟踪设计模式图像,如 gif 中所示(gif 动画只是如何在一个笔画中绘制图案的示例)。一旦我以单笔方式(欧拉路径)获得图像的 x 和 y 坐标。我会将这些坐标提供给我的程序以跟踪这些坐标。
动画中的注意事项:
1) 基本上它是一个未被检测到的图形(节点是形状的顶点,如果存在边是 2 个顶点之间的笔划)。 (欧拉路径)
以下是我用来构建图案的 15 种独特形状:
我有超过 400 种模式(下面已经显示了 3 种模式),直到现在我无法找到一个通用的解决方案。 我已经手动获取了图案的 x y 坐标并按顺序放置。但这根本不是可扩展的。
如何跟踪模式使得每个节点只被访问一次?:
第一种图案及其绘制方式:
第二种图案及其绘制方式:
第三种图案及其绘制方式:
【问题讨论】:
-
1.您尝试过的代码在哪里? 2. 我们应该如何理解那些应该驱动你想要完成的任何事情的规则?这听起来像是一个谜,而不是一个可以回答的问题。
-
您基本上已经有一个未检测到的图形(节点是形状的顶点,如果存在边是两个顶点之间的笔划)。检查是否存在 eulerian path 就完成了
-
I'm not assuming ;) @zind
-
你可能会问:如何跟踪模式以使每个节点只被访问一次?
-
然后@Miki 关于欧拉路径的评论就成立了。选择任意一点,检查是否存在欧拉路径,如果存在则终止,如果不存在则选择另一个点并重复。
标签: opencv bioinformatics biopython