Taken from https://tosinakinwoye.com/2017/01/23/houdini-vex-snippets/
//Input is a line
//Resample SOP on line for more points
//Activate curveu attrib in resample SOP
//Remap curveu to shape of bend
@curveu=chramp(“ramp”,@curveu);
float bamt = chf(“bend_amt”); //bend amount
vector benddir = chv(“bend_dir”); //bend direction
@P+= benddir * bamt * @curveu;