function grid(cfg) {
let {rows=5, cols=5, padx=5, pady=5, dx=50, dy=50, sx=0, sy=0} = cfg;
let elems = [];
for (let i=0; i<rows; i++)
for (let j=0; j<cols ; j++) {
let a = {};
a.row = i;
a.col = j;
a.x0 = j * (dx + padx) + sx;
a.y0 = i * (dy + pady) + sy;
a.xc = a.x0 + dx / 2;
a.yc = a.y0 + dy / 2;
a.x1 = a.x0 + dx;
a.y1 = a.y0 + dy;
a.dx = dx;
a.dy = dy;
elems[elems.length] = a;
}
return elems;
}