In[]:=
ClearAll[RotatedTorus]​​RotatedTorus[p_,r:{_,_},n_]:=GeometricTransformation[Torus[p,r],RotationTransform[{{0,0,1},n},p]]​​size={1-0.2,1+0.2}/2;​​Graphics3D[{Gray,RotatedTorus[{0,0,0},size,{1,-1,1}]},ImageSize->100,Lighting->"Neutral"]
Out[]=
In[]:=
ClearAll[r,r2,reginsideoutside]​​r[z_]:=3.5+3/(z+2)^2-
1.55
(13-z)^4
-1.95LogisticSigmoid[4(z-8.25)]​​r2[z_]:=1.75+3/(z+2)^2-
1.75
(13-z)^4
​​reginsideoutside[x_,y_,z_,___]:=(y0.9)^2+((z-6.5)0.75)^2>1​​ParametricPlot3D[{r[z]Sin[θ],r2[z]Cos[θ],z},{θ,0,2Pi},{z,0,12},RegionFunction->reginsideoutside,AspectRatio->Automatic,PlotStyle->Directive[Gray,FlatShading[]],Lighting->"Neutral"]
Out[]=
In[]:=
nθ=35;​​nz=22;​​Δθ=0.0001;​​Δz=0.01;​​evenodd=1;​​size={1-0.2,1+0.2}0.4;​​data=Table[​​evenodd*=-1;​​Table[​​θoffset=-0.152Pi/nθ;​​θ=θr+evenoddθoffset;​​p={r[z]Sin[θ],r2[z]Cos[θ],z};​​p2={r[z]Sin[θ+Δθ],r2[z]Cos[θ+Δθ],z};​​p3={r[z+Δz]Sin[θ],r2[z+Δz]Cos[θ],z+Δz};​​left=Normalize[p2-p];​​up=Normalize[p3-p];​​normal=Normalize[Cross[up,left]];​​If[reginsideoutside@@p,​​RotatedTorus[p,size,RotationMatrix[evenodd30Degree,up].normal]​​,​​{}​​]​​,​​{θr,Subdivide[0.0,2Pi,nθ]//Most}​​]​​,​​{z,Subdivide[0.0,9,nz]}​​];​​Graphics3D[{Gray,data},Lighting->"Neutral"]