grid = {
const q = .25;
const x0 = -q / 2, x1 = width + q;
const y0 = -q / 2, y1 = height + q;
const n = Math.ceil((x1 - x0) / q);
const m = Math.ceil((y1 - y0) / q);
const grid = new Array(n * m);
for (let j = 0; j < m; ++j) {
for (let i = 0; i < n; ++i) {
let ivalue = xscale.invert(i * q + x0)
let jvalue = yscale.invert(j * q + y0)
grid[j * n + i] = cart(jvalue,ivalue,polarfunction,radius);
}
}
grid.x = -q;
grid.y = -q;
grid.k = q;
grid.n = n;
grid.m = m;
return grid;
}