Sage Crosby

4 units

Here are some images of the Dynamo preview (top) and the Revit view with the two pebbles placed very close together.

image
image

The images below show the Dynamo and Revit views for a slightly larger grid (more cylinders), a larger wave amplification factor, and the pebbles spaced farther apart.

image
image

I started by creating a grid of points using the cross-product lacing for the base points of the cylinders and then placing the cylinders using Cylinder.ByPointsRadius in the Dynamo preview and FamilyInstance.ByPoint to add mass cylinders in Revit. Then I created a point to represent a single pebble and calculated the distance between the base point of each cylinder and the pebble using Geometry.DistanceTo. These distances were put into a sin function, which, along with modification factors including a dampening factor for points further from the pebble (1/(distance+0.01)), was used to calculate the heights of the cylinders. My biggest challenge was figuring out how to input these values so they became heights of the cylinders in the Dynamo preview. Initially, I tried to use the cross-product lacing like before but that did not work since the height values for each cylinder were being included in the cross-product. I found the Point.X and Point.Y functions to extract only the x and y values respectively for all of the points, so I had three complete lists for the x, y, and z values, which I could then use to create a grid for the cylinder heights without using the cross-product lacing. Finally, I added a second pebble. I followed the same process in calculating the distance and sin function for the effects of this pebble, combined the effects of both pebbles by adding the wave values together, and set the cylinder heights to these new values.