Учитывая p(0,0), как мне получить points{(0,1),(1,1),(1,0),(1,-1),(0,-1),(-1,-1),(-1,0),(-1,1)}, которые являются точками периметра относительно смещения p на 1.
p(0,0)
points{(0,1),(1,1),(1,0),(1,-1),(0,-1),(-1,-1),(-1,0),(-1,1)}
for(x = p.x -1; x <= p.x + 1; x++) { for(y = p.y -1; y <= p.y + 1; y++) { // Do some stuff with each p } }
Общий код здесь. Измените язык программирования и способ хранения точек.