v3[theta_]:= {Cos[theta], Sin[theta], 0}

v2[theta_]:={Cos[theta], 0, Sin[theta]}

v1[theta_]:={0,Cos[theta], Sin[theta]}

v1m[theta_]:={0, -Cos[theta], -Sin[theta]}

a1[s_]:= {s, 0, 0}

a2[s_]:= {0, s, 0}

a3[s_]:={0,0,s}

L[lambda_, k_, t_]:= {{Exp[t lambda], 0, 0, 0}, {0, 1, 0, t k}, {0, 0, Exp[-t lambda], 0}, {0,0,0,1}}

L[2,2,t]

p1:={1, 1, 0, 1}; p2:={1, 0, 1, 1}; p3:={1,1,1,1}; p4:={0,0,1/5,1}

p0:={1, 0,0,1}

L[2,2,t].p1

L[2,2,t].p2

Rot:={{Cos[Pi/4], 0, Sin[Pi/4]}, {0, 1, 0}, {-Sin[Pi/4], 0, Cos[Pi/4]}}

cir[theta_] := {1/2, 0, 1/2} + Rot.{1/Sqrt[2] Cos[theta], 1/Sqrt[2] Sin[theta], 0}

cir[t]

cirII[theta_] := - cir[theta]

Ano[p_, t_]:= {((L[2, 2, t].p)/Norm[L[2, 2, t].p])[[1]], ((L[2, 2, t].p)/Norm[L[2, 2, t].p])[[2]], ((L[2, 2, t].p)/Norm[L[2, 2, t].p])[[3]]}

ParametricPlot3D[{Ano[p3, 10 theta], Ano[p2, 10 theta]},{theta,0,2π}]

ParametricPlot3D[{v1[theta], v2[theta/4],v3[theta/2], a2[(-Pi+theta)/(Pi)], Ano[p0, 50 theta-50],Ano[p4, 50 theta-50]},{theta,0,2π}]

p[i_]:={i, 0, 0,1}; q[i_]:={0, 0, i/5,1}; r[i_]:={i, i, 0, 1}

R[i_, theta_]:=Ano[p[i], 50 theta-50]

S[i_, theta_]:=Ano[q[i], 50 theta-50]

ParametricPlot3D[{v1[theta], v2[theta/4],v3[theta/2], a2[(-Pi+theta)/(Pi)], R[-1/5, theta], R[1/5, theta],R[2/5, theta], R[-2/5, theta], S[-2/5, theta], S[2/5, theta],S[4/5, theta], S[-4/5, theta]},{theta,0,2π}, PlotRange->{{-1.1,1.1},{-1.1, 1.1}, {-1.1, 1.1}}]

ParametricPlot3D[{v1[theta], v2[theta/4],v3[theta/2], a2[(-Pi+theta)/(Pi)], R[-1/5, theta], R[1/5, theta],S[1, theta], S[-1, theta]},{theta,0,2π}]

ParametricPlot3D[{cir[theta], cirII[theta]},{theta,0,2π}, PlotRange->Full]

ParametricPlot3D[{cir[theta], cirII[theta], v1[theta], v2[theta/4],v2[Pi+ theta/4], v3[theta], a2[(-Pi+theta)/(Pi)], R[-1/5, theta], R[1/5, theta],R[2/5, theta], R[-2/5, theta], S[-2/5, theta], S[2/5, theta],S[4/5, theta], S[-4/5, theta]},{theta,0,2π}, PlotRange->Full]

AnoII[p_, t_]:= {((L[2, 2, t].p)/Norm[L[2, 2, t].p])[[1]], ((L[2, 2, t].p)/Norm[L[2, 2, t].p])[[2]]}

RII[i_, theta_]:=AnoII[p[i], 50 theta-50]

SII[i_, theta_]:=Ano[q[i], 50 theta-50]

v1II[theta_]:= {Cos[theta], Sin[theta]}

v2II[theta_]:= {1/Sqrt[2] Cos[theta], 1/Sqrt[2] Sin[theta]}

ParametricPlot[{v1II[theta], RII[-1/5, theta], RII[1/5, theta],RII[2/5, theta], RII[-2/5, theta], SII[-2/5, theta], SII[2/5, theta],SII[4/5, theta], SII[-4/5, theta]},{theta,0,2π}, PlotRange->Full]

ParametricPlot[{v1II[theta],v2II[theta]},{theta,0,2π}, PlotRange->Full]

ParametricPlot3D[{cir[theta], cirII[theta], v1[theta/2+Pi/2], v1[theta/2-Pi/2], v2[theta/4],v2[Pi+ theta/4], v3[theta/2], v3[theta/2+Pi], a2[(-Pi+theta)/(Pi)], R[-1/5, theta], R[1/5, theta],R[2/5, theta], R[-2/5, theta], R[3/5, theta], R[-3/5, theta], R[1, theta], R[-1, theta],S[-2/5, theta], S[2/5, theta], S[-2, theta], S[2, theta],S[-1, theta], S[1, theta], S[-4, theta], S[4, theta]},{theta,0,2π}, PlotStyle->{{Black,Thickness[.002]},{Black,Thickness[.002]},{Blue,Thickness[.004]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Red,Thickness[.004]},{Black,Thickness[.001]},{Green,Thickness[.004]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Purple,Thickness[.001]},{Purple,Thickness[.001]},{Purple,Thickness[.001]},{Purple,Thickness[.001]},{Purple,Thickness[.001]},{Purple,Thickness[.001]}, {Purple,Thickness[.001]},{Purple,Thickness[.001]}}, PlotRange->Full, ViewPoint->{2,0.3,0.9}]

