As seen in the grasshopper file my modeling approach followed the attractor example provided with a few changes. First, I created a rectangular grid that would represent the pond dimensions. This was achieved by using sliders to control the size of each individual grid as well as the extent of the grid. Then I created a point using sliders that would represent the location where the pebble would be dropped. Using the closest point function the closest distance from each cylinder to the pebble location was determined. As an extra input I included a number slider that determines the importance/number of sine waves shown. This was achieved by multiplying the distances by the number slider. Those values were then passed into the sine function so that the cylinders behaved as a sine wave. To prevent negative cylinder heights a vertical offset slider was included that added to the sine function outputs. These outputs were then multiplied by the normal vector which is just the vector representing the height of each cylinder. In order to determine these vectors a point was created at the top of each cylinder. This was achieved by using the series function to create a series of x and y coordinates starting at 0 with a step size equal to the size slider and a count equal to extent slider plus one . Using the cross reference function with a z coordinate equal to the height of the cylinder, a grid was created along the tops of the cylinders. This grid was then stored as points. In order to create the normal vectors the Vector 2 Point function was used. The purpose of multiplying by the normal vectors was to provide the direction of the sine wave. I then multiplied the output of this function by a number slider that controlled the amplitude. Using the rectangular grid points, length slider, and radius slider cylinders were created. Lastly, the extrude function was used that would extrude the cylinders to the amplitude of the sine wave.

Link to Student

Journal Entry For

Module 2 - Ripples on a Pond