Sine Curve from equations

n = 500;w = 10;h = 4;x = 0..Math.PI*2*10..#n;y = Math.Sin(0..360*w..#n) * (h..0.1..#n);p = Point.ByCoordinates(x,y);c = NurbsCurve.ByPoints(p);

//Base Curvec1 = NurbsCurve.ByPoints(Point.ByCoordinates([0,10,50],[0,10,0]));//Number of Divisionsn = 500;//Scale Wave Extentw = 10;//Scale Wave Heighth = 5;//Points on Curvep1 = c1.PointAtParameter(0..1..#n);//Normal at Pointsn1 = c1.NormalAtParameter(0..1..#n);//Scale wrt Base Curve Lengths = c1.Length/(Math.PiTimes2*w);y = Math.Sin(0..360*w..#n) * (h..0.1..#n) * s;p2 = p1.Translate(n1,y);//Nurbs Curvec2 = NurbsCurve.ByPoints(p2);

//Number of Pointsct = 200;â€‹//Amplitude Scaleas = 2;â€‹//Period Scaleps = 8;â€‹//Base Curvebc = NurbsCurve.ByControlPoints(Point.ByCoordinates([0,10,40,50],[0,20,20,0]));cp = bc.PointAtParameter(0..1..#ct);cn = bc.NormalAtParameter(0..1..#ct);â€‹//Sine Curveds = Math.Sin(0..360*ps..#ct)*2;ic = Math.RemapRange(at.DistanceTo(cp),as,0);nc = NurbsCurve.ByPoints(cp.Translate(cn,ds*Math.Pow(ic,2)));