Disk1[r_, theta_]:= {r Cos[theta], r Sin[theta], 0}; Disk2[r_, theta_]:= {0, r Cos[theta], r Sin[theta]}

ParametricPlot3D[{cir[theta], cirII[theta], v1[theta/2+Pi/2], v1[theta/2-Pi/2], v2[theta/4],v2[Pi+ theta/4], v3[theta/2], v3[theta/2+Pi], a2[(-Pi+theta)/(Pi)], R[-1/5, theta], R[1/5, theta],R[2/5, theta], R[-2/5, theta], R[3/5, theta], R[-3/5, theta], R[1, theta], R[-1, theta],S[-2/5, theta], S[2/5, theta], S[-2, theta], S[2, theta],S[-1, theta], S[1, theta], S[-4, theta], S[4, theta]},{theta,0,2π}, PlotStyle->{{Black,Thickness[.002]},{Black,Thickness[.002]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Red,Thickness[.004]},{Black,Thickness[.001]},{Green,Thickness[.004]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Purple,Thickness[.001]},{Purple,Thickness[.001]},{Purple,Thickness[.001]},{Purple,Thickness[.001]},{Purple,Thickness[.001]},{Purple,Thickness[.001]}, {Purple,Thickness[.001]},{Purple,Thickness[.001]}}, PlotRange->Full, ViewPoint->{2,0.3,0.9}]

ParametricPlot3D[{cir[theta], cirII[theta], v1[theta/2+Pi/2], v1[theta/2-Pi/2], v2[theta/4],v2[Pi+ theta/4], v3[theta/2], v3[theta/2+Pi], a2[(-Pi+theta)/(Pi)], R[-1/5, theta], R[1/5, theta],R[2/5, theta], R[-2/5, theta], R[3/5, theta], R[-3/5, theta], R[1, theta], R[-1, theta],S[-2/5, theta], S[2/5, theta], S[-2, theta], S[2, theta],S[-1, theta], S[1, theta], S[-4, theta], S[4, theta]},{theta,0,2π}, PlotStyle->{{Black,Thickness[.002]},{Black,Thickness[.002]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Green,Thickness[.004]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Purple,Thickness[.001]},{Purple,Thickness[.001]},{Purple,Thickness[.001]},{Purple,Thickness[.001]},{Purple,Thickness[.001]},{Purple,Thickness[.001]}, {Purple,Thickness[.001]},{Purple,Thickness[.001]}}, PlotRange->Full, ViewPoint->{2,0.3,0.9}]

ParametricPlot3D[{cir[theta], cirII[theta], v1[theta/2+Pi/2], v1[theta/2-Pi/2], v2[theta/4],v2[Pi+ theta/4], v3[theta/2], v3[theta/2+Pi], a2[(-Pi+theta)/(Pi)], R[-1/5, theta], R[1/5, theta],R[2/5, theta], R[-2/5, theta], R[3/5, theta], R[-3/5, theta], R[1, theta], R[-1, theta]},{theta,0,2π}, PlotStyle->{{Black,Thickness[.002]},{Black,Thickness[.002]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Green,Thickness[.004]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]},{Orange,Thickness[.001]}}, PlotRange->Full, ViewPoint->{2,0.3,0.9}]

ParametricPlot3D[{cir[theta], cirII[theta], v1[theta/2+Pi/2], v1[theta/2-Pi/2], v2[theta/4],v2[Pi+ theta/4], v3[theta/2], v3[theta/2+Pi], a2[(-Pi+theta)/(Pi)]},{theta,0,2π}, PlotStyle->{{Black,Thickness[.002]},{Black,Thickness[.002]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Black,Thickness[.001]},{Green,Thickness[.004]}}, PlotRange->Full, ViewPoint->{2,0.3,0.9}]

ParametricPlot3D[{cir[theta], cirII[theta], v2[theta/4],v2[Pi+ theta/4]},{theta,0,2π}, PlotStyle->{{Black,Thickness[.002]},{Black,Thickness[.002]},{Black,Thickness[.001]},{Black,Thickness[.001]}}, PlotRange->{{-1,1},{-1,1},{-1,1}}, ViewPoint->{2,0.3,0.9}]

ParametricPlot3D[{cir[theta], cirII[theta]},{theta,0,2π}, PlotStyle->{{Black,Thickness[.002]},{Black,Thickness[.002]}}, PlotRange->{{-1,1},{-1,1},{-1,1}}, ViewPoint->{2,0.3,0.9}]