How to deform any flat surface with gravity?


Hello!
Does anyone know how to use Grasshopper to deform any flat surface input as if it were fabric being pulled on gravity? Image, which I just modeled in Rhino without using Grasshopper, shows what a visual example of what I’m trying to accomplish – I modeled it easily enough, but I want to be able to accomplish the same thing in Grasshopper without needing to do this in Rhino.

A simple start would be to:

  • define a flat rectangle
  • mesh this rectangle
  • apply vertex loads to this mesh with Kangaroo*
  • generate a surface from the vertices afterwards

Here’s the example:
srfG.gh (20.8 KB)

*Note:
I used zombie kangaroo so that the simulation doesn’t go wacko when adjusting resolution in real-time. For a more ‘live’ simulation, then you can use the regular kangaroo solver or the bouncy solver.

Cheers!