i would leave the center or starting point at (0, 0) and shift the origin with translate(canvas/2, canvas/2). If cell at (n, n) is positive add (n, n), (-n, n), (n, -n), (-n, -n) to the list or dict of active cells. hmmhmh not sure if that makes sense.
for x in range(cell_amount):
for y in range(cell_amount):
if (x, y): #check if cell is active here
grid[( x, y)] == 1
grid[(-x, y)] == 1
grid[( x, -y)] == 1
grid[(-x, -y)] == 1
hope that makes sense. good luck!