Wave Generator
Here is a wave generator code I developed using Grasshopper and Python. While searching for a solution to the realistic water simulations, I came up with the Gerstner Waves. I tried to implement it. However, I came up with this final result, which is not a Gerstner Wave generator, but a much simpler one. It combines many user-fed wave components and calculates the resulting single wave. I played with this code for hours with different components. So, it is worth trying and maybe developing more. For example, a steepness parameter might be a very good addition to make it closer to a trochoidal wave (such as the Gerstner wave). For now, this works as expected.

This Grasshopper and Grasshopper Python implementation generates custom waves. It has several user inputs such as the size and the time value (for animation). Most importantly a user can define and input many waves using a Panel component. The amplitude, wavelength, direction, frequency, and phase shift of these waves are the inputs. The output of the Grasshopper definition is a grid of points. You can use these points to create NURBS or mesh surfaces and animate them through the t Number slider. The code is using native Grasshopper components. So, you don’t need to install any add-ons. However, Weaverbird might be a good addition if you want to make the resulting meshes smoother.


