xxxxxxxxxx
f=0
draw=_=>{
f||createCanvas(W=400,W,WEBGL)
background(0)
f+=.01
noFill(Z=121)
for(z=-W; z<=W; z+=Z){
for(y=-W; y<=W; y+=Z){
for(x=-W; x<W; x+=Z/2){
push(stroke(W))
translate(x,Y=y+(f*W)%Z,z)
pop(box(.7))
H = tan(-f)*Z
if(dist(0,H,0,x,Y,z)<Z)bezier(0,H,0,0,0,0,x,Y,z,x,Y+Z,z)
}
}
}
}