Plot[Tanh[1.25Sin[x]],{x,0,10π},Frame->False,Axes->False,AspectRatio->1/10]

Plot[Tanh[1.25Sin[x]],{x,0,30π},Frame->False,Axes->False,AspectRatio->1/30]

Export["~/wavy.svg",%]

R=20;
f[s_]:=Tanh[1.25 Sin[2s]]

curve[s_]:={(R+f[s]) Sin[s/R],-(R+f[s])2Cos[s/R]}

ParametricPlot[curve[s],{s,-60 Pi,60 Pi},(*many full loops*)AspectRatio->1]

Manipulate[Module[{steps=1200,thArr,sArr,L,sOfTh,nx,ny,sFull,curve},thArr=Table[2 Pi i/steps,{i,0,steps}];
sArr=FoldList[Plus,0,Table[With[{thMid=(thArr[[i]]+thArr[[i+1]])/2},Sqrt[(a Sin[thMid])^2+(b Cos[thMid])^2]]*(thArr[[i+1]]-thArr[[i]]),{i,1,steps}]];
L=Last[sArr];
sOfTh=Interpolation[Transpose[{thArr,sArr}],InterpolationOrder->1];
nx[th_]:=b Cos[th]/Sqrt[(b Cos[th])^2+(a Sin[th])^2];
ny[th_]:=a Sin[th]/Sqrt[(b Cos[th])^2+(a Sin[th])^2];
(*rescale s so exactly `nwaves` full sine periods fit in one lap*)curve[th_]:=With[{s=sOfTh[Mod[th,2 Pi]]*nwaves*2 Pi/L},{a Cos[th]+amp*Tanh[1.25 Sin[s]]*nx[th],b Sin[th]+amp*Tanh[1.25 Sin[s]]*ny[th]}];
ParametricPlot[{{a Cos[th],b Sin[th]},curve[th]},{th,0,2 Pi},PlotStyle->{Directive[Gray,Dashed],Blue},AspectRatio->Automatic,PlotRange->All,PlotLabel->Row[{"a=",a,"  b=",b,"  amp=",amp,"  waves=",nwaves}],ImageSize->500]],{{a,28,"semi-axis a"},3,60,1,Appearance->"Labeled"},{{b,14,"semi-axis b"},3,60,1,Appearance->"Labeled"},{{amp,1,"amplitude"},0.1,5,0.1,Appearance->"Labeled"},{{nwaves,6,"wave count"},1,30,1,Appearance->"Labeled"},SynchronousUpdating->False]

Manipulate[Module[{steps=1200,thArr,sArr,L,sOfTh,nx,ny,curve},thArr=Table[2 Pi i/steps,{i,0,steps}];
sArr=FoldList[Plus,0,Table[With[{thMid=(thArr[[i]]+thArr[[i+1]])/2},Sqrt[(a Sin[thMid])^2+(b Cos[thMid])^2]]*(thArr[[i+1]]-thArr[[i]]),{i,1,steps}]];
L=Last[sArr];
sOfTh=Interpolation[Transpose[{thArr,sArr}],InterpolationOrder->1];
nx[th_]:=b Cos[th]/Sqrt[(b Cos[th])^2+(a Sin[th])^2];
ny[th_]:=a Sin[th]/Sqrt[(b Cos[th])^2+(a Sin[th])^2];
curve[th_]:=With[{s=sOfTh[Mod[th,2 Pi]]*nwaves*2 Pi/L+phase},{a Cos[th]+amp*Tanh[1.25 Sin[s]]*nx[th],b Sin[th]+amp*Tanh[1.25 Sin[s]]*ny[th]}];
ParametricPlot[{{a Cos[th],b Sin[th]},curve[th]},{th,0,2 Pi},PlotStyle->{Directive[Gray,Dashed],Blue},AspectRatio->Automatic,PlotRange->All,PlotLabel->Row[{"a=",a,"  b=",b,"  amp=",amp,"  waves=",nwaves,"  phase=",phase}],ImageSize->500]],{{a,28,"semi-axis a"},3,60,1,Appearance->"Labeled"},{{b,14,"semi-axis b"},3,60,1,Appearance->"Labeled"},{{amp,1,"amplitude"},0.1,5,0.1,Appearance->"Labeled"},{{nwaves,6,"wave count"},1,30,1,Appearance->"Labeled"},{{phase,0,"phase"},0,2 Pi,0.05,Appearance->"Labeled"},SynchronousUpdating->False]