{z,w}={Exp[I α]Sin[γ],Exp[I β]Cos[γ]};
SterProj[{z_,w_}]:=Module[{x=Re[z],y=Im[z],u=Re[w],v=Im[w]},{(x/(1-v)),(y/(1-v)),(u/(1-v))}//ComplexExpand]
σ[{z_,w_}]:={w,z}

ZW[γ_,α_,β_]:={Exp[I α]Sin[γ],Exp[I β]Cos[γ]}

Show[ParametricPlot3D[SterProj@ZW[π/4,α,β],{α,0,2π},{β,0,2π},PlotStyle->Opacity[0.4],MeshStyle->None],ParametricPlot3D[SterProj@ZW[π/4, θ,q/p θ],{θ,0,p 2π}]]

p=3;
q=5;

m=p/q;
m2=q/p;
f2[x_]:=
Piecewise[Flatten[Table[{{m (x-2π k/p) - π/(2q),2k π/p≤x≤(2k+1)π/p},{-m (x-2π k/p)+2π/q- π/(2q),(2k+1) π/p≤x≤(2k+2)π/p}},{k,0,p}],{1,2}]]
g2[x_]:=
Piecewise[Flatten[Table[{{m2 (x-2π k/q) - π/(2p),2k π/q≤x≤(2k+1)π/q},{-m2(x-2π k/q)+2π/p- π/(2p),(2k+1) π/q≤x≤(2k+2)π/q}},{k,0,q}],{1,2}]]

plotjunk=((Abs[4/π γ])^4)f2[ β]+2π n/q/.n->0;
Show[ParametricPlot3D[SterProj@ZW[π/4,α,β],{α,0,2π},{β,0,2π},PlotStyle->Opacity[0.2],MeshStyle->None],ParametricPlot3D[SterProj@ZW[π/4, θ,p/q  θ],{θ,0,q 2π}],
ParametricPlot3D[SterProj@ZW[γ, β-π/(p 2),plotjunk ],{γ,0,π/4},{β,0, 2π}]]

plotjunk=((Abs[4/π γ])^4)g2[α]+2π n/p/.n->0;
Show[ParametricPlot3D[SterProj@ZW[π/4,α,β],{α,0,2π},{β,0,2π},PlotStyle->Opacity[0.2],MeshStyle->None,PlotRange->{{-4,4},{-4,4},{-3,3}}],ParametricPlot3D[SterProj@ZW[π/4, θ,p/q  θ],{θ,0,q 2π}],
ParametricPlot3D[SterProj@ZW[γ, plotjunk ,α-π/(q 2)],{γ,0,π/4},{α,0, 2π},PlotPoints->55,MeshStyle->None]]

Show[ParametricPlot3D[SterProj@ZW[π/4,α,β],{α,0,2π},{β,0,2π},PlotStyle->Opacity[0.2],MeshStyle->None],ParametricPlot3D[SterProj@ZW[π/4, θ,p/q  θ],{θ,0,q 2π}],
ParametricPlot3D[SterProj@σ@ZW[γ, β-π/(q 2),inside],{γ,0,π/4},{β,0, 2π},MeshStyle->None,PlotStyle->Blue,PlotPoints->50],
ParametricPlot3D[SterProj@ZW[γ, β-π/(p 2),outside],{γ,0,π/4},{β,0, 2π},MeshStyle->None,PlotStyle->Orange,PlotPoints->50]]

inside=((Abs[4/π γ])^4)g2[ β]+2π n/p;
outside=((Abs[4/π γ])^4)f2[ β]+2π n/q;

insidewashers=Table[SterProj@ZW[γ, β-π/(q 2),inside],{n,0,2}];
insideplot=ParametricPlot3D[insidewashers,{γ,0,π/4},{β,0, 2π},MeshStyle->None,PlotStyle->Blue,Exclusions->None];

outsidewashers=Table[SterProj@σ@ZW[γ, β-π/(p 2),outside],{n,0,4}];
outsideplot=ParametricPlot3D[outsidewashers,{γ,0,π/4},{β,0, 2π},MeshStyle->None,PlotStyle->Orange,Exclusions->None];

torus = ParametricPlot3D[SterProj@ZW[π/4,α,β],{α,0,2π},{β,0,2π},PlotStyle->Opacity[0.2],MeshStyle->None,PlotRange->{{-3,3},{-3,3},{-3,3}},Axes->False,Boxed->False];

knot =ParametricPlot3D[RotationTransform[π/q,{0,0,1}]@SterProj@σ@ZW[π/4,  θ,-p/q θ],{θ,0,q 2π},PlotStyle->{Thick,Green}];

Show[torus,knot,insideplot,outsideplot]

Show[{ParametricPlot3D[SterProj@ZW[π/4,α,β],{α,0,2π},{β,0,2π},PlotStyle->Opacity[0.2],MeshStyle->None],ParametricPlot3D[SterProj@ZW[π/4, θ,p/q  θ],{θ,0,q 2π}],
Table[ParametricPlot3D[SterProj@σ@ZW[γ, β-π/(q 2),inside],{γ,0,π/4},{β,0, 2π},MeshStyle->None,PlotStyle->Blue,PlotPoints->50],{n,0,2}],
Table[ParametricPlot3D[SterProj@ZW[γ, β-π/(p 2),outside],{γ,0,π/4},{β,0, 2π},MeshStyle->None,PlotStyle->Orange,PlotPoints->50],{n,0,3}]}//Flatten]

Show[Table[ParametricPlot3D[SterProj@σ@ZW[γ, β-π/(q 2),inside],{γ,0,π/4},{β,0, 2π},MeshStyle->None,PlotStyle->Blue,PlotPoints->50],{n,0,2}]]

Show[Table[ParametricPlot3D[SterProj@σ@ZW[γ, β-π/(q 2),inside],{γ,0,π/4},{β,0, 2π},MeshStyle->None,PlotStyle->Blue,PlotPoints->50],{n,0,2}]]

RotationTransform[θ,{0,0,1}]

Manipulate[ParametricPlot3D[RotationTransform[a,{0,0,1}]@SterProj@ZW[π/4,p/q (θ), θ],{θ,0,q 2π}],{a,0,2π}]