Quit[]

τ1=0;

SPo=ListPointPlot3D[{{0,0,0}},PlotStyle->{Blue,PointSize[Normal]}];

P0=ParametricPlot3D[{14(Cos[τ1]+0.08Sin[3τ1])+(3+Cos[v]) Sin[u],12(Sin[τ1]+0.08Sin[3τ1])+Sin[v],13+(3+Cos[v]) Cos[u]},{u,0,2Pi},{v,0,2Pi},PlotStyle->Opacity[1.0],Mesh->None,ColorFunction->"BlueGreenYellow"];

P1=ParametricPlot3D[{14(Cos[τ1]+0.08Sin[3τ1])+u,12(Sin[τ1]+0.08Sin[3τ1]),1+v},{u,0,7},{v,0,7},PlotStyle->Opacity[1.0],Mesh->None,ColorFunction->"BlueGreenYellow"];

SP1=ListPointPlot3D[Table[{14(Cos[τ1]+0.08Sin[3τ1])+u,12(Sin[τ1]+0.08Sin[3τ1]),1+v},{u,1,7},{v,1,7}],PlotStyle->Directive[Black,PointSize[0.002]]];

P5=Table[ParametricPlot3D[{14(Cos[π τ2/20]+0.08Sin[3π τ2/20])+(3+Cos[v]) Sin[u],12(Sin[π τ2/20]+0.08Sin[3π τ2/20])+Sin[v],13+(3+Cos[v]) Cos[u]},{u,0,2Pi},{v,0,2Pi},PlotStyle->Opacity[0.1],Mesh->None,ColorFunction->"BlueGreenYellow"],{τ2,1,39}];

P2=Table[ParametricPlot3D[{14(Cos[π τ2/20]+0.08Sin[3π τ2/20])+u,12(Sin[π τ2/20]+0.08Sin[3π τ2/20]),1+v},{u,0,7},{v,0,7},PlotStyle->Opacity[0.3],Mesh->None,ColorFunction->"BlueGreenYellow"],{τ2,1,39}];

P3=ParametricPlot3D[{Sin[t]/2,0,Cos[t]/2}+{3,0,4}+{14,0,0},{t,0,π/4},PlotStyle-> Purple];

SP2=Table[ListPointPlot3D[Select[Flatten[Table[{u+Sin[τ2 π/80]v,0,v}+{3,0,4}+{14(Cos[π τ2/20]+0.08Sin[3π τ2/20]),12(Sin[π τ2/20]+0.08Sin[3π τ2/20]),0},{u,-10,10},{v,-10,10}],1],(14(Cos[π τ2/20]+0.08Sin[3π τ2/20])+7>=#[[1]]>=14(Cos[π τ2/20]+0.08Sin[3π τ2/20]))&&(8>=#[[3]]≥1)&],PlotStyle-> Directive[Black,PointSize[0.002]]],{τ2,1,39}];

A0=Graphics3D[{Purple,Thick,Line[{{3,0,4}+{14,0,0} ,{0,0,1}+{3,0,4}+{14,0,0}}]}];

A1=Graphics3D[{Purple,Thick,Line[{{3,0,4}+{14,0,0} ,{1,0,1}+{3,0,4}+{14,0,0}}]}];

A2=Table[Graphics3D[{Purple,Line[{{3,0,4}+{14(Cos[π τ2/20]+0.08Sin[3π τ2/20]),12(Sin[π τ2/20]+0.08Sin[3π τ2/20]),0} ,{Sin[τ2 π/80],0,1}+{3,0,4}+{14(Cos[π τ2/20]+0.08Sin[3π τ2/20]),12(Sin[π τ2/20]+0.08Sin[3π τ2/20]),0}}]}],{τ2,1,39}];

A3=Table[Graphics3D[{Blue,Line[{{3,0,4}+{14(Cos[π τ2/20]+0.08Sin[3π τ2/20]),12(Sin[π τ2/20]+0.08Sin[3π τ2/20]),0} ,{1,0,0}+{3,0,4}+{14(Cos[π τ2/20]+0.08Sin[3π τ2/20]),12(Sin[π τ2/20]+0.08Sin[3π τ2/20]),0}}]}],{τ2,1,39}];

A4=Graphics3D[{Blue,Thick,Line[{{3,0,4}+{14,0,0} ,{1,0,0}+{3,0,4}+{14,0,0}}]}];

L1=ParametricPlot3D[{
14(Cos[t]+0.08Sin[3t]),12(Sin[t]+0.08Sin[3t]),0},{t,0,2π},PlotStyle->{Directive[Opacity[0.8],Blue]}];

L2=Table[ParametricPlot3D[{14(Cos[π τ2/20]+0.08Sin[3π τ2/20]),12(Sin[π τ2/20]+0.08Sin[3π τ2/20]),t},{t,0,9},ColorFunction->"BlueGreenYellow",PlotStyle->{Directive[Opacity[0.8]],Dotted}],{τ2,1,40}];

T1=Graphics3D[{Blue ,Text[Style["c ∈ (C^sing)",16],{
0,-1,0}]}];

T2=Graphics3D[{Blue ,Text[Style["γ",16],{
14(Cos[1π/3+π]+0.08Sin[15π/4]),12(Sin[1π/3+π]+0.08Sin[15π/4]),0}]}];

T3=Graphics3D[Text[Style["P ⊂ ℂ",16],{14(Cos[τ1]+0.08Sin[3τ1])+8.2,12(Sin[τ1]+0.08Sin[3τ1]),1+3.5}]];

SPic=Show[T1,T2,L1,L2[[40]],P0,P1,SPo,SP1,A0,A1,A4,Axes->False,Boxed->False,PlotRange->{{-20,20},{-20,20},{-1,20}},ViewPoint->{-6,-60,40},ImageSize->500];

EPic=Show[T1,T2,L1,L2[[8]],L2[[16]],L2[[24]],L2[[32]],L2[[40]],P0,P1,P2[[8]],P2[[16]],P2[[24]],P2[[32]],P5[[8]],P5[[16]],P5[[24]],P5[[32]],SP2[[8]],SP2[[16]],SP2[[24]],SP2[[32]],SPo,SP1,A0,A1,A4,A2[[8]],A2[[16]],A2[[24]],A2[[32]],A3[[8]],A3[[16]],A3[[24]],A3[[32]],Axes->False,Boxed->False,PlotRange->{{-20,20},{-20,20},{-1,20}},ViewPoint->{-6,-60,40},ImageSize->500];

ListAnimate[Join[{SPic},Table[Show[T1,T2,L1,L2[[i]],P2[[i]],P5[[i]],SPo,SP2[[i]],A2[[i]],A3[[i]],Axes->False,Boxed->False,PlotRange->{{-20,20},{-20,20},{-1,20}},ViewPoint->{-6,-60,40},ImageSize->500],{i,1,39}],{SPic},{SPic},{SPic},{SPic},{EPic},{EPic},{EPic},{EPic},{EPic}]]