- Walk in the Park model screenshot
- Modelling approach
- Use range to create grid points and create cuboids with the grid points
- Set an attractor point as the start point of the sine shape, and compute the distance between each grid point to the attractor point as one parameter for the sine function
- Set wave parameters and use them as inputs of the sine function
- Use Geometry Translate to set the cuboids to the same ground level
To complete this assignment, I first created a rectangular grid of points covering an area of about 200’ x 200’ using a range and cross product lacing in Dynamo, with an integer slider to control the spacing between points (and thus the size of the cuboid elements). Then, I placed cuboids at each grid point using Cuboid.ByLengths, setting their width and length based on the grid spacing, and initially assigning a default height of 1.
Next, I set an attractor point using sliders to flexibly adjust its X and Y coordinates, which would act as the center of the sine ripple effect. I then computed the distance from each cuboid’s centerpoint to the attractor point and used this distance as a parameter in a sine function to modulate each cuboid’s height. The height of each cuboid was calculated using the formula:
Height=baseHeight+(amplitude×sin(maxDistancecubeDistance×360×numberOfWaves))
where baseHeight, amplitude, and numberOfWaves are controlled via sliders for easy adjustment.
Finally, since the cuboids are centered vertically on the XY plane, I translated each cuboid upward by half of its height using the Geometry.Translate node to ensure all bases sit at the same ground elevation. I also turned off the preview of the original cuboids to clean up the visual output. Throughout the process, I utilized manual execution in Dynamo for faster updates and saved frequently to prevent data loss during testing.