Sreethu Sura - Module 2

Screenshots of Results:

Rippling effect when two pebbles are dropped at the same time at two opposite corners of the water surface:

image

Rippling effect when two pebbles are dropped at the same time in the middle of the water surface:

image

Modelling Approach:

  • Grid is created in the same way as discussed in the module videos and lecture, first creating a list of x and y using “start..end..step_size” strategy and later lacing cross product is turned on to create a rectangular grid of points.
  • Revit Cylinder Family is downloaded from the shared google drive folder and loaded into the project. Then instances of these cylinder masses are created using the grid points as bases.
  • The radius of the cylinders is set to a constant value.
  • Heights of the cylinders to simulate the water surface under a rippling effect is calculated by using the following mathematical equations:
Water Surface Base height=h0Distance b/w pebble and cylinder base point w.r.t XY plane=dFrequency=w; Max Frequency=w0Amplitude=A; MaxAmplitude=A0Offset=ϕWater \ Surface \ Base\ height= h_0 \\ Distance \ b/w \ pebble \ and \ cylinder \ base \ point \ w.r.t \ X-Y \ plane = d \\ Frequency = w; \ Max\ Frequency =w_0 \\ Amplitude = A; \ Max Amplitude = A_0 \\ Offset = \phi

Water surface is assumed to be a sine wave function with angle depending on the distance between the pebble and the cylinder with respect to X-Y plane. An offset or phase angle is included to represent any lag between the dropping of pebble and ripple effect response (assumed to be 0)

h=Asin(wd+ϕ)h = A\sin(wd + \phi)

Amplitude of the sine wave decays exponentially with respect to distance b/w pebble and water surface with some decay rate ‘a’ (assumed to be 0.05). This diminishes the ripples’ height as ‘d’ increases

A=A0eadA= A_0e^{-ad}

Frequency of the sine wave decays exponentially with respect to distance b/w pebble and water surface with some decay rate ‘b’ (assumed to be 0.05 This diminishes number of ripples as ‘d’ increases

w=w0ebdw=w_0e^{-bd}

Ripple effect occurs when the pebble touches the water surface, meaning waves are generated only when pebble’s z-coordinate (z) is less than or equal to water surface base height. The factor ‘k’ check whether pebble is hitting the water surface or not

k={0z>h01zh0k = \begin{cases} 0 &\quad z > h_0 \\ 1 &\quad z \leq h_0 \end{cases}

(These equations are implemented in the dynamo using functions like addition, multiplication, Geometry.DistanceTo, Points.PullOntoPlane,Math.Exp, Math.sin, If, etc.)

  • Rippling effect due to two or more pebbles with be the algebraic sum of all the waves caused by all pebbles and the base height. For two pebbles it is given as:
Cylinder height=h0+k1h1+k2h2Cylinder \ height = h_0 + k_1h_1 + k_2h_2

Note: When two pebbles are dropped at different times, then there will be phase difference between the two sin waves produced, meaning the difference b/w offsets or phase angles of first and second sin wave will not be zero.