Annabelle Tzou

Walk in the Park

image

To create the cuboids, I used a code block with an integer slider to generate the spacing between grid points. This code block was used as the x and y inputs for the coordinate points of the grid, and the grid was generated using cross product lacing. The list of points was flattened. The cuboids were generated using the flattened list as the origin points and the original code block for grid spacing for the width and length.

The attractor point was created using a number slider for the x and y coordinates of the point.

To generate the cuboid height to simulate a sine wave ripple effect, I first found the distance from the center of each cuboid to the attractor point, which was outputted as a list. Based on this list, I found the maximum distance to the attractor point. I used these, as well as the base height, amplitude, and the number of waves as inputs for the sine wave formula, which was generated using a code block. The output of this formula was the height of each cuboid. I played around with the inputs to see how they impact the sine wave ripple effect.

To move the cuboids such that all had the same base elevation, I created a formula using a code block that would translate all cuboids in the z-direction by half of their respective heights. The original cuboids were hidden so that only the final geometry was visible.

The most challenging part of this project was:

  • Getting used to the Dynamo interface and understanding which nodes would be most helpful for what I wanted to do.
  • Organizing my interface so I could follow my own thought processes when looking back at the project later on.
  • Figuring out how to find the maximum distance.
  • Understanding the sine wave formula and what each input does.

Eliminate the Echo

image

To create a ceiling plane, I first generated an XY plane and moved it up 12’ using a vector. I then created a rectangular grid using this XY plane and defining the grid size and extent.

I created cylinders centered at each point on the rectangular grid by defining the radius as half of the grid cell size and setting the length to a placeholder value of 1.

The attractor point was generated using the Point node with a slider for the x- and y-coordinates of the point.

I then set the height of each cylinder to simulate a the sine wave ripple effect. To do this, I did the following:

  • I first found the distance between the cylinder centerpoints and the attractor point by using the Area node and inputting the centroid of each cylinder and the attractor point into the Distance node.
  • I sorted the output from the previous step from lowest to highest then flattened the list so that I could find the maximum distance.
  • These two outputs (the distance between cylinder centerpoints/attractor point and maximum distance) were used as inputs along with the number of waves, generated using a number slider, in a formula to remap the distance values based on the number of waves.
  • I converted the list from degrees to radians and used it to compute the sine values.
  • This output was then used along with the amplitude and base height, both generated using integer sliders, in a formula to incorporate the amplification factor and a base height to create the cylinder heights.
  • Finally, because I wanted the cylinders to project below the ceiling plane, the cylinder heights were multiplied by a factor of -1.

The cylinders were scaled along the ceiling plane by the heights generated in the previous step. The original cylinders were hidden so that only the scaled cylinders were displayed.

The most challenging part of this project was:

  • Getting used to the Grasshopper interface and figuring out which nodes I could use to achieve what I wanted.
  • Figuring out how to determine the cylinder centerpoints and then using those values to find the maximum distance.
  • Understanding how panels and the Evaluate node interact to write formulas.