我有一个绘制图案的程序(更具体地说是一个螺旋计)。经过一段时间后,它将不可避免地开始重演。我需要一种方法来检测何时发生。
有几种方法可以解决这个问题。
哪种方法最好?
答案 0 :(得分:1)
方法一出局,随着研究的开展,tkinter画布没有直接的方法来确定它们上给定像素的颜色。方法2将非常复杂,超出我的能力。方法3是不切实际的,因为正常模式经常自相交。但方法4对我有用。以下是我的表现方式:
#Detection of whether pattern is repeating itself
if point2 not in previousPositions:
previousPositions.append(point2)
inarow = 0
else:
inarow += 1
if inarow > 5:
print "Pattern is detected to be repeating itself"
run = 0
这是一个循环,将run
设置为零会停止循环。只要5个新点与先前绘制的点相匹配,就可以成功停止绘制图案
在图表结束之前,某些模式最终可能会有与其他点匹配的点。不太可能发生这种情况超过5次。为此,grapher必须以不同的顺序在相同的点上以不同的方向移动。这可以通过计算出现的点的顺序来解决。但是,重复发生这种情况极不可能,而且我无法找到导致此问题的模式。