algorithmic modeling for Rhino
Download the definition/plugin
By using the "Spatial Deform (Custom)" component you can deform a freeform surface. You have to define a space syntax of points and forces. First, give the moving points and related forces to the space syntax and then define some points which are fixed and have no movement.