Я понимаю, как создать простую сетку, подобную этой:
low1 = -1; high1 = 1;
n_p = 20
range1 = np.linspace(low1, high1,n_p/2, endpoint=False)
X = np.dstack(np.meshgrid(range1, range1)).reshape(-1, 2)

Но как лучше создать сетку, как на картинке ниже?

Сейчас я просто строю 8 прямоугольников и складываю их. Как лучше это сделать?