threeDData = {
const count = 9;
let pts = math
.linspace(count, true)
.flatMap((w) =>
math
.linspace(count, true)
.flatMap((v) =>
math
.linspace(count, true)
.map((u) => [2 * u - 1, 2 * v - 1, 2 * w - 1])
)
);
pts = pts.map((pt) => GLVec3.rotateY([], pt, [0, 0, 0], rotY * Math.PI));
pts = pts.map((pt) => GLVec3.rotateX([], pt, [0, 0, 0], rotX * Math.PI));
pts = pts.map((pt) => GLVec3.scale([], pt, math.lerp(0.25, 1.25, zoom)));
return pts;
}