p[t_, r_, s_, w_, 
        delta_]  :=  {r*Cos[t + delta], -r*Sin[t + delta], 
        s*Cos[w*t], -s*w*Sin[w*t]}

    
energy[{p1_, p2_, p3_, p4_}, 
        w_]  :=  (p1^2 + p2^2 + w^2*p3^2  + p4^2)/
        2

    
setenergy[p_, w_, h_]  := 
      With[{h1 = energy[p, w]},  
        p*Sqrt[h/h1]]


    
project[{p1_, p2_, p3_, p4_}] :=  {p1, 
        p3}

    
stereographicproject[p_, 
        w_] := 
With[{q  =  {p[[1]], p[[2]], 
                p[[3]]/w, p[[4]]}/Sqrt[2*energy[p, w]]}, {q[[1]], 
            q[[2]], 
            q[[3]]}/(1 - q[[4]])]

q[t_] := 
      project[setenergy[p[t, 1, 1, 7/5, 0], 7/5, 
          1]]
pl1 = 
        ParametricPlot[q[t], {t, 0, 50}, PlotPoints -> 500, 
          AspectRatio -> 1, 
          PlotRange -> {{-1, 1}, {-1, 
                1}}];

    
q[t_] := 
      project[setenergy[p[t, 1, 1, 7/5, Pi/4], 7/5, 
          1]]
pl2 = 
        ParametricPlot[q[t], {t, 0, 50}, PlotPoints -> 500, 
          AspectRatio -> 1, 
          PlotRange -> {{-1, 1}, {-1, 
                1}}];

    
q[t_] := 
      project[setenergy[p[t, 1, 1, 7/5, Pi/2], 7/5, 
          1]]
pl3 = 
        ParametricPlot[q[t], {t, 0, 50}, PlotPoints -> 500, 
          AspectRatio -> 1, 
          PlotRange -> {{-1, 1}, {-1, 
                1}}];

    
Show[GraphicsArray[{pl1, pl2, pl3}]];

gr  =  (1 + Sqrt[5])/2;

    
q[t_] := 
      project[setenergy[p[t, 1, 1, gr, 0], gr, 
          0.5]]
pl1 = 
        ParametricPlot[q[t], {t, 0, 100}, PlotPoints -> 1000, 
          AspectRatio -> 1, 
          PlotRange -> {{-1, 1}, {-1, 
                1}}];

    
q[t_] := 
      project[setenergy[p[t, 1, 0.2, gr, 0], gr, 
          0.5]]
pl2 = 
        ParametricPlot[q[t], {t, 0, 100}, PlotPoints -> 1000, 
          AspectRatio -> 1, 
          PlotRange -> {{-1, 1}, {-1, 
                1}}];

    
q[t_] := 
      project[setenergy[p[t, 0.1, 1, gr, 0], gr, 
          0.5]]
pl3 = 
        ParametricPlot[q[t], {t, 0, 100}, PlotPoints -> 1000, 
          AspectRatio -> 1, 
          PlotRange -> {{-1, 1}, {-1, 
                1}}];

    
Show[{pl1, pl2, pl3}];

stereographicproject[
        p_] := 
With[{q  =  {p[[1]], p[[2]], 
                p[[3]], p[[4]]}/Sqrt[p . p]}, {q[[1]], 
            q[[2]], 
            q[[3]]}/(1 - q[[4]])]
torus[t1_, t2_, r_, s_]  :=  {r*Cos[t1], -r*Sin[t1], 
        s*Cos[t2], -s*
          Sin[t2]}

tor1[t1_, t2_]  := 
      stereographicproject[torus[t1, t2, 1, 1]]
pl1  =  
        ParametricPlot3D[tor1[t1, t2], {t1, Pi/4, 3*Pi/2}, {t2, 0, 2*Pi}, 
          PlotPoints -> 40];
tor1[t1_, t2_]  := 
      stereographicproject[torus[t1, t2, 2, 1]]
pl2  =  
        ParametricPlot3D[tor1[t1, t2], {t1, 0, 3*Pi/2}, {t2, 0, 2*Pi}, 
          PlotPoints -> 40];
tor1[t1_, t2_]  := 
      stereographicproject[torus[t1, t2, 4, 1]]
pl3  =  
        ParametricPlot3D[
          tor1[t1, t2], {t1, -Pi/4, 3*Pi/2}, {t2, 0, 2*Pi}, 
          PlotPoints -> 40];
normal1[t1_, t2_]  := 
      stereographicproject[torus[t1, 0, 1, 0]]
pl4  =  
        ParametricPlot3D[normal1[t1, t2], {t1, 0, 2*Pi}, 
          PlotPoints -> 100];

Show[{pl1, pl2, pl3, 
          pl4}, 
BoxRatios -> {1, 1, 1}, 
        ViewPoint -> {3, 7, 5}, Boxed -> False, 
        PlotRange -> {{-2.5, 2.5}, {-2.5, 2.5}, {-2.5, 
              2.5}}, Axes -> False];