spheres = {
const meshes = [];
const du = Math.PI / 20;
const dv = Math.PI / 20;
d3.range(0, 2*Math.PI, du).forEach(u => {
d3.range(-Math.PI/2, Math.PI/2, dv).forEach(v => {
const param = [
{u: u, v: v },
{u: u+du, v: v },
{u: u+du, v: v+dv},
{u: u, v: v+dv}
];
const dr = 0.1;
d3.range(0.5, 1.6, dr).forEach(r => {
meshes.push(rect(
...param.map(p => position(p.u, p.v, r)),
wireFrameMaterial(d3.interpolateTurbo(1.5-r))
));
});
});
});
return meshes;
}