Creating a half tone like pattern with cylinders using Geometry Nodes
Blender 2.92.0. Let's start with a subdivided plane.

In edit mode select all faces then in top left corner click Face-&gt;Poke Faces

Then Face-&gt;Tris to Quads

I added a subdivided cube, because in my opinion it looked nicer than cylinders, and an empty to control the scale for animation purposes.

And I did this node setup.

From left:

Attribute Fill node sets scale on every instance (vertex) to 1.
Attribute Vector Math multiplies position of each instance by vector (1,0,0) and saves result to a custom positionX attribute, so positionX contains only (X,0,0) of each instance.
Attribute Vector Math calculates distance between positionX and (X,0,0) vector where X is X part of Empty location. Result of this operation is saved as custom attribute distanceX.
Attribute Vector Math divides scale of each instance (it's always set to 1 by Attribute Fill node above, but you can instead of it use Attribute Randomize to make initial scale of every instance a little different) by distanceX. This works fine for most cases, but when empty is really close to an instance we end up with extremely large scales (for example 1/0.001 = 1000)
Attribute Math is used to control how wide the &quot;wave&quot; of large instances there are. The larger the float value the smaller the &quot;wave&quot;.
Attribute Color Ramp is placed to cut the scale so it never exceeds 1. It allows you also to control how small the far away instances should be. (just change color from black to dark gray)

And this is the final result.

You can animate the scales of the instanced objects by moving the empty so the animation is really easy.