
The dynamo script generates a rectangular grid of points, which define the centres of cuboid elements. An attractor point is used to control the variation of the surface. The distance from each grid point to the attractor is computed and normalised, then used as input to a mathematical equation to produce a height variation with a waveform. These values are scaled by amplitude and offset by a base height to ensure positive geometry. Lastly, each cuboid is translated vertically by half its height so that all elements share a common base plane.

The model creates a ceiling made of evenly spaced cylinders arranged on a grid. An attractor point is used to control where the wave pattern starts. The distance from each cylinder to this point is calculated, and that distance is used in a sine function to vary the length of each cylinder, creating a smooth ripple effect. The shape of the waves is controlled with sliders for the number of waves, amplitude, and base height. Finally, the cylinders are scaled vertically, so they extend downward from the ceiling, forming a continuous, wave-like acoustic surface.