Block[{t1=8.2},xform[pts_]:=Module[{x,y,z,n},{x,y,z}=Transpose[pts];n=Sqrt[4π^2-(Min[2Pi/t1,1]z)^2]/Sqrt[(x-2Pi)^2+y^2];Transpose@{n(x-2Pi)+2Pi,ny,Min[2Pi/t1,1]z}];plot=ParametricPlot3D[4Pi{Sin[u]Cos[w],Sin[u]Sin[w],Cos[u]} ,{u,ArcCos[t1/(4Pi)],Pi/2} ,{w,ArcCos[Csc[u]/2],-ArcCos[Csc[u]/2]},MeshNone,PlotStyle{Red,Opacity[0.5]},PlotPoints{Ceiling[5+8t1],25},BoundaryStyleBlack,WorkingPrecision24,Method{"BoundaryOffset"False}];(*Sorttoensurevertex-to-vertexorientation(y=#[[2]],z=Last)*)bdypts=First@Cases[Normal@plot,Line[p_]p,Infinity];outerX2PiNeg= SortBy[Cases[bdypts,{x_,y_,z_}/;x==2Pi&&y≤0],Last];outerX2PiPos= SortBy[Cases[bdypts,{x_,y_,z_}/;x==2Pi&&y≥0],-Last[#]&];outerZ0= SortBy[Cases[bdypts,{x_,y_,z_}/;z+1==1.],-#[[2]]&];outerZT1= SortBy[Cases[bdypts,{x_,y_,z_}/;z==t1],#[[2]]&];{innerX2PiNeg,innerX2PiPos,innerZ0,innerZT1}= Reverse/@xform/@{outerX2PiNeg,outerX2PiPos,outerZ0,outerZT1};plot=plot/._Line{};(*removeboundaryline*)Show[Graphics3D[{},PlotRangeAll,AxesTrue,AxesLabel{x,y,z}],plot,plot/.GraphicsComplex[pts_,rest___] With[{xpts=xform[pts]}, GraphicsComplex[xpts,rest]/.(VertexNormals_) VertexNormalsNormalize/@(#-{2Pi,0,0}&/@xpts)],Graphics3D[{Red,Opacity[0.5],{Polygon[Join[outerX2PiNeg,outerX2PiPos,innerX2PiPos,innerX2PiNeg]],Polygon[Join[outerZ0,innerZ0]]},If[t1<2Pi,Polygon[Join[outerZT1,innerZT1]],Polygon[outerZT1]]}],PlotLabelHoldForm[t1]==t1]]
Out[]=