Hmm. Here’s how I might approach it…
Lay out all of the windmills by hand. On any given line, have the lower windmill’s rotation equil the top (source) windmill’s rotation. Then you could multiply (or divide) that rotation value for each windmill by its layer’s layer number minus the source windmill’s layer number. That way, the lower down ones would be different speed from the higher up.
Then to drive the rotation of the top (source) windmills’ rotations… If you want a visual way, you could make virtual sliders on the screen. Put a null above each string, then make an expression that uses Dan’s formula to have the y value of the null drive the source windmill’s speed. Move the null for a string up & down to control rotation speed. Or you could just do the same thing with sliders instead of null y-values, but it wouldn’t be visual right in the comp.
I don’t know, that’s how I’d do it.
Mitch