我正在尝试实现一个泛洪填充区域的算法,该特定算法在以下Wikipedia文档的“固定内存方法(右手填充方法)”标题下给出。左右转弯发生的算法的具体部分如下所示......
START:
set count to number of non-diagonally adjacent pixels filled (front/back/left/right ONLY)
if count is not 4
do
turn right
while front-pixel is empty
do
turn left
while front-pixel is filled
end if
该陈述明确指出向右转或向左转而不向右移动或向左移动。令我感到困惑的是,(x,y)坐标处的像素如何转向其左边的右边?
答案 0 :(得分:2)
让我们说前锋最初意味着“向上”。向右转是改变前进的意义 - 现在它意味着“正确”。再向右转,向前“向下”。
答案 1 :(得分:1)
你基本上可以把你的“像素”想象成一只虫/蚂蚁/恐龙/金麒麟。因此,不仅有一个位置,还有一个方向,它面向(方向)。因此,如果你的像素查找,那么命令turn right
会告诉它向右看。 move forward
表示将一个像素向右移动。
如果您将像素告诉turn right
4次,它将与之前的方向相同。 3x turn right
与1x turn left
相同。