Ripples on a pond approach:

I first began by creating a rectangular grid of cylinders. The desired number of cylinders in the X and Y direction and their spacing can be specified using separate sliders. Once this grid is created, I specified a height for each cylinder (which would later be modified based on the ripple height calculations).

Next, I created a point to represent a pebble dropping into a pond using X and Y integer sliders. Then, the distance from each cylinder was calculated from the pebbles location and fed into an equation to create a ripple effect (using sin). This height was then dampened using a simple scaling factor equation based on the cylinder’s distance from the pebble.

Lastly, the Revit cylinder family was important and placed at each grid point. These objects were then modified to match the height and radius values calculated above.