Slide the mouse around: the narrowing of the field moves with the mouse's horizontal position.
xxxxxxxxxx
setup=_=>createCanvas(w=500, w)
draw=_=> {
fill(0)
m=mouseX
background(255)
for(y=0;y<30;++y){
x=-w+(y%2)*20
while(x<1e3){
d = pow(abs(atan(x-m))/1.57,w)
ellipse(lerp(m,x,d),20*y,min(20,40*d),20)
x += 40
}
}
}