Using an upper control surface to determine the heights of arrayed objects. (Note that just as easily this control surface, when stretched upwards, could induce an X or Y scaling of the objects, or a rotation, or something completely different!) This can be a sophisticated way to make a collection of basic objects, which could then be mapped to a complex surface using the FlowAlongSurface tool in Rhino.
Also, check out the grasshopper example files on the wiki for description of how to shear these objects.
Loading more stuff…
Hmm…it looks like things are taking a while to load. Try again?