我正在寻找一种方法来生成以下数字序列(这是一个像素的 8 个邻居的相对坐标,从西北像素开始,以西结束)。第一个数字是 y 坐标,第二个数字是 x 坐标:
y, x
_____
1, -1 // N-W
1, 0 // N
1, 1 // N-E
0, 1 // E
-1, 1 // S-E
-1, 0 // S
-1, -1 // S-W
0, -1 // W
我可以想出几种丑陋的方法来实现这一点,例如将坐标放入数组中,但我想知道是否有一种我没有想到的干净有效的方法。
编辑:由于我试图实现的算法的设计方式,像素必须按特定顺序(NW 到 W)迭代。